home *** CD-ROM | disk | FTP | other *** search
- /* @(#)ypv1_prot.h 1.1 88/02/17 4.0NFSSRC SMI */
-
- /*
- * Copyright (c) 1988 by Sun Microsystems, Inc.
- * 1.4 86/07/16
- */
-
-
- /*
- * This contains symbol and structure definitions used in supporting the old
- * "v1" protocol. They were previously defined in yp_prot.h.
- *
- * This file exists so that the yp system can provide backward compatibility.
- * Normal yp client processes should not use this interface: the old
- * protocol will not be supported in the next release.
- */
- #define YPOLDVERS (YPVERS - 1)
- #define YPOLDPROC_NULL ((u_long)0)
- #define YPOLDPROC_DOMAIN ((u_long)1)
- #define YPOLDPROC_DOMAIN_NONACK ((u_long)2)
- #define YPOLDPROC_MATCH ((u_long)3)
- #define YPOLDPROC_FIRST ((u_long)4)
- #define YPOLDPROC_NEXT ((u_long)5)
- #define YPOLDPROC_POLL ((u_long)6)
- #define YPOLDPROC_PUSH ((u_long)7)
- #define YPOLDPROC_PULL ((u_long)8)
- #define YPOLDPROC_GET ((u_long)9)
-
- enum ypreqtype {YPREQ_KEY = 1, YPREQ_NOKEY = 2, YPREQ_MAP_PARMS = 3};
- struct yprequest {
- enum ypreqtype yp_reqtype;
- union {
- struct ypreq_key yp_req_keytype;
- struct ypreq_nokey yp_req_nokeytype;
- struct ypmap_parms yp_req_map_parmstype;
- }yp_reqbody;
- };
-
- #define YPMATCH_REQTYPE YPREQ_KEY
- #define ypmatch_req_domain yp_reqbody.yp_req_keytype.domain
- #define ypmatch_req_map yp_reqbody.yp_req_keytype.map
- #define ypmatch_req_keydat yp_reqbody.yp_req_keytype.keydat
- #define ypmatch_req_keyptr yp_reqbody.yp_req_keytype.keydat.dptr
- #define ypmatch_req_keysize yp_reqbody.yp_req_keytype.keydat.dsize
-
- #define YPFIRST_REQTYPE YPREQ_NOKEY
- #define ypfirst_req_domain yp_reqbody.yp_req_nokeytype.domain
- #define ypfirst_req_map yp_reqbody.yp_req_nokeytype.map
-
- #define YPNEXT_REQTYPE YPREQ_KEY
- #define ypnext_req_domain yp_reqbody.yp_req_keytype.domain
- #define ypnext_req_map yp_reqbody.yp_req_keytype.map
- #define ypnext_req_keydat yp_reqbody.yp_req_keytype.keydat
- #define ypnext_req_keyptr yp_reqbody.yp_req_keytype.keydat.dptr
- #define ypnext_req_keysize yp_reqbody.yp_req_keytype.keydat.dsize
-
- #define YPPUSH_REQTYPE YPREQ_NOKEY
- #define yppush_req_domain yp_reqbody.yp_req_nokeytype.domain
- #define yppush_req_map yp_reqbody.yp_req_nokeytype.map
-
- #define YPPULL_REQTYPE YPREQ_NOKEY
- #define yppull_req_domain yp_reqbody.yp_req_nokeytype.domain
- #define yppull_req_map yp_reqbody.yp_req_nokeytype.map
-
- #define YPPOLL_REQTYPE YPREQ_NOKEY
- #define yppoll_req_domain yp_reqbody.yp_req_nokeytype.domain
- #define yppoll_req_map yp_reqbody.yp_req_nokeytype.map
-
- #define YPGET_REQTYPE YPREQ_MAP_PARMS
- #define ypget_req_domain yp_reqbody.yp_req_map_parmstype.domain
- #define ypget_req_map yp_reqbody.yp_req_map_parmstype.map
- #define ypget_req_ordernum yp_reqbody.yp_req_map_parmstype.ordernum
- #define ypget_req_owner yp_reqbody.yp_req_map_parmstype.owner
-
- enum ypresptype {YPRESP_VAL = 1, YPRESP_KEY_VAL = 2, YPRESP_MAP_PARMS = 3};
- struct ypresponse {
- enum ypresptype yp_resptype;
- union {
- struct ypresp_val yp_resp_valtype;
- struct ypresp_key_val yp_resp_key_valtype;
- struct ypmap_parms yp_resp_map_parmstype;
- } yp_respbody;
- };
-
- #define YPMATCH_RESPTYPE YPRESP_VAL
- #define ypmatch_resp_status yp_respbody.yp_resp_valtype.status
- #define ypmatch_resp_valdat yp_respbody.yp_resp_valtype.valdat
- #define ypmatch_resp_valptr yp_respbody.yp_resp_valtype.valdat.dptr
- #define ypmatch_resp_valsize yp_respbody.yp_resp_valtype.valdat.dsize
-
- #define YPFIRST_RESPTYPE YPRESP_KEY_VAL
- #define ypfirst_resp_status yp_respbody.yp_resp_key_valtype.status
- #define ypfirst_resp_keydat yp_respbody.yp_resp_key_valtype.keydat
- #define ypfirst_resp_keyptr yp_respbody.yp_resp_key_valtype.keydat.dptr
- #define ypfirst_resp_keysize yp_respbody.yp_resp_key_valtype.keydat.dsize
- #define ypfirst_resp_valdat yp_respbody.yp_resp_key_valtype.valdat
- #define ypfirst_resp_valptr yp_respbody.yp_resp_key_valtype.valdat.dptr
- #define ypfirst_resp_valsize yp_respbody.yp_resp_key_valtype.valdat.dsize
-
- #define YPNEXT_RESPTYPE YPRESP_KEY_VAL
- #define ypnext_resp_status yp_respbody.yp_resp_key_valtype.status
- #define ypnext_resp_keydat yp_respbody.yp_resp_key_valtype.keydat
- #define ypnext_resp_keyptr yp_respbody.yp_resp_key_valtype.keydat.dptr
- #define ypnext_resp_keysize yp_respbody.yp_resp_key_valtype.keydat.dsize
- #define ypnext_resp_valdat yp_respbody.yp_resp_key_valtype.valdat
- #define ypnext_resp_valptr yp_respbody.yp_resp_key_valtype.valdat.dptr
- #define ypnext_resp_valsize yp_respbody.yp_resp_key_valtype.valdat.dsize
-
- #define YPPOLL_RESPTYPE YPRESP_MAP_PARMS
- #define yppoll_resp_domain yp_respbody.yp_resp_map_parmstype.domain
- #define yppoll_resp_map yp_respbody.yp_resp_map_parmstype.map
- #define yppoll_resp_ordernum yp_respbody.yp_resp_map_parmstype.ordernum
- #define yppoll_resp_owner yp_respbody.yp_resp_map_parmstype.owner
-
-
- extern bool _xdr_yprequest();
- extern bool _xdr_ypresponse();
-
- #define YPBINDOLDVERS (YPBINDVERS - 1)
- struct ypbind_oldsetdom {
- char ypoldsetdom_domain[YPMAXDOMAIN + 1];
- struct ypbind_binding ypoldsetdom_binding;
- };
- #define ypoldsetdom_addr ypoldsetdom_binding.ypbind_binding_addr
- #define ypoldsetdom_port ypoldsetdom_binding.ypbind_binding_port
-
- extern bool _xdr_ypbind_oldsetdom();
-