URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [librpc/] [include/] [rpcsvc/] [yp.x] - Rev 587
Go to most recent revision | Compare with Previous | Blame | View Log
/* @(#)yp.x 2.1 88/08/01 4.0 RPCSRC *//** Sun RPC is a product of Sun Microsystems, Inc. and is provided for* unrestricted use provided that this legend is included on all tape* media and as a part of the software program in whole or part. Users* may copy or modify Sun RPC without charge, but are not authorized* to license or distribute it to anyone else except as part of a product or* program developed by the user.** SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.** Sun RPC is provided with no support and without any obligation on the* part of Sun Microsystems, Inc. to assist in its use, correction,* modification or enhancement.** SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC* OR ANY PART THEREOF.** In no event will Sun Microsystems, Inc. be liable for any lost revenue* or profits or other special, indirect and consequential damages, even if* Sun has been advised of the possibility of such damages.** Sun Microsystems, Inc.* 2550 Garcia Avenue* Mountain View, California 94043*//** Protocol description file for the Yellow Pages Service*/#ifndef RPC_HDR%#ifndef lint%static const char rcsid[] =% "$FreeBSD: src/include/rpcsvc/yp.x,v 1.12 1999/08/27 23:45:12 peter Exp $";%#endif /* not lint */#endifconst YPMAXRECORD = 1024;const YPMAXDOMAIN = 64;const YPMAXMAP = 64;const YPMAXPEER = 64;enum ypstat {YP_TRUE = 1,YP_NOMORE = 2,YP_FALSE = 0,YP_NOMAP = -1,YP_NODOM = -2,YP_NOKEY = -3,YP_BADOP = -4,YP_BADDB = -5,YP_YPERR = -6,YP_BADARGS = -7,YP_VERS = -8};enum ypxfrstat {YPXFR_SUCC = 1,YPXFR_AGE = 2,YPXFR_NOMAP = -1,YPXFR_NODOM = -2,YPXFR_RSRC = -3,YPXFR_RPC = -4,YPXFR_MADDR = -5,YPXFR_YPERR = -6,YPXFR_BADARGS = -7,YPXFR_DBM = -8,YPXFR_FILE = -9,YPXFR_SKEW = -10,YPXFR_CLEAR = -11,YPXFR_FORCE = -12,YPXFR_XFRERR = -13,YPXFR_REFUSED = -14};typedef string domainname<YPMAXDOMAIN>;typedef string mapname<YPMAXMAP>;typedef string peername<YPMAXPEER>;typedef opaque keydat<YPMAXRECORD>;typedef opaque valdat<YPMAXRECORD>;struct ypmap_parms {domainname domain;mapname map;unsigned int ordernum;peername peer;};struct ypreq_key {domainname domain;mapname map;keydat key;};struct ypreq_nokey {domainname domain;mapname map;};struct ypreq_xfr {ypmap_parms map_parms;unsigned int transid;unsigned int prog;unsigned int port;};struct ypresp_val {ypstat stat;valdat val;};struct ypresp_key_val {ypstat stat;#ifdef STUPID_SUN_BUG /* These are backwards */keydat key;valdat val;#elsevaldat val;keydat key;#endif};struct ypresp_master {ypstat stat;peername peer;};struct ypresp_order {ypstat stat;unsigned int ordernum;};union ypresp_all switch (bool more) {case TRUE:ypresp_key_val val;case FALSE:void;};struct ypresp_xfr {unsigned int transid;ypxfrstat xfrstat;};struct ypmaplist {mapname map;ypmaplist *next;};struct ypresp_maplist {ypstat stat;ypmaplist *maps;};enum yppush_status {YPPUSH_SUCC = 1, /* Success */YPPUSH_AGE = 2, /* Master's version not newer */YPPUSH_NOMAP = -1, /* Can't find server for map */YPPUSH_NODOM = -2, /* Domain not supported */YPPUSH_RSRC = -3, /* Local resource alloc failure */YPPUSH_RPC = -4, /* RPC failure talking to server */YPPUSH_MADDR = -5, /* Can't get master address */YPPUSH_YPERR = -6, /* YP server/map db error */YPPUSH_BADARGS = -7, /* Request arguments bad */YPPUSH_DBM = -8, /* Local dbm operation failed */YPPUSH_FILE = -9, /* Local file I/O operation failed */YPPUSH_SKEW = -10, /* Map version skew during transfer */YPPUSH_CLEAR = -11, /* Can't send "Clear" req to local ypserv */YPPUSH_FORCE = -12, /* No local order number in map use -f flag. */YPPUSH_XFRERR = -13, /* ypxfr error */YPPUSH_REFUSED = -14 /* Transfer request refused by ypserv */};struct yppushresp_xfr {unsigned transid;yppush_status status;};/** Response structure and overall result status codes. Success and failure* represent two separate response message types.*/enum ypbind_resptype {YPBIND_SUCC_VAL = 1,YPBIND_FAIL_VAL = 2};struct ypbind_binding {opaque ypbind_binding_addr[4]; /* In network order */opaque ypbind_binding_port[2]; /* In network order */};union ypbind_resp switch (ypbind_resptype ypbind_status) {case YPBIND_FAIL_VAL:unsigned ypbind_error;case YPBIND_SUCC_VAL:ypbind_binding ypbind_bindinfo;};/* Detailed failure reason codes for response field ypbind_error*/const YPBIND_ERR_ERR = 1; /* Internal error */const YPBIND_ERR_NOSERV = 2; /* No bound server for passed domain */const YPBIND_ERR_RESC = 3; /* System resource allocation failure *//** Request data structure for ypbind "Set domain" procedure.*/struct ypbind_setdom {domainname ypsetdom_domain;ypbind_binding ypsetdom_binding;unsigned ypsetdom_vers;};/** NIS v1 support for backwards compatibility*/enum ypreqtype {YPREQ_KEY = 1,YPREQ_NOKEY = 2,YPREQ_MAP_PARMS = 3};enum ypresptype {YPRESP_VAL = 1,YPRESP_KEY_VAL = 2,YPRESP_MAP_PARMS = 3};union yprequest switch (ypreqtype yp_reqtype) {case YPREQ_KEY:ypreq_key yp_req_keytype;case YPREQ_NOKEY:ypreq_nokey yp_req_nokeytype;case YPREQ_MAP_PARMS:ypmap_parms yp_req_map_parmstype;};union ypresponse switch (ypresptype yp_resptype) {case YPRESP_VAL:ypresp_val yp_resp_valtype;case YPRESP_KEY_VAL:ypresp_key_val yp_resp_key_valtype;case YPRESP_MAP_PARMS:ypmap_parms yp_resp_map_parmstype;};#if !defined(YPBIND_ONLY) && !defined(YPPUSH_ONLY)/** YP access protocol*/program YPPROG {/** NIS v1 support for backwards compatibility*/version YPOLDVERS {voidYPOLDPROC_NULL(void) = 0;boolYPOLDPROC_DOMAIN(domainname) = 1;boolYPOLDPROC_DOMAIN_NONACK(domainname) = 2;ypresponseYPOLDPROC_MATCH(yprequest) = 3;ypresponseYPOLDPROC_FIRST(yprequest) = 4;ypresponseYPOLDPROC_NEXT(yprequest) = 5;ypresponseYPOLDPROC_POLL(yprequest) = 6;ypresponseYPOLDPROC_PUSH(yprequest) = 7;ypresponseYPOLDPROC_PULL(yprequest) = 8;ypresponseYPOLDPROC_GET(yprequest) = 9;} = 1;version YPVERS {voidYPPROC_NULL(void) = 0;boolYPPROC_DOMAIN(domainname) = 1;boolYPPROC_DOMAIN_NONACK(domainname) = 2;ypresp_valYPPROC_MATCH(ypreq_key) = 3;ypresp_key_val#ifdef STUPID_SUN_BUG /* should be ypreq_nokey */YPPROC_FIRST(ypreq_key) = 4;#elseYPPROC_FIRST(ypreq_nokey) = 4;#endifypresp_key_valYPPROC_NEXT(ypreq_key) = 5;ypresp_xfrYPPROC_XFR(ypreq_xfr) = 6;voidYPPROC_CLEAR(void) = 7;ypresp_allYPPROC_ALL(ypreq_nokey) = 8;ypresp_masterYPPROC_MASTER(ypreq_nokey) = 9;ypresp_orderYPPROC_ORDER(ypreq_nokey) = 10;ypresp_maplistYPPROC_MAPLIST(domainname) = 11;} = 2;} = 100004;#endif#if !defined(YPSERV_ONLY) && !defined(YPBIND_ONLY)/** YPPUSHPROC_XFRRESP is the callback routine for result of YPPROC_XFR*/program YPPUSH_XFRRESPPROG {version YPPUSH_XFRRESPVERS {voidYPPUSHPROC_NULL(void) = 0;#ifdef STUPID_SUN_BUG /* argument and return value are backwards */yppushresp_xfrYPPUSHPROC_XFRRESP(void) = 1;#elsevoidYPPUSHPROC_XFRRESP(yppushresp_xfr) = 1;#endif} = 1;} = 0x40000000; /* transient: could be anything up to 0x5fffffff */#endif#if !defined(YPSERV_ONLY) && !defined(YPPUSH_ONLY)/** YP binding protocol*/program YPBINDPROG {version YPBINDVERS {voidYPBINDPROC_NULL(void) = 0;ypbind_respYPBINDPROC_DOMAIN(domainname) = 1;voidYPBINDPROC_SETDOM(ypbind_setdom) = 2;} = 2;} = 100007;#endif
Go to most recent revision | Compare with Previous | Blame | View Log
