]> rtime.felk.cvut.cz Git - frescor/fwp.git/commitdiff
Added fiel for fwp endpoint imlementation
authorMartin Molnar <molnar@sum.(none)>
Mon, 28 Jan 2008 18:13:32 +0000 (19:13 +0100)
committerMartin Molnar <molnar@sum.(none)>
Mon, 28 Jan 2008 18:13:32 +0000 (19:13 +0100)
fwp/libfwp/include/fwp_endpoint.h [new file with mode: 0644]
fwp/libfwp/include/fwp_proto.h
fwp/libfwp/src/fwp_endpoint.c [new file with mode: 0644]
fwp/libfwp/src/fwp_msgb.c
fwp/libfwp/src/fwp_proto.c
fwp/tests/fwp_mngrtest/fwp_mngrtest.c

diff --git a/fwp/libfwp/include/fwp_endpoint.h b/fwp/libfwp/include/fwp_endpoint.h
new file mode 100644 (file)
index 0000000..2e87597
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef _FWP_ENDPOINT_H
+#define _FWP_ENDPOINT_H
+
+struct fwp_endpoint{
+       node;
+       port;
+       int sockd;
+       struct sockaddr addr;
+
+}
+
+
+#endif /*_FWP_ENDPOINT_H */ 
index 019d0c16ae9e0a4046cf1a8e5c0601950841813b..f3f124f2841e20c16c8a4796cb2a0c9f35657717 100644 (file)
@@ -13,7 +13,7 @@ ssize_t fwp_recv(int sockfd, void *buffer, size_t buffer_size, int flags,
 int fwp_send(unsigned int vres_id, void *buffer, size_t size, int flags, 
             struct sockaddr *to, socklen_t tolen);
 
-int fwp_contract_negotiate (struct fwp_contract *contract);
+int fwp_contract_negotiate (struct fwp_contract *contract, int *vres_id);
 
 int fwp_contract_cancel(unsigned int vres_id);
 
diff --git a/fwp/libfwp/src/fwp_endpoint.c b/fwp/libfwp/src/fwp_endpoint.c
new file mode 100644 (file)
index 0000000..fc93471
--- /dev/null
@@ -0,0 +1,35 @@
+
+struct fwp_endpoint* fwp_endpoint_create(int pf, struct sockaddr *_addr, socklen_t _addrlen)
+{
+       struct fwp_socket* fwpsock;
+       unsigned char *addr;
+
+       
+       
+       
+       fwpsock = (struct fwp_socket*) malloc(sizeof(struct fwp_socket) + 
+                                             _addrlen);
+       if (!fwpsock)
+               return NULL;
+       
+       addr = (unsigned char*) fwpsock + sizeof(struct fwp_socket);
+       memcpy(addr, (void*) _addr, _addrlen);
+
+       fwpsock->addr = (struct sockaddr*) addr;
+       fwpsock->addrlen = _addrlen;
+
+       return fwpsock;
+}
+
+inline void fwp_socket_set(struct fwp_socket *fwpsock, struct sockaddr *_addr, 
+                                 socklen_t _addrlen)
+{      
+       fwpsock->addr = _addr;
+       fwpsock->addrlen = _addrlen;
+}
+
+void fwp_socket_free(struct fwp_socket *fwpsock)
+{
+       free((void*)fwpsock);
+       fwpsock = NULL;
+}
index dd082389fc6d815e78bc64d80f32a7c067dd3594..59861c5c9f3cf1d14daa0deef245e84c46d22723 100644 (file)
@@ -79,11 +79,19 @@ inline void fwp_msgb_reset_data(struct fwp_msgb* msgb)
        msgb->tail = msgb->data;
 }
 
+
+/* reserve is called first then push */
+/*void fwp_msgb_reserve(struct msgb* msgb, unsigned int len)
+{
+       msgb->data+=len;
+       msgb->tail+=len;
+}*/
+
 struct fwp_socket* fwp_socket_create(struct sockaddr *_addr, socklen_t _addrlen)
 {
        struct fwp_socket* fwpsock;
        unsigned char *addr;
-
+       
        fwpsock = (struct fwp_socket*) malloc(sizeof(struct fwp_socket) + 
                                              _addrlen);
        if (!fwpsock)
@@ -110,10 +118,3 @@ void fwp_socket_free(struct fwp_socket *fwpsock)
        free((void*)fwpsock);
        fwpsock = NULL;
 }
-
-/* reserve is called first then push */
-/*void fwp_msgb_reserve(struct msgb* msgb, unsigned int len)
-{
-       msgb->data+=len;
-       msgb->tail+=len;
-}*/
index 2a4ac3982cae8ffef9f932753ce4c3539847dfae..bede4ce6781f2382e5b8f35ac132ca5c06b53070 100644 (file)
@@ -161,6 +161,9 @@ int fwp_contract_negotiate(struct fwp_contract *contract, int *vres_id)
        return 0;
 }
 
+/**
+ *Incomplete
+ */
 int fwp_contract_cancel(unsigned int vres_id)
 {
        return fwp_vres_close(vres_id);
index e15bc6309281306b31e64c301b77fe78f3f340eb..4e3ac297371f0b3b5770fa521095aca6cf378255 100644 (file)
@@ -7,7 +7,7 @@
 
 int main()
 {
-       int i,rc;
+       int i,rc, vres_id;
        struct fwp_contract cnt1;
        struct fwp_contract cnt2;
 
@@ -24,19 +24,19 @@ int main()
        printf("Start\n");
        fwp_init();
        
-       rc = fwp_contract_negotiate(&cnt1);
+       rc = fwp_contract_negotiate(&cnt1, &vres_id);
        if (cnt1.status == FWP_CNT_NEGOTIATED) {
                printf("Contract 1 negotiated\n");
        } else 
                printf("Contract 1 rejected.\n");
        
-       rc = fwp_contract_negotiate(&cnt2);
+       rc = fwp_contract_negotiate(&cnt2, &vres_id);
        if (cnt2.status == FWP_CNT_NEGOTIATED) {
                printf("Contract 2 negotiated\n");
        } else 
                printf("Contract 2  rejected.\n");
        
-       rc = fwp_contract_negotiate(&cnt1);
+       rc = fwp_contract_negotiate(&cnt1, &vres_id);
        if (cnt1.status == FWP_CNT_NEGOTIATED) {
                printf("Contract 3 negotiated\n");
        } else