#include #include #include #include #include #define STACK_SIZE (CYGNUM_HAL_STACK_SIZE_TYPICAL + 0x10000) static char stack[STACK_SIZE]; static cyg_thread thread_data; static cyg_handle_t thread_handle; int yourtest(void) { int rc; struct sockaddr_in servAddr; int socketId; char * srvIpAddress = "130.30.174.109"; int port = 5297; /* Server side */ bzero(&servAddr, sizeof(servAddr)); servAddr.sin_family = AF_INET; inet_aton(srvIpAddress, &servAddr.sin_addr); servAddr.sin_port = htons(port); /* create socket */ socketId = socket(AF_INET, SOCK_STREAM, 0); if (socketId < 0) { return( -1 ); } /* connect to server */ rc = connect(socketId, (struct sockaddr *) &servAddr, sizeof(servAddr)); if (rc<0) { close(socketId); socketId = 0; perror("connect"); return(-1); } return(socketId); } void myfunc(cyg_addrword_t data) { init_all_network_interfaces(); yourtest(); } void cyg_start(void) { CYG_TEST_INIT(); cyg_thread_create(3, // Priority myfunc, // entry 0, // entry parameter "Test program", // Name &stack[0], // Stack STACK_SIZE, // Size &thread_handle, // Handle &thread_data // Thread data structure ); cyg_thread_resume(thread_handle); // Start it cyg_scheduler_start(); }