#include "server.h" int DROP_UDP_SERVER(const int pPort, int* pListenSock, struct sockaddr_in* pInfo){ if( DEBUGMOD&HDR ) printf("====== DROP_UDP_SERVER(%d, %p) ======\n\n", pPort, (void*) pListenSock); /* [0] Initialisation des variables =========================================================*/ // CREATION int STATUS; // status // INITIALISATION *pListenSock = -1; /* [1] Création de la socket =======================================================*/ *pListenSock = socket(AF_INET, SOCK_DGRAM, 0); if( DEBUGMOD&SCK ) printf(" * [drop_udp_server] socket: %d\n", *pListenSock); // si erreur if( *pListenSock < 0 ) return -1; /* [2] On définit les infos de la socket =========================================================*/ /* (1) Reset des valeurs */ bzero(pInfo, sizeof(struct sockaddr_in)); /* (2) On définit les infos */ pInfo->sin_family = AF_INET; pInfo->sin_port = htons(pPort); pInfo->sin_addr.s_addr = htonl(INADDR_ANY); /* [3] On publie la SOCKET =======================================================*/ STATUS = bind(*pListenSock, (struct sockaddr*) pInfo, sizeof(struct sockaddr_in)); if( DEBUGMOD&SCK ) printf(" * [drop_udp_server] bind: %d\n", STATUS); // si erreur if( STATUS < 0 ) return -1; /* [n] Code succès =========================================================*/ return 0; }