ELF 44 (44D/lib/ld-linux.so.1%2# ,+&  *")-'(.  %!0 $/1 X%h7XCx"IXU"\"a&ip8|d P@"F !  "( <8 &H X "h x " " * W " I "" )0 / &"7 8> qDTZ( _8 >jH rX "xh Q}$xxlibc.so.5strcpy_DYNAMIC__ctype_b__strtol_internal_IO_stdout_fgets_IO_stderr_perrordup2islowermalloc___brk_addr_xstat__environabort_initpipe__libc_initstrrchrenvironfprintfstrcat__fpu_controlstrncmpstrncpyunlinkreallocfdopenforkexecvstrdupfopenmemsetftellstrcmp_finisprintfatexitfputc_GLOBAL_OFFSET_TABLE_exit__setfpucwtoupperclosefree_etext_edata__bss_start_end8 <`dhlp t x |  !"#%&')*+,-軍5X%\%`h%dh%hh%lh%ph %th(%xh0%|h8p%h@`%hHP%hP@%hX0%h` %hh%hp%hx%h%h%h%h%h%h%h%hp%h`%hP%h@%h0%h %h%h%h%h%hYЃPSQ̀-̀8D$<Pr*h00` %P=[̀SP=Pt Ѓ;u[ÐÐSh8PjhtPtxu P[u[ÐVSD$ p ^thPljCPCP|hPMFPP~$hhSFhPS`hP [uv o[^ÐUWVSt$|$l$==tJhPjV BPP9|WUhP${WhɖPghՖPWjV BPP{ hזP3hߖF @P?zt8=tWUhWhP =uwhP^ tCPhP [uWhP^ tohjSFP[uOhPH^ thjSFPS[uWUhP=uWUh P[^_]ÐD$jPt{u ÐÐVSt$ ~؃=t+t'FPhPhPwh PdhߖFP~xth)P?jFPFPy hh/PhPhhFPPh4P(=unhߖF @PwtVPh[PhFPPFPxPh}Pl =twts^ tCPPhP/[uFPPhPhFPPFP[xPhߗPrhFPPFP%xP=tF @P=tPF @PwPPhPk$hgPXhyPHhߖFPbvt+hFP=Ph}P[^ÐhFPPhӐS\$Cu S[ÃuPC PtvSCt'wt@Wtt6=S*.SzSS [ËD$L$Ptu 1ÐQP7uÐD$hPP;u %ÐVS\$ t$hPhP=tjShPhPShŘPp thɘPYh˘PF[^ÐSh՘P'hPShP thɘPh딐VS\$ 1{uCPC PUvuVP=thP[^ÐD$j@PÐhPHh.P8ÐSD$\$ PP;xSh1P[ÐD$PhCP ÐVSt$ \$hHSrt$hMP[^ÐhsPSz ttVhŘPf SSh}PQ[^ÐS\$hP3SPOwhPSP3w hP[ÐUWVS|$D$ t$(l$,1ۃr_thT$RqhVhÙP~WT$4R ghƙWqtƙh͙Weqt͙u~hԙT$RhۙVhÙPhƙWqtƙh͙WpthƙWptST$R|V Xt ShT$RQht>&u UVUVh UVUVhPDT$$R?u,WT$RMWT$RV T$R[^_]Ðh0jh5jÐWVSD$x tOwt?=t.~~(V^ tSj0[uvu‹ u[^_ÐUWVSl$EPjEPhaP]PhwP {shC Po}0щL$Rҋ{D$)ȍTT$R1NjCPC Pqƒ tCPEPhDCPEPhRW5FPWFPF PFPPjOW hP[]  hCPnhP}0щL$Rҋ{)L$D$DD$D$P3NjC PCPpƒtCPEPhDCPEPhRW5CPWCPC PCPPjOW hPDhPhhPhPhP[^_]ÐUWVS=u]$(Y Sj@[u[^_]ÐhPX($(Yt{ tʋ[uD$1$(YtV;u3CPst#S u @D$&u  L$9 ~D$[uL$9 }u@$(YSjD[u[^_]ÐD$D$L$$L$|$uhhP(D$ D$1$(Y9;CPvrS t|$ uD$ u@D$u@tPCPRh!L$ Q]CPRh-L$QDuL$Qƃv0ҋ|$ЍDPVmƃuh5hmL$QV|$ uAL$9 ~%9Ujtm9uL$QhO|$uVhP VL$QhPbhPOUjm9uhP&L$QUUm9uhPD$D$ 1Sj[|$ uAL$9 ~%9UjTm9uL$Qh|$uVhMP` VL$QhPBhP/UjmuhPL$QU5m9uhPD$D$|$ihΜP$0YtSjH[u[^_]ÐVSD$ pX PHPhRQSVjk[^ÐUWVS$T${ks VWitCPhCPhD$P CPD$PUVWT$$R$0R[^_]ÐVS\$ t$C tuejVSa [^ÐCPhPtCPCPhP\jVS(hHP@[^ÐUWVSl$1ۃ|$u hV*|$ uEPhcP h{PEPD$T$1t FO)ȃut$VD$D$uPD$|$u:|$ u#EPt$VhPB-t$Vht$Vh͝P u t$VR[^_]ÐUWVSl$0HPgÃuhםhjހ}tEPEC}u[^_]ÐVS\$ CthPRC$"P### #0#@#SjNS>SZ.S:SZS*{t3Ct,1uCPC P6fuVPA[^ÐS\${uhP]S [ÐVS\$ t$hP.tPSShP h)P$tPSSh:Ph_PShyP(hP[^ÐD$PRP`ÐUWVSD$h }=t~ywVhP5_ thjSVB[uhPVVhPjV hPmm V[^_]ÐVS\$ 3VhP[ thjSV[uhP\VVhPJ[^ÐWVS|$7VhPhҞG P8at!GPhמP #GPG PhPhP_t${uhjCPV[uߋ_ t&hCP`uhjSVVhPQhPAVVhP/$[^_ËD$T$RPhPÐD$T$RPhPÐWVS|$t$t-^t9tDPP_u"[uv ug[^_Ð1[^_ÐUWVST$RT$BPT$PNT$ j U=tKEPT$PCbPh.PEPT$(PbPhYP EPEP1u hnP.u h hP]trT$B PSuCPP_WhğPSVjhǟUS\ WhğP0VjhПUS9 [uF1hPm [^_]ÐUWVSt$|$l$\$ jFPFP]_hPtGPP`GPPa|$$wUV3[^_]ÐhPX[^_]ÐVS\$ t$hP.{!=thC @P3]uO[ tHjCPP^ =uhPhP[uVh P [^ÐUWVS\$+11UhPy[ PhPU Ct#PhP:{ ;uVFh$P VFWh*Ph5P[lhPUUh8P[^_]ÐUWVSl$u] }SV[hMS[tTChYSu[tThҞSU[t`VSrt+Et$PhgD$P D$hkPt#txhtPVh~PVSD$,PhPp(VhP\ YVSD$Ph.EPVSD$PhPVSD$PhPhP[^_]ÐUWVS\$t$ l$$hFPYUP^SFPYt>uhPzhMFPYt*FPhȠPN vhҞFPMYt`MhYFP"Yt T"tPhg\$S߃ ^F tzr(tSFPSWhHFPFPSWhP~FPSWhPR}htP8UPT]FPh~PUP4]$FPSWhPUP]FPhP(T$(RP[^_]ÐUWVSl$|$5tQ{t@WPWt[^_]ÐUPWt1[^_]Ðvu[^_]Ð,WVS|$t'P#tPC;uh Veƃ[^ÐUWVS\$D$t$ PS|$$t VS+VSZuPLWWhP$h.PPŃ /t PUtP<[u|$t+PX9uV*=thP_WhEPK [^_]ÐUWVSD$$\$,1PT$$Rd|$0tST$,RD$ \$T$RT$,R}|$ t>hTT$$RÃt&ShPShˢPhYPuhmPe=t#hPIhţP95\uj5\u<=u =thP=u=thP=tq=u =t_h1PYhTPIhvP9hP) =t/hP =thPhP=u =u#h Ph&P|$4u =t=t/h?P}=thWPa=u=u =thP3hP =t\PhɥP K txu쐐|$(tuT$R[^_]ËT$0RT$8RT$(R\' |$0u4T$RT$Ru|$t T$R n,[^_]ÐUWVS\$D$l$|$ 1PSt WS(WSW=thPt4hTSÃt ShPS!hˢP txu쐐tuW[^_]Ð[^_]ÐUWVS|$D$l$t$ 1PWt VW8VWg t xutuVJ[^_]ÐD[^_]ÐWVS\$D$|$t$PSt VSVS/VSH#UtEmuT$Rj L$Qjj$ |$0$V\$0Sj S@ D$@T$\BL$0 [^_]<ÃWVS\$Ct$ Vjc D$VjU {VjD j ŸËD$CVj jj |$ uV D$CVjj 1 {|$ uC[^_ÐVSt$F\$SjD$Sj SjjD$(F[^Ð UWVST$4B\$SjrD$ T$<Sj`SjXjt$8V|$TT$TT$0 Sj'SjSj|$ݐUjj*j {ËD$(UjUj tGUjjCT$\$j 7ËD$(UjUjujt$ V{CT$\$UjZUjjj |$0u~xuFFDBuFDBu+CP(‰USPR詧E7[^_]ÃUWVS\$+=%~D$\$0ЍxWRU? u@ /ѡDP u._t)\$\$\$C\$+[^_]ÐD$>%u\$1MG /ѡDP u_tGP7\$ CWUP踦\$,C\$(+[^_]Ð1|$u =#u@Ð1|$u =%u@ÐD$@PhЯP ÐUWVS|$G|$DB tD$|$DB ujj j|$Wŋ|$DBtD$|$DBu|$DB tD$|$DB u|$?"t hӯ'D$0T$PޤƉ|$?t"|$<"t G|$C?u|$?u hӯ&>u|$  |$ 7M|$/[^_]ÐS\$D$ =tP$PShP螤[ÐP#PShS\$hPsjCPCP#h"PT[ÐUWVS|$l$t$=u =+t$Sh,Ph@PSheP hxPϣ=t$ShP貣hP袣V1u˰Pt=thҰPa7hPHh P8hP(h&P=tW=t(hh)PҢhAP¢hcP询hpP蟢hyP菢UW` hPuhWhPZ/hh)PChP3h=t=uhW[^_]Ð UWVS+hPܡT$h P.hP$h5P hPhSPhPۓ hPȓhոP踓hP訓h P蘓 hոP腓h5PuhBPehVPU hS hdP7hShoP hwhP [ÐS\$=t"ShPْ [Ð=tShP讒 Sh뿐UWVSl$=t:7~u)^ t"PPUhP][ uߋu[^_]ÐD$=t#hPhйPÐ=u =thPhɐhPh뻐=u|$uFÐhP訑hP蘑=u4hP|h1Pl"h>PHh&P5hWP%=u =thjPh}PhPݐhP͐hƺP轐 hͺP誐hP蚐hHP芐Ð=?hP[hPK=thhP(h&P=tPh(PhLPhgPя$hP辏hP讏=t:=t1hP艏h»PyhPXh PEh-P5=tQhAPhXP hmPhP h hPȎhܼP赎hP襎hP蕎h:P腎 hIPrh PbhPRh]PB hHP/ÐWVSt$\$hP hPh½PhPݍ u(hPƍhhP豍=th#P蕍hP肍hBPr=thV3h3PHhehhhPhh$hhܼPh׾PhPӌh:h褍$hYh^P觌hlP藌hܼP臌=thrPkhhPShܿh$hhոP* hܼPhPhP=7~^ PPhh#P豋CPP- h?P蕋$PPhHh]h;hոPchܼPS$[ yV=tWheP!=tPhwPhPhܼP݊$hPʊhPP躊hP誊hP蚊 [^_ÐVSt$ \$hPnShP]=tSh P@ =tShP# Sh.PSh?PShQP$ShlPىShyPȉSh~P跉$ShP裉 =t?ShP膉ShPuShPd$ShlShPG Sh P3Sh(P"Sh=P$Sh]PShsP=tShPψ ]ShP跈ShP覈ShP蕈$Sh(P聈ShyPp=u SV5hPJ=t SV[^ÐWVSt$|$j.VÃtVWhPt.[^_Ð$UWVS+=thT$vhzP.vvh~PvhPv[^_]VSD$ p 8^hPuShPu=tFPP FPPhh>SxhPiuhPYuhhCPs$u ShP(uCPhPuhPuhhCPuhh Pt[v [^ÐD$jPR@P- Ðh'Pxth+PhthXPXthPHt hP5tÐWVShPt=thhPshPsh$Psh6PshgPs huPs=tN7~u>^ t7hXPdsCPPhPHs[ uʋuhP's[^_ÐSD=Dt Ѓ;u[ÐÐt /* Default timeout can be changed using clnt_control() */ static struct timeval TIMEOUT = { %d, 0 }; * CLIENT *clnt{ } (*argp, %s%s) (argp, %s) *argp; void(%s%s) (%s) %s, %s) ; , %s%s) %s%s; & %s arg; static char %s; memset((char *)%s%s, 0, sizeof(%s)); if (clnt_call(clnt, %s, xdr_void, NULL, xdr_%s, %s,%s, TIMEOUT) != RPC_SUCCESS) { arg.%s = %s; if (clnt_call(clnt, %s, xdr_%s, &arg, xdr_%s, %s%s, TIMEOUT) != RPC_SUCCESS) { argp if (clnt_call(clnt, %s, xdr_%s, %s%s, xdr_%s, %s%s, TIMEOUT) != RPC_SUCCESS) { return (NULL); } return ((void *)%s%s); return (%s%s); bool_t xdr_%s(XDR *xdrs, %s *objp) { xdr_%s(xdrs, objp) XDR *xdrs; %s objp; { register long *buf; return (TRUE); } if (!xdr_%s(xdrs, %sbool, sizeof(bool_t), (xdrproc_t)xdr_bool, sizeof(%s), (xdrproc_t)xdr_%s)) { return (FALSE); } pointer(char **)%sstringopaquevector(char *)bytesarray%s.%s_val, (u_int *)%s.%s_len&%s->%s_val, (u_int *)&%s->%s_lenenum(enum_t *)objpobjp->%s_u.%s&objp->%s_u.%s switch (objp->%s) { case %s: void break; default: return (FALSE); } int i; if (xdrs->x_op == XDR_ENCODE) { return (TRUE); } else if (xdrs->x_op == XDR_DECODE) { + %s %s * %d %s %s Fatal error : no memory buf = XDR_INLINE(xdrs,%d * BYTES_PER_XDR_UNIT); buf = XDR_INLINE(xdrs,%s * BYTES_PER_XDR_UNIT); buf = XDR_INLINE(xdrs,(%d + %s)* BYTES_PER_XDR_UNIT); if (buf == NULL) { } else { } buf = XDR_INLINE(xdrs,%d * BYTES_PER_XDR_UNIT); buf = XDR_INLINE(xdrs,%s * BYTES_PER_XDR_UNIT); buf = XDR_INLINE(xdrs,(%d + %s)* BYTES_PER_XDR_UNIT); if (buf == NULL) { return(TRUE); } objpobjp->%s&objp->%s { register %s *genp; for ( i = 0,genp=objp->%s; i < %s; i++){ } }; IXDR_PUT_ objp->%s = IXDR_GET_ *genp++ = IXDR_GET_INTLONGU_INTU_LONG%s(buf,objp->%s); %s(buf,*genp++); %s(buf); malloc failed #ifdef __cplusplus *extern "C" bool_t xdr_%s(XDR *, %s%s); #elif __STDC__ extern bool_t xdr_%s(XDR *, %s%s); #else /* Old Style C */ bool_t xdr_%s(); #endif /* Old Style C */ struct %s { ; }; typedef struct %s %s; bool bool_t %s; %s %s; union { void } %s_u; #define %s %s #define %s ((u_long)%s) extern struct rpcgen_table %s_%s_table[]; extern %s_%s_nproc; #ifdef __cplusplus extern "C" #elif __STDC__ extern #else /* Old Style C */ %sCLIENT *struct svc_req *#endif /* Old Style C */ * (); (, %s); enum %s { %s = %s = %d = %s + %d, typedef enum %s %s; stringcharopaquebool_t%s typedef struct { u_int %s_len; %s%s *%s_val; } %s%s%s *%s%s%s %s[%s]%s%s %sstruct char *%s120/usr/ccs/lib/cpptcpudp-srpcgennetpath-DRPC_XDR-DRPC_HDR-DRPC_CLNT-DRPC_SVC-DRPC_TBL-DRPC_SERVER-DRPC_CLIENT_xdr.c.h_clnt.c_svc.c_tbl.i_server.c_client.c%s: output would overwrite %s w%s: unable to open /* * Please do not edit this file. * It was generated using rpcgen. */ cannot find C preprocessor: %s /lib/cppcannot find any C preprocessor (cpp) execvforkr%s: rawdatagram_ncircuit_ndatagram_vcircuit_vvisibleillegal nettype :'%s' #include "%s" #include intlongshortboolu_intu_longu_short_H_RPCGEN#ifndef _%s #define _%s #include #endif /* !_%s */ #include #include /* getenv, exit */ #include /* for pmap_unset */ #include /* strcmp */ -10#include #include /* ioctl, TIOCNOTTY */ #include /* open */ #include /* open */ #include /* open */ #include /* getdtablesize */ #include /* setsid */ #include #include #include #include #include #include /* rlimit */ #include #ifdef __STDC__ #define SIG_PF void(*)(int) #endif #define _RPCSVC_CLOSEDOWN %s #include /* for memset */ -nrpcgen: too many defines rpcgen: arglist coding error file '%s' already exists and may be overwritten Cannot specify more than one input file! /cppCannot use netid flag with inetd flag! Cannot use netid flag without TIRPC! Cannot use table flags with newstyle! Cannot have more than one file generation flag! usage: %s infile %s [-a][-b][-C][-Dname[=value]] -i size [-I [-K seconds]] [-L][-N][-T] infile %s [-c | -h | -l | -m | -t | -Sc | -Ss] [-o outfile] [infile] %s [-s nettype]* [-o outfile] [infile] %s [-n netid]* [-o outfile] [infile] options: -a generate all files, including samples -b backward compatibility mode (generates code for SunOS 4.1) -c generate XDR routines -C ANSI C mode -Dname[=value] define a symbol (same as #define) -h generate header file -i size size at which to start generating inline code -I generate code for inetd support in server (for SunOS 4.1) -K seconds server exits after K seconds of inactivity -l generate client side stubs -L server errors will be printed to syslog -m generate server side stubs -n netid generate server code that supports named netid -N supports multiple arguments and call-by-value -o outfile name of the output file -s nettype generate server code that supports named nettype -Sc generate sample client code that uses remote procedures -Ss generate sample server code that defines remote procedures -t generate RPC dispatch table -T generate code to support RPC dispatch tables -Y path directory name to find C preprocessor (cpp) definition keyword expectedopaqueillegal result typevoidonly one argument is allowedillegal use of void in program definitionvectorunionsizeofsetposreferencepointerinlinegetposfreedestroybytesarraystringillegal (reserved) name :'%s' in type definitionno array-of-pointer declarations -- use typedef~0array declaration expectedvariable-length array declaration expectedarg%s%dopaque -- illegal argument typepointer to string not allowed in program arguments arrays cannot be declared as arguments to procedures -- use typedefshortlongvoids allowed only inside union and program definitions with one argumentexpected type specifieru_charu_shortu_longu_intconstant or identifier expectedillegal character in file: %c%dunterminated string constantempty char string??????versionprogramstringdoublefloatlongshortunsignedintcharvoidboolopaqueenumtypedefstructdefaultcaseswitchunionconst%spreprocessor error xdr_%s = (xdrproc_t) xdr_%s; xdr_%s = xdr_%s; static *extern%s int _rpcpmstart; /* Started by a port monitor ? */ %s int _rpcfdtype; /* Whether Stream or Datagram ? */ %s int _rpcsvcdirty; /* Still serving ? */ static int main(int argc, char **argv) int main(argc, argv) int argc; char **argv; { register SVCXPRT *%s; struct netconfig *nconf = NULL; pid_t pid; int i; char mname[FMNAMESZ + 1]; else { } %s nconf = getnetconfigent("%s"); %s if (nconf == NULL) { cannot find %s netid.%s %s exit(1); %s } %s %s = svc_tli_create(RPC_ANYFD, nconf, 0, 0, 0); %s if (%s == NULL) { cannot create %s service.%s (void) rpcb_unset(%s, %s, nconf); %s if (!svc_reg(%s, %s, %s, , nconf)) { unable to register (%s, %s, %s).%s freenetconfigent(nconf); if (!svc_create(, %s, %s, "%s")) { unable to create (%s, %s) for %s. exit(1); if (%s == (SVCXPRT *)NULL) { could not create a handle if (_rpcpmstart) { (SIG_PF)(void(*)()) (void) signal(SIGALRM, %s closedown); (void) alarm(_RPCSVC_CLOSEDOWN); svc_run(); svc_run returned exit(1); /* NOTREACHED */ } _( *argp, struct svc_req *%s) (argp, %s) %s *argp; *argp; struct svc_req *%s; return(void*argp, argp->%s, %s)); } %s void (struct svc_req *%s, register SVCXPRT *%s) (%s, %s) union { _arg; %s int fill; } %s; char *%s; xdrproc_t xdr_%s, xdr_%s; char *(*%s)(char *, struct svc_req *); bool_t (*xdr_%s)(), (*xdr_%s)(); char *(*%s)(); _rpcsvcdirty = 1; switch (%s->rq_proc) { case NULLPROC: (void) svc_sendreply(%s, (xdrproc_t) xdr_void, (char *)NULL); (void) svc_sendreply(%s, xdr_void, (char *)NULL); case %s: %s = (char *(*)(char *, struct svc_req *)) %s = (char *(*)()) _; break; default: noproc (void) memset((char *)&%s, 0, sizeof (%s)); (caddr_t) &getargs&decode %s = (*%s)((char *)&%s, %s); %s = (*%s)(&%s, %s); if (%s != NULL && !svc_sendreply(%s, xdr_%s, %s)) { systemerrfreeargsunable to free arguments svcerr_%s(%s); if (!svc_%s(%s, xdr_%s, %s%s)) { 0 int sock; int proto; struct sockaddr_in saddr; int asize = sizeof (saddr); if (getsockname(0, (struct sockaddr *)&saddr, &asize) == 0) { int ssize = sizeof (int); if (saddr.sin_family != AF_INET) exit(1); if (getsockopt(0, SOL_SOCKET, SO_TYPE, (char *)&_rpcfdtype, &ssize) == -1) sock = 0; _rpcpmstart = 1; proto = 0; } else { sock = RPC_ANYSOCK; %sexit(0); %s_rpcsvcdirty = 0; %sreturn; %s(void) pmap_unset(%s, %s); %ssyslog(LOG_ERR, "%s"); %s_msgout("%s"); %sfprintf(stderr, "%s"); static void _msgout(msg) char *msg; void _msgout(char* msg) #ifdef RPC_SVC_FG if (_rpcpmstart) syslog(LOG_ERR, msg); else (void) fprintf(stderr, "%%s\n", msg); #else syslog(LOG_ERR, msg); #endif static void closedown(int sig) closedown(sig) int sig; (void) signal(sig, %s closedown); if (_rpcsvcdirty == 0) { extern fd_set svc_fdset; static int size; int i, openfd; struct t_info tinfo; if (!t_getinfo(0, &tinfo) && (tinfo.servtype == T_CLTS)) if (_rpcfdtype == SOCK_DGRAM) exit(0); if (size == 0) { struct rlimit rl; rl.rlim_max = 0; getrlimit(RLIMIT_NOFILE, &rl); if ((size = rl.rlim_max) == 0) return; size = getdtablesize(); } for (i = 0, openfd = 0; i < size && openfd < 2; i++) if (FD_ISSET(i, &svc_fdset)) openfd++; if (openfd <= 1) (void) alarm(_RPCSVC_CLOSEDOWN); if (!ioctl(0, I_LOOK, mname) && (!strcmp(mname, "sockmod") || !strcmp(mname, "timod"))) { char *netid; struct netconfig *nconf = NULL; SVCXPRT *%s; int pmclose; if ((netid = getenv("NLSPROVIDER")) == NULL) { cannot get transport name } else if ((nconf = getnetconfigent(netid)) == NULL) { cannot get transport info if (strcmp(mname, "sockmod") == 0) { if (ioctl(0, I_POP, 0) || ioctl(0, I_PUSH, "timod")) { could not get the right module exit(1); } pmclose = (t_getstate(0) != T_DATAXFER); if ((%s = svc_tli_create(0, nconf, NULL, 0, 0)) == NULL) { cannot create server handle if (nconf) freenetconfigent(nconf); if (!svc_reg(%s, %s, %s, , 0)) { unable to register (%s, %s). if (pmclose) { (void) signal(SIGALRM, %s closedown); (void) alarm(_RPCSVC_CLOSEDOWN); svc_run(); /* NOTREACHED */ #ifndef RPC_SVC_FG %sint size; %sstruct rlimit rl; %sint pid, i; %spid = fork(); %sif (pid < 0) { %s perror("cannot fork"); %s exit(1); %s} %sif (pid) %s exit(0); %srl.rlim_max = 0; %sgetrlimit(RLIMIT_NOFILE, &rl); %sif ((size = rl.rlim_max) == 0) %ssize = getdtablesize(); %sfor (i = 0; i < size; i++) %s (void) close(i); %si = open("/dev/console", 2); %s(void) dup2(i, 1); %s(void) dup2(i, 2); %ssetsid(); %si = open("/dev/tty", 2); %sif (i >= 0) { %s (void) ioctl(i, TIOCNOTTY, (char *)NULL); %sopenlog("%s", LOG_PID, LOG_DAEMON); udpSOCK_DGRAMSOCK_STREAM if ((_rpcfdtype == 0) || (_rpcfdtype == %s)) { sockRPC_ANYSOCK%s %s = svc%s_create(%s, 0, 0); %s if (!_rpcpmstart) UDPTCP%s proto = IPPROTO_%s; %s if (!svc_register(%s, %s, %s, , proto)) { , IPPROTO_%s)) { %s_%s /* * WARNING: table out of order */ WARNING %s table is out of order (char *(*)())RPCGEN_ACTION(_), xdr_%s,%svoid0sizeof ( ), stringwrapstringenumenum struct boolbool_t char *%s %s_%s_svc%s_%s%s, line %d: %s too many files! expected '%s'expected '%s' or '%s'expected '%s', '%s' or '%s'??????versionprogramvoidopaquecharfloatdoubleunsignedlongshortinttypedefdefaultcaseswitchstructunion;:=,*][{}()constidentifierfailed in mallocargument%s_%s_%s void ( char* host ) { (host) char *host; { CLIENT *clnt; *result_%d; voidchar* _arg; _%s; netpathudp clnt = clnt_create(host, %s, %s, "%s"); if (clnt == NULL) { clnt_pcreateerror(host); exit(1); } result_%d = ((void*)&_arg, clnt); (clnt); _%s, clnt); if (result_%d == NULL) { clnt_perror(clnt, "call failed:"); } clnt_destroy( clnt ); } * struct svc_req *{ static char* result; /* * insert server code here */ return(&result); } return((void*) &result); } /* * This is sample code generated by rpcgen. * These are only templates and you can use them * as a guideline for developing your own functions. */ main( int argc, char* argv[] ) { main(argc, argv) int argc; char *argv[]; { char *host; if(argc < 2) { printf("usage: %%s server_host\n", argv[0]); exit(1); } host = argv[1]; ( host ); @(#)rpc_clntout.c 1.11 89/02/22 (C) 1987 SMIclnt_res@(#)rpc_cout.c 1.13 89/02/22 (C) 1987 SMI@(#)rpc_hout.c 1.12 89/02/22 (C) 1987 SMI@(#)rpc_main.c 1.30 89/03/30 (C) 1987 SMIѠՠ-C~sostruct rpcgen_table { char *(*proc)(); xdrproc_t xdr_arg; unsigned len_arg; xdrproc_t xdr_res; unsigned len_res; }; @(#)rpc_parse.c 1.8 89/02/22 (C) 1987 SMIެ׬ЬȬ<@(#)rpc_scan.c 1.11 89/02/22 (C) 1987 SMIʯį!"ysnha Z#R$J%C@(#)rpc_svcout.c 1.29 89/03/30 (C) 1987 SMIrqstptranspargumentresultlocal@(#)rpc_tblout.c 1.4 89/02/22 (C) 1988 SMI struct rpcgen_table %s_table[] = { }; (char *(*)())0, (xdrproc_t) xdr_void, 0, (xdrproc_t) xdr_void, 0, int %s_nproc = sizeof(%s_table)/sizeof(%s_table[0]); @(#)rpc_util.c 1.11 89/02/22 (C) 1987 SMI   { t!"o#g$_%X@(#)rpc_sample.c 1.1 90/08/30 (C) 1987 SMIrqstp^n~  . > N ^ n ~           . > N ^ n  @ 0lL  T0(GCC: (GNU) 2.6.4 snapshot 950518GCC: (GNU) 2.7.0GCC: (GNU) 2.7.0GCC: (GNU) 2.7.0GCC: (GNU) 2.7.0GCC: (GNU) 2.7.0GCC: (GNU) 2.7.0GCC: (GNU) 2.7.0GCC: (GNU) 2.7.0GCC: (GNU) 2.7.0GCC: (GNU) 2.7.0GCC: (GNU) 2.6.4 snapshot 950518.symtab.strtab.shstrtab.interp.hash.dynsym.dynstr.rel.bss.rel.plt.init.plt.text.fini.rodata.data.ctors.dtors.got.dynamic.bss.comment#d) LL 1ll9 (B 00K@@QHH0V  \00b88[3jpDDwLL~TT\ x