Ejemplo n.º 1
0
/*-------------------------------------------------------------------*/
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;
}
Ejemplo n.º 2
0
Archivo: serveur.c Proyecto: Eneru/l3s6
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 ! */
}
Ejemplo n.º 3
0
Archivo: rpc.c Proyecto: kento/Samples
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();
}
Ejemplo n.º 4
0
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 ;
}
Ejemplo n.º 5
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 ! */
}
Ejemplo n.º 6
0
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;
}
Ejemplo n.º 7
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;
}
Ejemplo n.º 8
0
//! @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;
}
Ejemplo n.º 9
0
int main()                                                                      
{                                                                               
    registerrpc(PROG, VERS, PROC_NUM, func, xdr_nodst, xdr_int);                
    svc_run();                                                                  
} 
Ejemplo n.º 10
0
int main()                                                                      
{                                                                               
    registerrpc(PROG, VERS, PROC_NUM, func, xdr_rst, xdr_buf);                
    svc_run();                                                                  
}