134ee09551764b045fdc02df754157473125edf60Kevin Tang/*
234ee09551764b045fdc02df754157473125edf60Kevin Tang * Please do not edit this file.
334ee09551764b045fdc02df754157473125edf60Kevin Tang * It was generated using rpcgen.
434ee09551764b045fdc02df754157473125edf60Kevin Tang */
534ee09551764b045fdc02df754157473125edf60Kevin Tang
634ee09551764b045fdc02df754157473125edf60Kevin Tang#include "loc_api_cb.h"
734ee09551764b045fdc02df754157473125edf60Kevin Tang#include <stdio.h>
834ee09551764b045fdc02df754157473125edf60Kevin Tang#include <stdlib.h>
934ee09551764b045fdc02df754157473125edf60Kevin Tang#include <rpc/pmap_clnt.h>
1034ee09551764b045fdc02df754157473125edf60Kevin Tang#include <string.h>
1134ee09551764b045fdc02df754157473125edf60Kevin Tang#include <memory.h>
1234ee09551764b045fdc02df754157473125edf60Kevin Tang#include <sys/socket.h>
1334ee09551764b045fdc02df754157473125edf60Kevin Tang#include <netinet/in.h>
1434ee09551764b045fdc02df754157473125edf60Kevin Tang
1534ee09551764b045fdc02df754157473125edf60Kevin Tang#ifndef SIG_PF
1634ee09551764b045fdc02df754157473125edf60Kevin Tang#define SIG_PF void(*)(int)
1734ee09551764b045fdc02df754157473125edf60Kevin Tang#endif
1834ee09551764b045fdc02df754157473125edf60Kevin Tang
1934ee09551764b045fdc02df754157473125edf60Kevin Tangvoid
2034ee09551764b045fdc02df754157473125edf60Kevin Tangloc_apicbprog_0x00010001(struct svc_req *rqstp, register SVCXPRT *transp)
2134ee09551764b045fdc02df754157473125edf60Kevin Tang{
2234ee09551764b045fdc02df754157473125edf60Kevin Tang	union {
2334ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_event_cb_f_type_args rpc_loc_event_cb_f_type_0x00010001_arg;
2434ee09551764b045fdc02df754157473125edf60Kevin Tang	} argument;
2534ee09551764b045fdc02df754157473125edf60Kevin Tang	union {
2634ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_event_cb_f_type_rets rpc_loc_event_cb_f_type_0x00010001_res;
2734ee09551764b045fdc02df754157473125edf60Kevin Tang	} result;
2834ee09551764b045fdc02df754157473125edf60Kevin Tang	bool_t retval;
2934ee09551764b045fdc02df754157473125edf60Kevin Tang	xdrproc_t _xdr_argument, _xdr_result;
3034ee09551764b045fdc02df754157473125edf60Kevin Tang	bool_t (*local)(char *, void *, struct svc_req *);
3134ee09551764b045fdc02df754157473125edf60Kevin Tang
3234ee09551764b045fdc02df754157473125edf60Kevin Tang	switch (rqstp->rq_proc) {
3334ee09551764b045fdc02df754157473125edf60Kevin Tang	case NULLPROC:
3434ee09551764b045fdc02df754157473125edf60Kevin Tang		(void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL);
3534ee09551764b045fdc02df754157473125edf60Kevin Tang		return;
3634ee09551764b045fdc02df754157473125edf60Kevin Tang
3734ee09551764b045fdc02df754157473125edf60Kevin Tang	case rpc_loc_event_cb_f_type:
3834ee09551764b045fdc02df754157473125edf60Kevin Tang		_xdr_argument = (xdrproc_t) xdr_rpc_loc_event_cb_f_type_args;
3934ee09551764b045fdc02df754157473125edf60Kevin Tang		_xdr_result = (xdrproc_t) xdr_rpc_loc_event_cb_f_type_rets;
4034ee09551764b045fdc02df754157473125edf60Kevin Tang		local = (bool_t (*) (char *, void *,  struct svc_req *))rpc_loc_event_cb_f_type_0x00010001_svc;
4134ee09551764b045fdc02df754157473125edf60Kevin Tang		break;
4234ee09551764b045fdc02df754157473125edf60Kevin Tang
4334ee09551764b045fdc02df754157473125edf60Kevin Tang	default:
4434ee09551764b045fdc02df754157473125edf60Kevin Tang		svcerr_noproc (transp);
4534ee09551764b045fdc02df754157473125edf60Kevin Tang		return;
4634ee09551764b045fdc02df754157473125edf60Kevin Tang	}
4734ee09551764b045fdc02df754157473125edf60Kevin Tang	memset ((char *)&argument, 0, sizeof (argument));
4834ee09551764b045fdc02df754157473125edf60Kevin Tang	if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) {
4934ee09551764b045fdc02df754157473125edf60Kevin Tang		svcerr_decode (transp);
5034ee09551764b045fdc02df754157473125edf60Kevin Tang		return;
5134ee09551764b045fdc02df754157473125edf60Kevin Tang	}
5234ee09551764b045fdc02df754157473125edf60Kevin Tang	retval = (bool_t) (*local)((char *)&argument, (void *)&result, rqstp);
5334ee09551764b045fdc02df754157473125edf60Kevin Tang	if (retval > 0 && !svc_sendreply(transp, (xdrproc_t) _xdr_result, (char *)&result)) {
5434ee09551764b045fdc02df754157473125edf60Kevin Tang		svcerr_systemerr (transp);
5534ee09551764b045fdc02df754157473125edf60Kevin Tang	}
5634ee09551764b045fdc02df754157473125edf60Kevin Tang	if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) {
5734ee09551764b045fdc02df754157473125edf60Kevin Tang		fprintf (stderr, "%s", "unable to free arguments");
5834ee09551764b045fdc02df754157473125edf60Kevin Tang		exit (1);
5934ee09551764b045fdc02df754157473125edf60Kevin Tang	}
6034ee09551764b045fdc02df754157473125edf60Kevin Tang	if (!loc_apicbprog_0x00010001_freeresult (transp, _xdr_result, (caddr_t) &result))
6134ee09551764b045fdc02df754157473125edf60Kevin Tang		fprintf (stderr, "%s", "unable to free results");
6234ee09551764b045fdc02df754157473125edf60Kevin Tang
6334ee09551764b045fdc02df754157473125edf60Kevin Tang	return;
6434ee09551764b045fdc02df754157473125edf60Kevin Tang}
65