/*-------------------------------------------------------------------*/ int main(void){ Print (("start B\n")); /*rejestracja funkcji wywolywanych zdalnie */ assert (registerrpc(PROGNUM, VERSNUM, SENDNUM, (char*(*)())get_string, (int(*)())xdr_napis, (int(*)())xdr_void) == 0); assert (registerrpc(PROGNUM, VERSNUM, RECVNUM, (char*(*)())ret, (int(*)())xdr_void, (int(*)())xdr_napis) == 0); /*przejscie procesu w stan oczekiwania*/ Print (("Start svc\n")); svc_run(); return 0; }
int main (void) { bool_t stat; stat = registerrpc(PROGNUM,VERSNUM,PROCNUM,divise,(xdrproc_t)xdr_entiers2,(xdrproc_t)xdr_entiers2); if (stat != 0) { fprintf(stderr,"Echec de l'enregistrement\n"); exit(1); } svc_run(); /* le serveur est en attente de clients eventuels */ return(0); /* on y passe jamais ! */ }
int main () { bool_t xdr_rls(); char *do_rls(); int a; while(1) { printf("%d\n" ,a); usleep(10); } registerrpc(RLS_PROG, RLS_VER, RLS_PROC, do_rls, xdr_rls, xdr_rls); svc_run(); }
int main (void) { registerrpc(/* prognum */ PROGNUM, /* versnum */ VERSNUM, /* procnum */ PROCNUM, /* pointer on function */ proc_dist, /* argument decoding */ (xdrproc_t)xdr_int, /* function result encoding */ (xdrproc_t)xdr_int) ; svc_run() ; /* server ready for clients */ return 0 ; }
int main (void) { bool_t stat; stat = registerrpc(/* prognum */ PROGNUM, /* versnum */ VERSNUM, /* procnum */ PROCNUM, /* pointeur sur fonction */ proc_dist, /* decodage arguments */ (xdrproc_t)xdr_int, /* encodage retour de fonction */ (xdrproc_t)xdr_int); if (stat != 0) { fprintf(stderr,"Echec de l'enregistrement\n"); exit(1); } svc_run(); /* le serveur est en attente de clients eventuels */ return(0); /* on y passe jamais ! */ }
int main (int argc, char ** argv ) { char buf[TBUFF]; int sockfd; struct sockaddr_in dest; socklen_t addrlen; registerrpc(PROGNUM, VERSNUM,1 ,modifier, xdr_grille, xdr_grille); if( argc != 3 ) { printf("Usage %s <serv_addr> <port_number>\n", argv[0]); exit(EXIT_FAILURE); } if( (sockfd=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP) ) == -1 ) { perror("Echèc à la création de la socket."); exit(EXIT_FAILURE); } dest.sin_family = AF_INET; dest.sin_port = htons(strtol(argv[2], NULL, 10) ); addrlen = sizeof(struct sockaddr_in); if( inet_pton( AF_INET, argv[1], &dest.sin_addr) != 1 ) { printf("inet_pton echoue\n"); close(sockfd); exit(EXIT_FAILURE); } memset(buf, '\0', sizeof(char)*TBUFF); strcpy(buf, "Je suis là"); if( sendto( sockfd, buf, strlen(buf), 0, (struct sockaddr*)&dest, addrlen) == -1 ) { close(sockfd); exit(EXIT_FAILURE); } close(sockfd); printf("En attente de demande de traitement\n"); svc_run(); return 0; }
int main(int argn, char *argc[]) { //Program parameters : argc[1] : HostName or Host IP // argc[2] : Server Program Number // other arguments depend on test case //run_mode can switch into stand alone program or program launch by shell script //1 : stand alone, debug mode, more screen information //0 : launch by shell script as test case, only one printf -> result status int run_mode = 0; int test_status = 1; //Default test result set to FAILED int progNum = atoi(argc[2]); SVCXPRT *svcr = NULL; int rslt; //Initialisation pmap_unset(progNum, VERSNUM); //create a server svcr = svcudp_create(RPC_ANYSOCK); //call routine rslt = registerrpc(progNum, VERSNUM, PROCNUM, simplePing, xdr_int, xdr_int); if (run_mode) { printf("SVC : %d\n", svcr); printf("rslt : %d\n", rslt); } test_status = (rslt == 0) ? 0 : 1; //clean up svc_destroy(svcr); //This last printf gives the result status to the tests suite //normally should be 0: test has passed or 1: test has failed printf("%d\n", test_status); return test_status; }
//! @brief main function //! @param argc The number of arguments entered on the command line //! @param argv A tabular of the arguments entered on the command line //! @return An error code int main(int argc, char** argv) { char failed; // rpc registered successfull? /* Arming SIG_TERM signal */ signal(2, clean_terminus); /* Registering RPC server */ printf("Registering RPC server...\n"); failed = registerrpc(NUMERO_PROG, NUMERO_VERSION, REGISTER_NB, register_on_server, xdr_request, xdr_response); if(failed) { /* Registering failed */ fprintf(stderr, "Failed to register rpc server\n"); exit(1); } /* Running RPC server */ svc_run(); /* Unregistering RPC server */ svc_unregister(NUMERO_PROG, NUMERO_VERSION); return 0; }
int main() { registerrpc(PROG, VERS, PROC_NUM, func, xdr_nodst, xdr_int); svc_run(); }
int main() { registerrpc(PROG, VERS, PROC_NUM, func, xdr_rst, xdr_buf); svc_run(); }