X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=i686-linux-gnu-4.7%2Fusr%2Finclude%2Frpcsvc%2Fyp.h;fp=i686-linux-gnu-4.7%2Fusr%2Finclude%2Frpcsvc%2Fyp.h;h=968b74c42e6532f8c38dd1ed629747435bd4bd16;hb=94df942c2c7bd3457276fe5b7367623cbb8c1302;hp=0000000000000000000000000000000000000000;hpb=4dd7d9155a920895ff7b1cb6b9c9c676aa62000a;p=cross.git diff --git a/i686-linux-gnu-4.7/usr/include/rpcsvc/yp.h b/i686-linux-gnu-4.7/usr/include/rpcsvc/yp.h new file mode 100644 index 0000000..968b74c --- /dev/null +++ b/i686-linux-gnu-4.7/usr/include/rpcsvc/yp.h @@ -0,0 +1,339 @@ +/* + * Copyright (c) 2010, Oracle America, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * * Neither the name of the "Oracle America, Inc." nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __RPCSVC_YP_H__ +#define __RPCSVC_YP_H__ + +#include +#include + +#define YPMAXRECORD 1024 +#define YPMAXDOMAIN 64 +#define YPMAXMAP 64 +#define 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, +}; +typedef enum ypstat ypstat; + +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 enum ypxfrstat ypxfrstat; + +typedef char *domainname; +typedef char *mapname; +typedef char *peername; + +typedef struct { + u_int keydat_len; + char *keydat_val; +} keydat; + +typedef struct { + u_int valdat_len; + char *valdat_val; +} valdat; + +struct ypmap_parms { + domainname domain; + mapname map; + u_int ordernum; + peername peer; +}; +typedef struct ypmap_parms ypmap_parms; + +struct ypreq_key { + domainname domain; + mapname map; + keydat key; +}; +typedef struct ypreq_key ypreq_key; + +struct ypreq_nokey { + domainname domain; + mapname map; +}; +typedef struct ypreq_nokey ypreq_nokey; + +struct ypreq_xfr { + ypmap_parms map_parms; + u_int transid; + u_int prog; + u_int port; +}; +typedef struct ypreq_xfr ypreq_xfr; + +struct ypresp_val { + ypstat stat; + valdat val; +}; +typedef struct ypresp_val ypresp_val; + +struct ypresp_key_val { + ypstat stat; +#ifdef STUPID_SUN_BUG + /* This is the form as distributed by Sun. But even the Sun NIS + servers expect the values in the other order. So their + implementation somehow must change the order internally. We + don't want to follow this bad example since the user should be + able to use rpcgen on this file. */ + keydat key; + valdat val; +#else + valdat val; + keydat key; +#endif +}; +typedef struct ypresp_key_val ypresp_key_val; + +struct ypresp_master { + ypstat stat; + peername peer; +}; +typedef struct ypresp_master ypresp_master; + +struct ypresp_order { + ypstat stat; + u_int ordernum; +}; +typedef struct ypresp_order ypresp_order; + +struct ypresp_all { + bool_t more; + union { + ypresp_key_val val; + } ypresp_all_u; +}; +typedef struct ypresp_all ypresp_all; + +struct ypresp_xfr { + u_int transid; + ypxfrstat xfrstat; +}; +typedef struct ypresp_xfr ypresp_xfr; + +struct ypmaplist { + mapname map; + struct ypmaplist *next; +}; +typedef struct ypmaplist ypmaplist; + +struct ypresp_maplist { + ypstat stat; + ypmaplist *maps; +}; +typedef struct ypresp_maplist ypresp_maplist; + +enum yppush_status { + YPPUSH_SUCC = 1, + YPPUSH_AGE = 2, + YPPUSH_NOMAP = -1, + YPPUSH_NODOM = -2, + YPPUSH_RSRC = -3, + YPPUSH_RPC = -4, + YPPUSH_MADDR = -5, + YPPUSH_YPERR = -6, + YPPUSH_BADARGS = -7, + YPPUSH_DBM = -8, + YPPUSH_FILE = -9, + YPPUSH_SKEW = -10, + YPPUSH_CLEAR = -11, + YPPUSH_FORCE = -12, + YPPUSH_XFRERR = -13, + YPPUSH_REFUSED = -14, +}; +typedef enum yppush_status yppush_status; + +struct yppushresp_xfr { + u_int transid; + yppush_status status; +}; +typedef struct yppushresp_xfr yppushresp_xfr; + +enum ypbind_resptype { + YPBIND_SUCC_VAL = 1, + YPBIND_FAIL_VAL = 2, +}; +typedef enum ypbind_resptype ypbind_resptype; + +struct ypbind_binding { + char ypbind_binding_addr[4]; + char ypbind_binding_port[2]; +}; +typedef struct ypbind_binding ypbind_binding; + +struct ypbind_resp { + ypbind_resptype ypbind_status; + union { + u_int ypbind_error; + ypbind_binding ypbind_bindinfo; + } ypbind_resp_u; +}; +typedef struct ypbind_resp ypbind_resp; + +#define YPBIND_ERR_ERR 1 +#define YPBIND_ERR_NOSERV 2 +#define YPBIND_ERR_RESC 3 + +struct ypbind_setdom { + domainname ypsetdom_domain; + ypbind_binding ypsetdom_binding; + u_int ypsetdom_vers; +}; +typedef struct ypbind_setdom ypbind_setdom; + +__BEGIN_DECLS + +#define YPPROG 100004 +#define YPVERS 2 + +#define YPPROC_NULL 0 +extern void *ypproc_null_2 (void *, CLIENT *); +extern void *ypproc_null_2_svc (void *, struct svc_req *); +#define YPPROC_DOMAIN 1 +extern bool_t *ypproc_domain_2 (domainname *, CLIENT *); +extern bool_t *ypproc_domain_2_svc (domainname *, struct svc_req *); +#define YPPROC_DOMAIN_NONACK 2 +extern bool_t *ypproc_domain_nonack_2 (domainname *, CLIENT *); +extern bool_t *ypproc_domain_nonack_2_svc (domainname *, struct svc_req *); +#define YPPROC_MATCH 3 +extern ypresp_val *ypproc_match_2 (ypreq_key *, CLIENT *); +extern ypresp_val *ypproc_match_2_svc (ypreq_key *, struct svc_req *); +#define YPPROC_FIRST 4 +extern ypresp_key_val *ypproc_first_2 (ypreq_key *, CLIENT *); +extern ypresp_key_val *ypproc_first_2_svc (ypreq_key *, struct svc_req *); +#define YPPROC_NEXT 5 +extern ypresp_key_val *ypproc_next_2 (ypreq_key *, CLIENT *); +extern ypresp_key_val *ypproc_next_2_svc (ypreq_key *, struct svc_req *); +#define YPPROC_XFR 6 +extern ypresp_xfr *ypproc_xfr_2 (ypreq_xfr *, CLIENT *); +extern ypresp_xfr *ypproc_xfr_2_svc (ypreq_xfr *, struct svc_req *); +#define YPPROC_CLEAR 7 +extern void *ypproc_clear_2 (void *, CLIENT *); +extern void *ypproc_clear_2_svc (void *, struct svc_req *); +#define YPPROC_ALL 8 +extern ypresp_all *ypproc_all_2 (ypreq_nokey *, CLIENT *); +extern ypresp_all *ypproc_all_2_svc (ypreq_nokey *, struct svc_req *); +#define YPPROC_MASTER 9 +extern ypresp_master *ypproc_master_2 (ypreq_nokey *, CLIENT *); +extern ypresp_master *ypproc_master_2_svc (ypreq_nokey *, struct svc_req *); +#define YPPROC_ORDER 10 +extern ypresp_order *ypproc_order_2 (ypreq_nokey *, CLIENT *); +extern ypresp_order *ypproc_order_2_svc (ypreq_nokey *, struct svc_req *); +#define YPPROC_MAPLIST 11 +extern ypresp_maplist *ypproc_maplist_2 (domainname *, CLIENT *); +extern ypresp_maplist *ypproc_maplist_2_svc (domainname *, struct svc_req *); +extern int ypprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t); + + +#define YPPUSH_XFRRESPPROG (0x40000000) +#define YPPUSH_XFRRESPVERS 1 + +#define YPPUSHPROC_NULL 0 +extern void *yppushproc_null_1 (void *, CLIENT *); +extern void *yppushproc_null_1_svc (void *, struct svc_req *); +#define YPPUSHPROC_XFRRESP 1 +extern void *yppushproc_xfrresp_1 (yppushresp_xfr *, CLIENT *); +extern void *yppushproc_xfrresp_1_svc (yppushresp_xfr *, struct svc_req *); +extern int yppush_xfrrespprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t); + + +#define YPBINDPROG 100007 +#define YPBINDVERS 2 + +#define YPBINDPROC_NULL 0 +extern void *ypbindproc_null_2 (void *, CLIENT *); +extern void *ypbindproc_null_2_svc (void *, struct svc_req *); +#define YPBINDPROC_DOMAIN 1 +extern ypbind_resp *ypbindproc_domain_2 (domainname *, CLIENT *); +extern ypbind_resp *ypbindproc_domain_2_svc (domainname *, struct svc_req *); +#define YPBINDPROC_SETDOM 2 +extern void *ypbindproc_setdom_2 (ypbind_setdom *, CLIENT *); +extern void *ypbindproc_setdom_2_svc (ypbind_setdom *, struct svc_req *); +extern int ypbindprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t); + + +extern bool_t xdr_ypstat (XDR *, ypstat*); +extern bool_t xdr_ypxfrstat (XDR *, ypxfrstat*); +extern bool_t xdr_domainname (XDR *, domainname*); +extern bool_t xdr_mapname (XDR *, mapname*); +extern bool_t xdr_peername (XDR *, peername*); +extern bool_t xdr_keydat (XDR *, keydat*); +extern bool_t xdr_valdat (XDR *, valdat*); +extern bool_t xdr_ypmap_parms (XDR *, ypmap_parms*); +extern bool_t xdr_ypreq_key (XDR *, ypreq_key*); +extern bool_t xdr_ypreq_nokey (XDR *, ypreq_nokey*); +extern bool_t xdr_ypreq_xfr (XDR *, ypreq_xfr*); +extern bool_t xdr_ypresp_val (XDR *, ypresp_val*); +extern bool_t xdr_ypresp_key_val (XDR *, ypresp_key_val*); +extern bool_t xdr_ypresp_master (XDR *, ypresp_master*); +extern bool_t xdr_ypresp_order (XDR *, ypresp_order*); +extern bool_t xdr_ypresp_all (XDR *, ypresp_all*); +extern bool_t xdr_ypresp_xfr (XDR *, ypresp_xfr*); +extern bool_t xdr_ypmaplist (XDR *, ypmaplist*); +extern bool_t xdr_ypresp_maplist (XDR *, ypresp_maplist*); +extern bool_t xdr_yppush_status (XDR *, yppush_status*); +extern bool_t xdr_yppushresp_xfr (XDR *, yppushresp_xfr*); +extern bool_t xdr_ypbind_resptype (XDR *, ypbind_resptype*); +extern bool_t xdr_ypbind_binding (XDR *, ypbind_binding*); +extern bool_t xdr_ypbind_resp (XDR *, ypbind_resp*); +extern bool_t xdr_ypbind_setdom (XDR *, ypbind_setdom*); + +__END_DECLS + +#endif /* !__RPCSVC_YP_H__ */