int main(int argc, char**argv) { pointer_to_function = &one_function; int sockfd,n; struct sockaddr_in servaddr,cliaddr; socklen_t len; sockfd=socket(AF_INET,SOCK_DGRAM,0); bzero(&servaddr,sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(32000); bind(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr)); for (;;) { len = sizeof(cliaddr); n = recvfrom(sockfd,mesg,1000,0,(struct sockaddr *)&cliaddr,&len); mesg[n] = 0; printf(">>%s<<\n", mesg); pointer_to_function(); n = strlen(response); sendto(sockfd,response,n,0,(struct sockaddr *)&cliaddr,sizeof(cliaddr)); } }
/* * traverses the tree in the direction in-order and calls the * pointer_to_function-Function for every node in the tree (recursive) * @param root_ptr treeroot * @param pointer_to_function the function that should be applied on every node */ void inorder(Competitor_ptr_t * root_ptr, void (*pointer_to_function)(Competitor_ptr_t)) { if (LOG_DEBUG) { printf("DEBUG: inorder Sort\n"); } if (*root_ptr != NULL) { inorder(&(*root_ptr) -> left, pointer_to_function); pointer_to_function(*root_ptr); inorder(&(*root_ptr) -> right, pointer_to_function); } }