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));
    }
}
Exemple #2
0
/*
 * 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);
    }
}