svc_run()

The svc_run() call accepts RPC requests and calls the appropriate service using svc_getreq(). The svc_run() call does not return control to the caller.

Syntax

#include <rpc\rpc.h>

void
svc_run()

Examples

#define RMTPROGNUM   (u_long)0x3fffffffL
#define RMTPROGVER   (u_long)0x1L

...

SVCXPRT *transp;

transp = svcudp_create(RPC_ANYSOCK);
if (transp == NULL)
   {
    fprintf(stderr, "can't create an RPC server transport\n");
    exit(-1);
   }
pmap_unset(RMTPROGNUM, RMTPROGVER);
if (!svc_register(transp, RMTPROGNUM, RMTPROGVER, rmtprog, IPPROTO_UDP))
   {
    fprintf(stderr, "can't register rmtprog() service\n");
    exit(-1);
   }
printf("rmtprog() service registered.\n");

svc_run();

printf("Error:svc_run should never reach this point \n");
exit(1);
...
rmtprog(rqstp, transp)
struct svc_req *rqstp;
SVCXPRT *transp;
 {
 ...
 }

Related Calls


[Back: svc_register()]
[Next: svc_sendreply()]