#define MNGT_CLIENT_UDP_PORT 33333
#define MNGT_SERVER_UDP_PORT 33334
+enum manager_mode_t{
+ FWP_CLIENT = 0,
+ FWP_SERVER = 1,
+};
+
/*
* Global variables
* */
+enum manager_mode_t mode;
struct fwp_msgq msgq_negotiate;
struct fwp_ctable ctable_negotiate;
int lsockfd_un, lsockfd_in;
int psockfd_un;
fdset fset;
+ undigned int code, hid;
fwp_negotiate_msg_t msg;
}
- if (bind(lsockfd_in, (struct sockaddr *)&laddr_in, sizeof(laddr_in)) == -1) {
+ if (bind(lsockfd_in, (struct sockaddr *)&laddr_in,
+ sizeof(laddr_in)) == -1) {
/*perror("Chyba v bind");*/
goto out;
}
}
}
- code = *buff;
- if (!code_valid(code))
- continue;
+ msgb = fwp_msgb_alloc(len);
+ memcpy(msgb->addr, (struct sockaddr*)&peer_addr, peer_addrlen);
+ msgb->addrlen = peer_addrlen;
+ memcpy(msgb->buf_start, buffer, len);
+ msgb->len = len;
+
+ fwp_msg_header_pull(msgb, &code, &hid);
+
if ((code == NEGOTIATE_REQUEST)||(code == NEGOTIATE_RESPONSE))
- /*producent-consument*/
- fwp_msgq_enqueue(negotiate_msgq, &peer_addr,
- peer_addrlen, (void*)buffer, len);
+ fwp_msgq_enqueue(&msgq_negotiate,msgb);
else
printf("Error: not valid negotiate frame\n");
/* fwp_msgq_enqueue(mngt_msgq, &peer_addr,
}
}
-/* Handles non-negotiate cotrol messages */
-/*void ctrl_thread()
+int main(char* argv[], int argc)
{
-
-}
-*/
+ mode = argv[1];
+
+}
/* depends on queuing policy specifies in endpoint */
msgq->last = (msgq->last++) % FWP_MSGQ_SIZE;
-
+ /* osetrit preteceni*/
+
msgq->queue[msgq->last] = msgb;
msgq->nr_pending++;
/* release queue mutex */
{
struct fwp_msgb* msgb;
- msgb = msgq->queue[msgq->first];
/* acquire queue mutex */
+ /*setrit podpteceni*/
+ msgb = msgq->queue[msgq->first];
msgq->first++;
msgq->nr_pending--;
/* release queue mutex */