2 * \file fwp_sendrecv_test1.c
4 * This a test application that:
5 * - creates two vres without negotiation
6 * - creates send and receive endpoint
7 * - binds that endpoint to vres
13 #define CONFIGURE_FWP_MNGT 0
14 #include "fwp_confdefs.h"
19 #include <arpa/inet.h>
23 // struct sockaddr_in local_addr, rem_addr, from;
25 fwp_vres_d_t vres_d1, vres_d2;
27 struct fwp_vres_params vparam1, vparam2;
28 char msg1[] = "Hello1";
29 char msg2[] = "Hello2";
31 fwp_endpoint_d_t sepoint_d1, sepoint_d2, repoint_d1, repoint_d2;
32 fwp_endpoint_attr_t attr;
35 fwp_endpoint_attr_init(&attr);
37 vparam1.ac_id = FWP_AC_VO;
39 vparam1.period.tv_sec = 2;
40 vparam1.period.tv_nsec = 0;
42 vparam2.ac_id = FWP_AC_BK;
44 vparam2.period.tv_sec = 0;
45 vparam2.period.tv_nsec = 100000;
50 printf("Create vres1, vres2\n");
51 if (fwp_vres_create(&vparam1, &vres_d1) < 0) {
52 printf("Unable to create vres1\n");
55 printf("Vres1 created \n");
57 if (fwp_vres_create(&vparam2, &vres_d2) < 0){
58 fprintf(stderr,"Unable to create vres2\n");
61 printf("Vres2 created\n");
63 /* local_addr should be handled when creating socket */
64 if (fwp_receive_endpoint_create(7777, &attr,&repoint_d1) < 0){
67 printf("Receive endpoint created\n");
69 if (fwp_receive_endpoint_create(7778, &attr,&repoint_d2) < 0){
72 printf("Receive endpoint created\n");
74 if (fwp_send_endpoint_create(inet_addr("127.0.0.1"), 7777, 0,
78 printf("Send endpoint 1 created\n");
79 fwp_send_endpoint_bind(sepoint_d1, vres_d1);
81 if (fwp_send_endpoint_create(inet_addr("127.0.0.1"), 7778, 0,
85 printf("Send endpoint 2 created\n");
86 fwp_send_endpoint_bind(sepoint_d2, vres_d2);
88 fwp_send(sepoint_d1, msg1, sizeof(msg1), 0);
89 fwp_send(sepoint_d1, msg2, sizeof(msg2), 0);
91 for (i = 0; i < 2; i++) {
92 if ((len = fwp_recv(repoint_d1, buffer, sizeof(buffer), &from,
94 perror("Error while receiving data");
97 else printf("Received - %s\n", buffer);
100 if (fwp_vres_destroy(vres_d1) < 0) {
101 perror("Unable to destroy vres1\n");
104 printf("Vres1 destroyed\n");
106 if (fwp_vres_destroy(vres_d2) < 0){
107 perror("Unable to destroy vres2\n");
110 printf("Vres2 destroyed\n");
112 printf("Test PASSED!\n");