1e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo/* Copyright (c) 2011, The Linux Foundation. All rights reserved. 234ee09551764b045fdc02df754157473125edf60Kevin Tang * 334ee09551764b045fdc02df754157473125edf60Kevin Tang * Redistribution and use in source and binary forms, with or without 434ee09551764b045fdc02df754157473125edf60Kevin Tang * modification, are permitted provided that the following conditions are 534ee09551764b045fdc02df754157473125edf60Kevin Tang * met: 634ee09551764b045fdc02df754157473125edf60Kevin Tang * * Redistributions of source code must retain the above copyright 734ee09551764b045fdc02df754157473125edf60Kevin Tang * notice, this list of conditions and the following disclaimer. 834ee09551764b045fdc02df754157473125edf60Kevin Tang * * Redistributions in binary form must reproduce the above 934ee09551764b045fdc02df754157473125edf60Kevin Tang * copyright notice, this list of conditions and the following 1034ee09551764b045fdc02df754157473125edf60Kevin Tang * disclaimer in the documentation and/or other materials provided 1134ee09551764b045fdc02df754157473125edf60Kevin Tang * with the distribution. 12e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo * * Neither the name of The Linux Foundation nor the names of its 1334ee09551764b045fdc02df754157473125edf60Kevin Tang * contributors may be used to endorse or promote products derived 1434ee09551764b045fdc02df754157473125edf60Kevin Tang * from this software without specific prior written permission. 1534ee09551764b045fdc02df754157473125edf60Kevin Tang * 1634ee09551764b045fdc02df754157473125edf60Kevin Tang * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 1734ee09551764b045fdc02df754157473125edf60Kevin Tang * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 1834ee09551764b045fdc02df754157473125edf60Kevin Tang * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 1934ee09551764b045fdc02df754157473125edf60Kevin Tang * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 2034ee09551764b045fdc02df754157473125edf60Kevin Tang * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2134ee09551764b045fdc02df754157473125edf60Kevin Tang * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2234ee09551764b045fdc02df754157473125edf60Kevin Tang * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 2334ee09551764b045fdc02df754157473125edf60Kevin Tang * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 2434ee09551764b045fdc02df754157473125edf60Kevin Tang * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 2534ee09551764b045fdc02df754157473125edf60Kevin Tang * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 2634ee09551764b045fdc02df754157473125edf60Kevin Tang * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2734ee09551764b045fdc02df754157473125edf60Kevin Tang * 2834ee09551764b045fdc02df754157473125edf60Kevin Tang */ 2934ee09551764b045fdc02df754157473125edf60Kevin Tang/* 3034ee09551764b045fdc02df754157473125edf60Kevin Tang * Please do not edit this file. 3134ee09551764b045fdc02df754157473125edf60Kevin Tang * It was generated using rpcgen. 3234ee09551764b045fdc02df754157473125edf60Kevin Tang */ 3334ee09551764b045fdc02df754157473125edf60Kevin Tang 3434ee09551764b045fdc02df754157473125edf60Kevin Tang#include "loc_api_rpcgen_cb_rpc.h" 3534ee09551764b045fdc02df754157473125edf60Kevin Tang#include <stdio.h> 3634ee09551764b045fdc02df754157473125edf60Kevin Tang#include <stdlib.h> 3734ee09551764b045fdc02df754157473125edf60Kevin Tang#include <rpc/pmap_clnt.h> 3834ee09551764b045fdc02df754157473125edf60Kevin Tang#include <string.h> 3934ee09551764b045fdc02df754157473125edf60Kevin Tang#include <memory.h> 4034ee09551764b045fdc02df754157473125edf60Kevin Tang#include <sys/socket.h> 4134ee09551764b045fdc02df754157473125edf60Kevin Tang#include <netinet/in.h> 4234ee09551764b045fdc02df754157473125edf60Kevin Tang 4334ee09551764b045fdc02df754157473125edf60Kevin Tang#ifndef SIG_PF 4434ee09551764b045fdc02df754157473125edf60Kevin Tang#define SIG_PF void(*)(int) 4534ee09551764b045fdc02df754157473125edf60Kevin Tang#endif 4634ee09551764b045fdc02df754157473125edf60Kevin Tang 4734ee09551764b045fdc02df754157473125edf60Kevin Tangvoid 4834ee09551764b045fdc02df754157473125edf60Kevin Tangloc_apicbprog_0x00050001(struct svc_req *rqstp, register SVCXPRT *transp) 4934ee09551764b045fdc02df754157473125edf60Kevin Tang{ 5034ee09551764b045fdc02df754157473125edf60Kevin Tang union { 5134ee09551764b045fdc02df754157473125edf60Kevin Tang rpc_loc_event_cb_f_type_args rpc_loc_event_cb_f_type_0x00050001_arg; 5234ee09551764b045fdc02df754157473125edf60Kevin Tang } argument; 5334ee09551764b045fdc02df754157473125edf60Kevin Tang union { 5434ee09551764b045fdc02df754157473125edf60Kevin Tang rpc_loc_event_cb_f_type_rets rpc_loc_event_cb_f_type_0x00050001_res; 5534ee09551764b045fdc02df754157473125edf60Kevin Tang } result; 5634ee09551764b045fdc02df754157473125edf60Kevin Tang bool_t retval; 5734ee09551764b045fdc02df754157473125edf60Kevin Tang xdrproc_t _xdr_argument, _xdr_result; 5834ee09551764b045fdc02df754157473125edf60Kevin Tang bool_t (*local)(char *, void *, struct svc_req *); 5934ee09551764b045fdc02df754157473125edf60Kevin Tang 6034ee09551764b045fdc02df754157473125edf60Kevin Tang switch (rqstp->rq_proc) { 6134ee09551764b045fdc02df754157473125edf60Kevin Tang case NULLPROC: 6234ee09551764b045fdc02df754157473125edf60Kevin Tang (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); 6334ee09551764b045fdc02df754157473125edf60Kevin Tang return; 6434ee09551764b045fdc02df754157473125edf60Kevin Tang 6534ee09551764b045fdc02df754157473125edf60Kevin Tang case rpc_loc_event_cb_f_type: 6634ee09551764b045fdc02df754157473125edf60Kevin Tang _xdr_argument = (xdrproc_t) xdr_rpc_loc_event_cb_f_type_args; 6734ee09551764b045fdc02df754157473125edf60Kevin Tang _xdr_result = (xdrproc_t) xdr_rpc_loc_event_cb_f_type_rets; 6834ee09551764b045fdc02df754157473125edf60Kevin Tang local = (bool_t (*) (char *, void *, struct svc_req *))rpc_loc_event_cb_f_type_0x00050001_svc; 6934ee09551764b045fdc02df754157473125edf60Kevin Tang break; 7034ee09551764b045fdc02df754157473125edf60Kevin Tang 7134ee09551764b045fdc02df754157473125edf60Kevin Tang default: 7234ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_noproc (transp); 7334ee09551764b045fdc02df754157473125edf60Kevin Tang return; 7434ee09551764b045fdc02df754157473125edf60Kevin Tang } 7534ee09551764b045fdc02df754157473125edf60Kevin Tang memset ((char *)&argument, 0, sizeof (argument)); 7634ee09551764b045fdc02df754157473125edf60Kevin Tang if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { 7734ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_decode (transp); 7834ee09551764b045fdc02df754157473125edf60Kevin Tang return; 7934ee09551764b045fdc02df754157473125edf60Kevin Tang } 8034ee09551764b045fdc02df754157473125edf60Kevin Tang retval = (bool_t) (*local)((char *)&argument, (void *)&result, rqstp); 8134ee09551764b045fdc02df754157473125edf60Kevin Tang if (retval > 0 && !svc_sendreply(transp, (xdrproc_t) _xdr_result, (char *)&result)) { 8234ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_systemerr (transp); 8334ee09551764b045fdc02df754157473125edf60Kevin Tang } 8434ee09551764b045fdc02df754157473125edf60Kevin Tang if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { 8534ee09551764b045fdc02df754157473125edf60Kevin Tang fprintf (stderr, "%s", "unable to free arguments"); 8634ee09551764b045fdc02df754157473125edf60Kevin Tang exit (1); 8734ee09551764b045fdc02df754157473125edf60Kevin Tang } 8834ee09551764b045fdc02df754157473125edf60Kevin Tang if (!loc_apicbprog_0x00050001_freeresult (transp, _xdr_result, (caddr_t) &result)) 8934ee09551764b045fdc02df754157473125edf60Kevin Tang fprintf (stderr, "%s", "unable to free results"); 9034ee09551764b045fdc02df754157473125edf60Kevin Tang 9134ee09551764b045fdc02df754157473125edf60Kevin Tang return; 9234ee09551764b045fdc02df754157473125edf60Kevin Tang} 9334ee09551764b045fdc02df754157473125edf60Kevin Tang 9434ee09551764b045fdc02df754157473125edf60Kevin Tangvoid 9534ee09551764b045fdc02df754157473125edf60Kevin Tangloc_apicbprog_0x00050002(struct svc_req *rqstp, register SVCXPRT *transp) 9634ee09551764b045fdc02df754157473125edf60Kevin Tang{ 9734ee09551764b045fdc02df754157473125edf60Kevin Tang union { 9834ee09551764b045fdc02df754157473125edf60Kevin Tang int fill; 9934ee09551764b045fdc02df754157473125edf60Kevin Tang } argument; 10034ee09551764b045fdc02df754157473125edf60Kevin Tang union { 10134ee09551764b045fdc02df754157473125edf60Kevin Tang int rpc_loc_api_cb_null_0x00050002_res; 10234ee09551764b045fdc02df754157473125edf60Kevin Tang } result; 10334ee09551764b045fdc02df754157473125edf60Kevin Tang bool_t retval; 10434ee09551764b045fdc02df754157473125edf60Kevin Tang xdrproc_t _xdr_argument, _xdr_result; 10534ee09551764b045fdc02df754157473125edf60Kevin Tang bool_t (*local)(char *, void *, struct svc_req *); 10634ee09551764b045fdc02df754157473125edf60Kevin Tang 10734ee09551764b045fdc02df754157473125edf60Kevin Tang switch (rqstp->rq_proc) { 10834ee09551764b045fdc02df754157473125edf60Kevin Tang case NULLPROC: 10934ee09551764b045fdc02df754157473125edf60Kevin Tang (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); 11034ee09551764b045fdc02df754157473125edf60Kevin Tang return; 11134ee09551764b045fdc02df754157473125edf60Kevin Tang 11234ee09551764b045fdc02df754157473125edf60Kevin Tang case rpc_loc_api_cb_null: 11334ee09551764b045fdc02df754157473125edf60Kevin Tang _xdr_argument = (xdrproc_t) xdr_void; 11434ee09551764b045fdc02df754157473125edf60Kevin Tang _xdr_result = (xdrproc_t) xdr_int; 11534ee09551764b045fdc02df754157473125edf60Kevin Tang local = (bool_t (*) (char *, void *, struct svc_req *))rpc_loc_api_cb_null_0x00050002_svc; 11634ee09551764b045fdc02df754157473125edf60Kevin Tang break; 11734ee09551764b045fdc02df754157473125edf60Kevin Tang 11834ee09551764b045fdc02df754157473125edf60Kevin Tang default: 11934ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_noproc (transp); 12034ee09551764b045fdc02df754157473125edf60Kevin Tang return; 12134ee09551764b045fdc02df754157473125edf60Kevin Tang } 12234ee09551764b045fdc02df754157473125edf60Kevin Tang memset ((char *)&argument, 0, sizeof (argument)); 12334ee09551764b045fdc02df754157473125edf60Kevin Tang if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { 12434ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_decode (transp); 12534ee09551764b045fdc02df754157473125edf60Kevin Tang return; 12634ee09551764b045fdc02df754157473125edf60Kevin Tang } 12734ee09551764b045fdc02df754157473125edf60Kevin Tang retval = (bool_t) (*local)((char *)&argument, (void *)&result, rqstp); 12834ee09551764b045fdc02df754157473125edf60Kevin Tang if (retval > 0 && !svc_sendreply(transp, (xdrproc_t) _xdr_result, (char *)&result)) { 12934ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_systemerr (transp); 13034ee09551764b045fdc02df754157473125edf60Kevin Tang } 13134ee09551764b045fdc02df754157473125edf60Kevin Tang if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { 13234ee09551764b045fdc02df754157473125edf60Kevin Tang fprintf (stderr, "%s", "unable to free arguments"); 13334ee09551764b045fdc02df754157473125edf60Kevin Tang exit (1); 13434ee09551764b045fdc02df754157473125edf60Kevin Tang } 13534ee09551764b045fdc02df754157473125edf60Kevin Tang if (!loc_apicbprog_0x00050002_freeresult (transp, _xdr_result, (caddr_t) &result)) 13634ee09551764b045fdc02df754157473125edf60Kevin Tang fprintf (stderr, "%s", "unable to free results"); 13734ee09551764b045fdc02df754157473125edf60Kevin Tang 13834ee09551764b045fdc02df754157473125edf60Kevin Tang return; 13934ee09551764b045fdc02df754157473125edf60Kevin Tang} 14034ee09551764b045fdc02df754157473125edf60Kevin Tang 14134ee09551764b045fdc02df754157473125edf60Kevin Tangvoid 14234ee09551764b045fdc02df754157473125edf60Kevin Tangloc_apicbprog_0x00050003(struct svc_req *rqstp, register SVCXPRT *transp) 14334ee09551764b045fdc02df754157473125edf60Kevin Tang{ 14434ee09551764b045fdc02df754157473125edf60Kevin Tang union { 14534ee09551764b045fdc02df754157473125edf60Kevin Tang int fill; 14634ee09551764b045fdc02df754157473125edf60Kevin Tang } argument; 14734ee09551764b045fdc02df754157473125edf60Kevin Tang union { 14834ee09551764b045fdc02df754157473125edf60Kevin Tang int rpc_loc_api_cb_null_0x00050003_res; 14934ee09551764b045fdc02df754157473125edf60Kevin Tang } result; 15034ee09551764b045fdc02df754157473125edf60Kevin Tang bool_t retval; 15134ee09551764b045fdc02df754157473125edf60Kevin Tang xdrproc_t _xdr_argument, _xdr_result; 15234ee09551764b045fdc02df754157473125edf60Kevin Tang bool_t (*local)(char *, void *, struct svc_req *); 15334ee09551764b045fdc02df754157473125edf60Kevin Tang 15434ee09551764b045fdc02df754157473125edf60Kevin Tang switch (rqstp->rq_proc) { 15534ee09551764b045fdc02df754157473125edf60Kevin Tang case NULLPROC: 15634ee09551764b045fdc02df754157473125edf60Kevin Tang (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); 15734ee09551764b045fdc02df754157473125edf60Kevin Tang return; 15834ee09551764b045fdc02df754157473125edf60Kevin Tang 15934ee09551764b045fdc02df754157473125edf60Kevin Tang case rpc_loc_api_cb_null: 16034ee09551764b045fdc02df754157473125edf60Kevin Tang _xdr_argument = (xdrproc_t) xdr_void; 16134ee09551764b045fdc02df754157473125edf60Kevin Tang _xdr_result = (xdrproc_t) xdr_int; 16234ee09551764b045fdc02df754157473125edf60Kevin Tang local = (bool_t (*) (char *, void *, struct svc_req *))rpc_loc_api_cb_null_0x00050003_svc; 16334ee09551764b045fdc02df754157473125edf60Kevin Tang break; 16434ee09551764b045fdc02df754157473125edf60Kevin Tang 16534ee09551764b045fdc02df754157473125edf60Kevin Tang default: 16634ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_noproc (transp); 16734ee09551764b045fdc02df754157473125edf60Kevin Tang return; 16834ee09551764b045fdc02df754157473125edf60Kevin Tang } 16934ee09551764b045fdc02df754157473125edf60Kevin Tang memset ((char *)&argument, 0, sizeof (argument)); 17034ee09551764b045fdc02df754157473125edf60Kevin Tang if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { 17134ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_decode (transp); 17234ee09551764b045fdc02df754157473125edf60Kevin Tang return; 17334ee09551764b045fdc02df754157473125edf60Kevin Tang } 17434ee09551764b045fdc02df754157473125edf60Kevin Tang retval = (bool_t) (*local)((char *)&argument, (void *)&result, rqstp); 17534ee09551764b045fdc02df754157473125edf60Kevin Tang if (retval > 0 && !svc_sendreply(transp, (xdrproc_t) _xdr_result, (char *)&result)) { 17634ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_systemerr (transp); 17734ee09551764b045fdc02df754157473125edf60Kevin Tang } 17834ee09551764b045fdc02df754157473125edf60Kevin Tang if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { 17934ee09551764b045fdc02df754157473125edf60Kevin Tang fprintf (stderr, "%s", "unable to free arguments"); 18034ee09551764b045fdc02df754157473125edf60Kevin Tang exit (1); 18134ee09551764b045fdc02df754157473125edf60Kevin Tang } 18234ee09551764b045fdc02df754157473125edf60Kevin Tang if (!loc_apicbprog_0x00050003_freeresult (transp, _xdr_result, (caddr_t) &result)) 18334ee09551764b045fdc02df754157473125edf60Kevin Tang fprintf (stderr, "%s", "unable to free results"); 18434ee09551764b045fdc02df754157473125edf60Kevin Tang 18534ee09551764b045fdc02df754157473125edf60Kevin Tang return; 18634ee09551764b045fdc02df754157473125edf60Kevin Tang} 18734ee09551764b045fdc02df754157473125edf60Kevin Tang 18834ee09551764b045fdc02df754157473125edf60Kevin Tangvoid 18934ee09551764b045fdc02df754157473125edf60Kevin Tangloc_apicbprog_0x00050004(struct svc_req *rqstp, register SVCXPRT *transp) 19034ee09551764b045fdc02df754157473125edf60Kevin Tang{ 19134ee09551764b045fdc02df754157473125edf60Kevin Tang union { 19234ee09551764b045fdc02df754157473125edf60Kevin Tang int fill; 19334ee09551764b045fdc02df754157473125edf60Kevin Tang } argument; 19434ee09551764b045fdc02df754157473125edf60Kevin Tang union { 19534ee09551764b045fdc02df754157473125edf60Kevin Tang int rpc_loc_api_cb_null_0x00050004_res; 19634ee09551764b045fdc02df754157473125edf60Kevin Tang } result; 19734ee09551764b045fdc02df754157473125edf60Kevin Tang bool_t retval; 19834ee09551764b045fdc02df754157473125edf60Kevin Tang xdrproc_t _xdr_argument, _xdr_result; 19934ee09551764b045fdc02df754157473125edf60Kevin Tang bool_t (*local)(char *, void *, struct svc_req *); 20034ee09551764b045fdc02df754157473125edf60Kevin Tang 20134ee09551764b045fdc02df754157473125edf60Kevin Tang switch (rqstp->rq_proc) { 20234ee09551764b045fdc02df754157473125edf60Kevin Tang case NULLPROC: 20334ee09551764b045fdc02df754157473125edf60Kevin Tang (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); 20434ee09551764b045fdc02df754157473125edf60Kevin Tang return; 20534ee09551764b045fdc02df754157473125edf60Kevin Tang 20634ee09551764b045fdc02df754157473125edf60Kevin Tang case rpc_loc_api_cb_null: 20734ee09551764b045fdc02df754157473125edf60Kevin Tang _xdr_argument = (xdrproc_t) xdr_void; 20834ee09551764b045fdc02df754157473125edf60Kevin Tang _xdr_result = (xdrproc_t) xdr_int; 20934ee09551764b045fdc02df754157473125edf60Kevin Tang local = (bool_t (*) (char *, void *, struct svc_req *))rpc_loc_api_cb_null_0x00050004_svc; 21034ee09551764b045fdc02df754157473125edf60Kevin Tang break; 21134ee09551764b045fdc02df754157473125edf60Kevin Tang 21234ee09551764b045fdc02df754157473125edf60Kevin Tang default: 21334ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_noproc (transp); 21434ee09551764b045fdc02df754157473125edf60Kevin Tang return; 21534ee09551764b045fdc02df754157473125edf60Kevin Tang } 21634ee09551764b045fdc02df754157473125edf60Kevin Tang memset ((char *)&argument, 0, sizeof (argument)); 21734ee09551764b045fdc02df754157473125edf60Kevin Tang if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { 21834ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_decode (transp); 21934ee09551764b045fdc02df754157473125edf60Kevin Tang return; 22034ee09551764b045fdc02df754157473125edf60Kevin Tang } 22134ee09551764b045fdc02df754157473125edf60Kevin Tang retval = (bool_t) (*local)((char *)&argument, (void *)&result, rqstp); 22234ee09551764b045fdc02df754157473125edf60Kevin Tang if (retval > 0 && !svc_sendreply(transp, (xdrproc_t) _xdr_result, (char *)&result)) { 22334ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_systemerr (transp); 22434ee09551764b045fdc02df754157473125edf60Kevin Tang } 22534ee09551764b045fdc02df754157473125edf60Kevin Tang if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { 22634ee09551764b045fdc02df754157473125edf60Kevin Tang fprintf (stderr, "%s", "unable to free arguments"); 22734ee09551764b045fdc02df754157473125edf60Kevin Tang exit (1); 22834ee09551764b045fdc02df754157473125edf60Kevin Tang } 22934ee09551764b045fdc02df754157473125edf60Kevin Tang if (!loc_apicbprog_0x00050004_freeresult (transp, _xdr_result, (caddr_t) &result)) 23034ee09551764b045fdc02df754157473125edf60Kevin Tang fprintf (stderr, "%s", "unable to free results"); 23134ee09551764b045fdc02df754157473125edf60Kevin Tang 23234ee09551764b045fdc02df754157473125edf60Kevin Tang return; 23334ee09551764b045fdc02df754157473125edf60Kevin Tang} 23434ee09551764b045fdc02df754157473125edf60Kevin Tang 23534ee09551764b045fdc02df754157473125edf60Kevin Tangvoid 23634ee09551764b045fdc02df754157473125edf60Kevin Tangloc_apicbprog_0x00050005(struct svc_req *rqstp, register SVCXPRT *transp) 23734ee09551764b045fdc02df754157473125edf60Kevin Tang{ 23834ee09551764b045fdc02df754157473125edf60Kevin Tang union { 23934ee09551764b045fdc02df754157473125edf60Kevin Tang int fill; 24034ee09551764b045fdc02df754157473125edf60Kevin Tang } argument; 24134ee09551764b045fdc02df754157473125edf60Kevin Tang union { 24234ee09551764b045fdc02df754157473125edf60Kevin Tang int rpc_loc_api_cb_null_0x00050005_res; 24334ee09551764b045fdc02df754157473125edf60Kevin Tang } result; 24434ee09551764b045fdc02df754157473125edf60Kevin Tang bool_t retval; 24534ee09551764b045fdc02df754157473125edf60Kevin Tang xdrproc_t _xdr_argument, _xdr_result; 24634ee09551764b045fdc02df754157473125edf60Kevin Tang bool_t (*local)(char *, void *, struct svc_req *); 24734ee09551764b045fdc02df754157473125edf60Kevin Tang 24834ee09551764b045fdc02df754157473125edf60Kevin Tang switch (rqstp->rq_proc) { 24934ee09551764b045fdc02df754157473125edf60Kevin Tang case NULLPROC: 25034ee09551764b045fdc02df754157473125edf60Kevin Tang (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); 25134ee09551764b045fdc02df754157473125edf60Kevin Tang return; 25234ee09551764b045fdc02df754157473125edf60Kevin Tang 25334ee09551764b045fdc02df754157473125edf60Kevin Tang case rpc_loc_api_cb_null: 25434ee09551764b045fdc02df754157473125edf60Kevin Tang _xdr_argument = (xdrproc_t) xdr_void; 25534ee09551764b045fdc02df754157473125edf60Kevin Tang _xdr_result = (xdrproc_t) xdr_int; 25634ee09551764b045fdc02df754157473125edf60Kevin Tang local = (bool_t (*) (char *, void *, struct svc_req *))rpc_loc_api_cb_null_0x00050005_svc; 25734ee09551764b045fdc02df754157473125edf60Kevin Tang break; 25834ee09551764b045fdc02df754157473125edf60Kevin Tang 25934ee09551764b045fdc02df754157473125edf60Kevin Tang default: 26034ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_noproc (transp); 26134ee09551764b045fdc02df754157473125edf60Kevin Tang return; 26234ee09551764b045fdc02df754157473125edf60Kevin Tang } 26334ee09551764b045fdc02df754157473125edf60Kevin Tang memset ((char *)&argument, 0, sizeof (argument)); 26434ee09551764b045fdc02df754157473125edf60Kevin Tang if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { 26534ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_decode (transp); 26634ee09551764b045fdc02df754157473125edf60Kevin Tang return; 26734ee09551764b045fdc02df754157473125edf60Kevin Tang } 26834ee09551764b045fdc02df754157473125edf60Kevin Tang retval = (bool_t) (*local)((char *)&argument, (void *)&result, rqstp); 26934ee09551764b045fdc02df754157473125edf60Kevin Tang if (retval > 0 && !svc_sendreply(transp, (xdrproc_t) _xdr_result, (char *)&result)) { 27034ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_systemerr (transp); 27134ee09551764b045fdc02df754157473125edf60Kevin Tang } 27234ee09551764b045fdc02df754157473125edf60Kevin Tang if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { 27334ee09551764b045fdc02df754157473125edf60Kevin Tang fprintf (stderr, "%s", "unable to free arguments"); 27434ee09551764b045fdc02df754157473125edf60Kevin Tang exit (1); 27534ee09551764b045fdc02df754157473125edf60Kevin Tang } 27634ee09551764b045fdc02df754157473125edf60Kevin Tang if (!loc_apicbprog_0x00050005_freeresult (transp, _xdr_result, (caddr_t) &result)) 27734ee09551764b045fdc02df754157473125edf60Kevin Tang fprintf (stderr, "%s", "unable to free results"); 27834ee09551764b045fdc02df754157473125edf60Kevin Tang 27934ee09551764b045fdc02df754157473125edf60Kevin Tang return; 28034ee09551764b045fdc02df754157473125edf60Kevin Tang} 28134ee09551764b045fdc02df754157473125edf60Kevin Tang 28234ee09551764b045fdc02df754157473125edf60Kevin Tangvoid 28334ee09551764b045fdc02df754157473125edf60Kevin Tangloc_apicbprog_0x00050006(struct svc_req *rqstp, register SVCXPRT *transp) 28434ee09551764b045fdc02df754157473125edf60Kevin Tang{ 28534ee09551764b045fdc02df754157473125edf60Kevin Tang union { 28634ee09551764b045fdc02df754157473125edf60Kevin Tang int fill; 28734ee09551764b045fdc02df754157473125edf60Kevin Tang } argument; 28834ee09551764b045fdc02df754157473125edf60Kevin Tang union { 28934ee09551764b045fdc02df754157473125edf60Kevin Tang int rpc_loc_api_cb_null_0x00050006_res; 29034ee09551764b045fdc02df754157473125edf60Kevin Tang } result; 29134ee09551764b045fdc02df754157473125edf60Kevin Tang bool_t retval; 29234ee09551764b045fdc02df754157473125edf60Kevin Tang xdrproc_t _xdr_argument, _xdr_result; 29334ee09551764b045fdc02df754157473125edf60Kevin Tang bool_t (*local)(char *, void *, struct svc_req *); 29434ee09551764b045fdc02df754157473125edf60Kevin Tang 29534ee09551764b045fdc02df754157473125edf60Kevin Tang switch (rqstp->rq_proc) { 29634ee09551764b045fdc02df754157473125edf60Kevin Tang case NULLPROC: 29734ee09551764b045fdc02df754157473125edf60Kevin Tang (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); 29834ee09551764b045fdc02df754157473125edf60Kevin Tang return; 29934ee09551764b045fdc02df754157473125edf60Kevin Tang 30034ee09551764b045fdc02df754157473125edf60Kevin Tang case rpc_loc_api_cb_null: 30134ee09551764b045fdc02df754157473125edf60Kevin Tang _xdr_argument = (xdrproc_t) xdr_void; 30234ee09551764b045fdc02df754157473125edf60Kevin Tang _xdr_result = (xdrproc_t) xdr_int; 30334ee09551764b045fdc02df754157473125edf60Kevin Tang local = (bool_t (*) (char *, void *, struct svc_req *))rpc_loc_api_cb_null_0x00050006_svc; 30434ee09551764b045fdc02df754157473125edf60Kevin Tang break; 30534ee09551764b045fdc02df754157473125edf60Kevin Tang 30634ee09551764b045fdc02df754157473125edf60Kevin Tang default: 30734ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_noproc (transp); 30834ee09551764b045fdc02df754157473125edf60Kevin Tang return; 30934ee09551764b045fdc02df754157473125edf60Kevin Tang } 31034ee09551764b045fdc02df754157473125edf60Kevin Tang memset ((char *)&argument, 0, sizeof (argument)); 31134ee09551764b045fdc02df754157473125edf60Kevin Tang if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { 31234ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_decode (transp); 31334ee09551764b045fdc02df754157473125edf60Kevin Tang return; 31434ee09551764b045fdc02df754157473125edf60Kevin Tang } 31534ee09551764b045fdc02df754157473125edf60Kevin Tang retval = (bool_t) (*local)((char *)&argument, (void *)&result, rqstp); 31634ee09551764b045fdc02df754157473125edf60Kevin Tang if (retval > 0 && !svc_sendreply(transp, (xdrproc_t) _xdr_result, (char *)&result)) { 31734ee09551764b045fdc02df754157473125edf60Kevin Tang svcerr_systemerr (transp); 31834ee09551764b045fdc02df754157473125edf60Kevin Tang } 31934ee09551764b045fdc02df754157473125edf60Kevin Tang if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { 32034ee09551764b045fdc02df754157473125edf60Kevin Tang fprintf (stderr, "%s", "unable to free arguments"); 32134ee09551764b045fdc02df754157473125edf60Kevin Tang exit (1); 32234ee09551764b045fdc02df754157473125edf60Kevin Tang } 32334ee09551764b045fdc02df754157473125edf60Kevin Tang if (!loc_apicbprog_0x00050006_freeresult (transp, _xdr_result, (caddr_t) &result)) 32434ee09551764b045fdc02df754157473125edf60Kevin Tang fprintf (stderr, "%s", "unable to free results"); 32534ee09551764b045fdc02df754157473125edf60Kevin Tang 32634ee09551764b045fdc02df754157473125edf60Kevin Tang return; 32734ee09551764b045fdc02df754157473125edf60Kevin Tang} 328