/***************************************************************************** * task_body_pkt_non_blocking *****************************************************************************/ void task_body_pkt_non_blocking(int task_id, void* input_data, int input_data_size) { echo_driver(task_id, setup_pkt_channels, write_mcapi_pkt_a, read_mcapi_pkt_a, finalize_mcapi); }
/***************************************************************************** * task_body_sockets_blocking *****************************************************************************/ void task_body_sockets_blocking(int task_id, void* input_data, int input_data_size) { echo_driver(task_id, NULL, write_fds, read_fds, NULL); }
/***************************************************************************** * task_body_msg_non_blocking *****************************************************************************/ void task_body_msg_non_blocking(int task_id, void* input_data, int input_data_size) { echo_driver(task_id, setup_echo_endpoints, write_mcapi_msg_a, read_mcapi_msg_a, finalize_mcapi); }
/***************************************************************************** * task_body_scalar_blocking *****************************************************************************/ void task_body_scalar_blocking(int task_id, void* input_data, int input_data_size) { echo_driver(task_id, setup_scalar_channels, write_mcapi_scalar, read_mcapi_scalar, finalize_mcapi); }
main() { int fd; struct sockaddr_in my_addr; struct sockaddr_in serv_addr; char buf[128]; void echo_driver(int, struct sockaddr_in *); if ((fd = net_open ("/dev/udp", O_RDWR)) < 0) { fprintf (stderr, "open failed.\n"); exit (-1); } /* * bind any address to us. */ bzero((char *) &my_addr, sizeof(my_addr)); my_addr.sin_family = AF_INET; my_addr.sin_addr.s_addr = htonl (INADDR_ANY); my_addr.sin_port = htons(0); fd = net_bind (fd, &my_addr, sizeof (struct sockaddr_in)); /* * set up server's address */ bzero((char *) &serv_addr, sizeof(serv_addr)); serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = inet_addr (SERV_HOST_ADDR); serv_addr.sin_port = htons(SERV_TCP_PORT); echo_driver (fd, &serv_addr); close (fd); exit (0); }