10Sstevel@tonic-gate/* 20Sstevel@tonic-gate * CDDL HEADER START 30Sstevel@tonic-gate * 40Sstevel@tonic-gate * The contents of this file are subject to the terms of the 52830Sdjl * Common Development and Distribution License (the "License"). 62830Sdjl * You may not use this file except in compliance with the License. 70Sstevel@tonic-gate * 80Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 90Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 100Sstevel@tonic-gate * See the License for the specific language governing permissions 110Sstevel@tonic-gate * and limitations under the License. 120Sstevel@tonic-gate * 130Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 140Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 150Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 160Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 170Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 180Sstevel@tonic-gate * 190Sstevel@tonic-gate * CDDL HEADER END 200Sstevel@tonic-gate */ 21132Srobinson 220Sstevel@tonic-gate/* 2310008SAshok.Kumar@Sun.COM * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 240Sstevel@tonic-gate * Use is subject to license terms. 250Sstevel@tonic-gate */ 260Sstevel@tonic-gate 270Sstevel@tonic-gate 286812Sraf/* LINTLIBRARY */ 296812Sraf/* PROTOLIB1 */ 306812Sraf 310Sstevel@tonic-gate#include <sys/types.h> 320Sstevel@tonic-gate#include <thread.h> 330Sstevel@tonic-gate#include <synch.h> 340Sstevel@tonic-gate#include <fcntl.h> 350Sstevel@tonic-gate#include <sys/des.h> 360Sstevel@tonic-gate#include <des/softdes.h> 370Sstevel@tonic-gate#include <des/desdata.h> 380Sstevel@tonic-gate#include <rpc/rpc.h> 390Sstevel@tonic-gate#include <rpc/key_prot.h> 400Sstevel@tonic-gate#include <rpc/des_crypt.h> 410Sstevel@tonic-gate#include <rpc/pmap_prot.h> 420Sstevel@tonic-gate#include <sys/ioctl.h> 430Sstevel@tonic-gate#include <netdir.h> 440Sstevel@tonic-gate#include <nss_netdir.h> 450Sstevel@tonic-gate#include <nss_dbdefs.h> 460Sstevel@tonic-gate#include <sac.h> 470Sstevel@tonic-gate#include <netconfig.h> 480Sstevel@tonic-gate#include <ndbm.h> 490Sstevel@tonic-gate#include <rpcsvc/yp_prot.h> 500Sstevel@tonic-gate#include <rpcsvc/ypclnt.h> 510Sstevel@tonic-gate#include <rpcsvc/yppasswd.h> 520Sstevel@tonic-gate#include <rpcsvc/ypupd.h> 530Sstevel@tonic-gate#include <rpcsvc/nis.h> 540Sstevel@tonic-gate#include <rpcsvc/nislib.h> 550Sstevel@tonic-gate#include <sys/stream.h> 560Sstevel@tonic-gate#include <sys/stropts.h> 570Sstevel@tonic-gate#include <sys/tihdr.h> 580Sstevel@tonic-gate#include <sys/timod.h> 590Sstevel@tonic-gate#include <tiuser.h> 600Sstevel@tonic-gate 610Sstevel@tonic-gate 620Sstevel@tonic-gate/* 630Sstevel@tonic-gate * Declare t_errno, even though this file is compiled '_REENTRANT'. This 640Sstevel@tonic-gate * way t_errno is defined in the lint library, which is used for programs 650Sstevel@tonic-gate * compiled with _REENTRANT and those compiled without it. 660Sstevel@tonic-gate */ 670Sstevel@tonic-gate#ifdef t_errno 680Sstevel@tonic-gate#undef t_errno 690Sstevel@tonic-gate#endif 700Sstevel@tonic-gateextern int t_errno; 710Sstevel@tonic-gate 720Sstevel@tonic-gate/* 730Sstevel@tonic-gate * usr/src/lib/libnsl/common routines 740Sstevel@tonic-gate */ 750Sstevel@tonic-gate 760Sstevel@tonic-gate/* common.c */ 770Sstevel@tonic-gate 780Sstevel@tonic-gate/* 790Sstevel@tonic-gate * usr/src/lib/libnsl/des routines 800Sstevel@tonic-gate */ 810Sstevel@tonic-gate 820Sstevel@tonic-gate/* des_crypt.c */ 830Sstevel@tonic-gateint cbc_crypt(char *key, char *buf, size_t len, uint_t mode, char *ivec); 840Sstevel@tonic-gateint ecb_crypt(char *key, char *buf, size_t len, uint_t mode); 850Sstevel@tonic-gate 860Sstevel@tonic-gate/* des_soft.c */ 870Sstevel@tonic-gatevoid des_setparity(char *p); 880Sstevel@tonic-gateint __des_crypt(char *buf, unsigned len, struct desparams *desp); 890Sstevel@tonic-gate 900Sstevel@tonic-gate/* intl_crypt.c */ 910Sstevel@tonic-gate 920Sstevel@tonic-gate/* intl_soft.c */ 930Sstevel@tonic-gateint _des_crypt(char *buf, unsigned len, struct desparams *desp); 940Sstevel@tonic-gate 950Sstevel@tonic-gate/* 960Sstevel@tonic-gate * usr/src/lib/libnsl/dial routines 970Sstevel@tonic-gate */ 980Sstevel@tonic-gate 990Sstevel@tonic-gate/* callers.c */ 1000Sstevel@tonic-gate 1010Sstevel@tonic-gate/* conn.c */ 1020Sstevel@tonic-gate 1030Sstevel@tonic-gate/* dial.c */ 1040Sstevel@tonic-gatevoid undial(int fd); 1050Sstevel@tonic-gate 1060Sstevel@tonic-gate/* getargs.c */ 1070Sstevel@tonic-gate 1080Sstevel@tonic-gate/* interface.c */ 1090Sstevel@tonic-gate 1100Sstevel@tonic-gate/* line.c */ 1110Sstevel@tonic-gate 1120Sstevel@tonic-gate/* stoa.c */ 1130Sstevel@tonic-gate 1140Sstevel@tonic-gate/* strecpy.c */ 1150Sstevel@tonic-gate 1160Sstevel@tonic-gate/* strsave.c */ 1170Sstevel@tonic-gate 1180Sstevel@tonic-gate/* sysfiles.c */ 1190Sstevel@tonic-gate 1200Sstevel@tonic-gate/* ulockf.c */ 1210Sstevel@tonic-gate 1220Sstevel@tonic-gate/* uucpdefs.c */ 1230Sstevel@tonic-gate 1240Sstevel@tonic-gate/* 1250Sstevel@tonic-gate * usr/src/lib/libnsl/key routines 1260Sstevel@tonic-gate */ 1270Sstevel@tonic-gate 1280Sstevel@tonic-gate/* gen_dhkeys.c */ 1290Sstevel@tonic-gatevoid __gen_dhkeys(char *public, char *secret, char *pass); 1300Sstevel@tonic-gate 1310Sstevel@tonic-gate/* publickey.c */ 1320Sstevel@tonic-gateint getpublickey(const char *netname, char *pkey); 1330Sstevel@tonic-gateint __getpublickey_cached(char *netname, char *pkey, int *from_cache); 1340Sstevel@tonic-gatevoid __getpublickey_flush(const char *netname); 1350Sstevel@tonic-gateint getsecretkey(const char *netname, char *skey, const char *passwd); 1360Sstevel@tonic-gate 1370Sstevel@tonic-gate/* xcrypt.c */ 1380Sstevel@tonic-gateint xencrypt(char *secret, char *passwd); 1390Sstevel@tonic-gateint xdecrypt(char *secret, char *passwd); 1400Sstevel@tonic-gateint passwd2des(char *pw, char *key); 1410Sstevel@tonic-gate 1420Sstevel@tonic-gate/* 1430Sstevel@tonic-gate * usr/src/lib/libnsl/netdir routines 1440Sstevel@tonic-gate */ 1450Sstevel@tonic-gate 1460Sstevel@tonic-gate/* netdir.c */ 1470Sstevel@tonic-gateint *__nderror(void); 1480Sstevel@tonic-gateint netdir_getbyname(struct netconfig *tp, struct nd_hostserv *serv, 1490Sstevel@tonic-gate struct nd_addrlist **addrs); 1500Sstevel@tonic-gateint netdir_getbyaddr(struct netconfig *tp, struct nd_hostservlist **serv, 1510Sstevel@tonic-gate struct netbuf *addr); 1520Sstevel@tonic-gateint __netdir_getbyaddr_nosrv(struct netconfig *tp, 1530Sstevel@tonic-gate struct nd_hostservlist **serv, 1540Sstevel@tonic-gate struct netbuf *addr); 1550Sstevel@tonic-gateint netdir_options(struct netconfig *tp, int option, int fd, char *par); 1560Sstevel@tonic-gatestruct netbuf *uaddr2taddr(struct netconfig *tp, char *addr); 1570Sstevel@tonic-gatechar *taddr2uaddr(struct netconfig *tp, struct netbuf *addr); 1580Sstevel@tonic-gatevoid netdir_free(void *ptr, int type); 1590Sstevel@tonic-gatechar *netdir_sperror(void); 1600Sstevel@tonic-gatevoid netdir_perror(char *s); 1610Sstevel@tonic-gate 1620Sstevel@tonic-gate/* 1630Sstevel@tonic-gate * usr/src/lib/libnsl/netselect routines 1640Sstevel@tonic-gate */ 1650Sstevel@tonic-gate 1660Sstevel@tonic-gate/* netselect.c */ 1670Sstevel@tonic-gatevoid *setnetconfig(void); 1680Sstevel@tonic-gateint endnetconfig(void *vdata); 1690Sstevel@tonic-gatestruct netconfig *getnetconfig(void *vdata); 1700Sstevel@tonic-gatestruct netconfig *getnetconfigent(const char *netid); 1710Sstevel@tonic-gatevoid freenetconfigent(struct netconfig *netp); 1720Sstevel@tonic-gatevoid *setnetpath(void); 1730Sstevel@tonic-gateint endnetpath(void *vdata); 1740Sstevel@tonic-gatestruct netconfig *getnetpath(void *vdata); 1750Sstevel@tonic-gatechar *nc_sperror(void); 1760Sstevel@tonic-gatevoid nc_perror(const char *string); 1770Sstevel@tonic-gate 1780Sstevel@tonic-gate/* 1790Sstevel@tonic-gate * usr/src/lib/libnsl/nis/gen routines 1800Sstevel@tonic-gate */ 1810Sstevel@tonic-gate 1820Sstevel@tonic-gate/* nis_subr.c */ 1830Sstevel@tonic-gatename_pos nis_dir_cmp(nis_name n1, nis_name n2); 1840Sstevel@tonic-gatenis_name nis_local_group(void); 1850Sstevel@tonic-gatenis_name nis_domain_of(char *s); 1860Sstevel@tonic-gatenis_name nis_leaf_of_r(const nis_name s, char *buf, size_t bufsize); 1870Sstevel@tonic-gatenis_name nis_leaf_of(char *s); 1880Sstevel@tonic-gatenis_name nis_name_of(char *s); 1890Sstevel@tonic-gatenis_name nis_local_directory(void); 1900Sstevel@tonic-gatenis_name nis_local_host(void); 1910Sstevel@tonic-gatevoid nis_destroy_object(nis_object *obj); 1920Sstevel@tonic-gatenis_object *nis_clone_object(nis_object *obj, nis_object *dest); 1930Sstevel@tonic-gatenis_object *nis_read_obj(char *f); 1940Sstevel@tonic-gateint nis_write_obj(char *f, nis_object *o); 1950Sstevel@tonic-gatevoid *nis_get_static_storage(struct nis_sdata *bs, u_int el, u_int nel); 196*11262SRajagopal.Andra@Sun.COM/* 197*11262SRajagopal.Andra@Sun.COM * char *nis_old_data(char *s); 198*11262SRajagopal.Andra@Sun.COM * char *nis_data(char *s); 199*11262SRajagopal.Andra@Sun.COM */ 2000Sstevel@tonic-gate 2010Sstevel@tonic-gate/* nis_xdr.c */ 2020Sstevel@tonic-gatebool_t xdr_nis_attr(XDR *xdrs, nis_attr *objp); 2030Sstevel@tonic-gatebool_t xdr_nis_name(XDR *xdrs, nis_name *objp); 2040Sstevel@tonic-gatebool_t xdr_endpoint(XDR *xdrs, endpoint *objp); 2050Sstevel@tonic-gatebool_t xdr_nis_server(XDR *xdrs, nis_server *objp); 2060Sstevel@tonic-gatebool_t xdr_directory_obj(XDR *xdrs, directory_obj *objp); 2070Sstevel@tonic-gatebool_t xdr_entry_obj(XDR *xdrs, entry_obj *objp); 2080Sstevel@tonic-gatebool_t xdr_table_obj(XDR *xdrs, table_obj *objp); 2090Sstevel@tonic-gatebool_t xdr_objdata(XDR *xdrs, objdata *objp); 2100Sstevel@tonic-gatebool_t xdr_nis_oid(XDR *xdrs, nis_oid *objp); 2110Sstevel@tonic-gatebool_t xdr_nis_object(XDR *xdrs, nis_object *objp); 2120Sstevel@tonic-gatebool_t xdr_nis_object(XDR *xdrs, nis_object *objp); 2130Sstevel@tonic-gatebool_t xdr_log_entry_t(XDR *xdrs, log_entry_t *objp); 2140Sstevel@tonic-gatebool_t xdr_log_entry(XDR *xdrs, log_entry *objp); 2150Sstevel@tonic-gatebool_t xdr_nis_tag(XDR *xdrs, nis_tag *objp); 2160Sstevel@tonic-gatebool_t xdr_nis_bound_endpoint(XDR *xdrs, nis_bound_endpoint *objp); 2170Sstevel@tonic-gatebool_t xdr_nis_bound_directory(XDR *xdrs, nis_bound_directory *objp); 2180Sstevel@tonic-gatebool_t xdr_nis_active_endpoint(XDR *xdrs, nis_active_endpoint *objp); 2190Sstevel@tonic-gate 2200Sstevel@tonic-gate/* thr_misc.c */ 2210Sstevel@tonic-gate 2220Sstevel@tonic-gate/* 2230Sstevel@tonic-gate * usr/src/lib/libnsl/nsl routines 2240Sstevel@tonic-gate */ 2250Sstevel@tonic-gate 2260Sstevel@tonic-gate/* _conn_util.c */ 2270Sstevel@tonic-gate 2280Sstevel@tonic-gate/* _data2.c */ 2290Sstevel@tonic-gate 2300Sstevel@tonic-gate/* _errlst.c */ 2310Sstevel@tonic-gateint *__t_errno(void); 2320Sstevel@tonic-gate 2330Sstevel@tonic-gate/* _utility.c */ 2340Sstevel@tonic-gate 2350Sstevel@tonic-gate/* t_accept.c */ 2360Sstevel@tonic-gateint t_accept(int, int, struct t_call *); 2370Sstevel@tonic-gate 2380Sstevel@tonic-gate/* t_alloc.c */ 2390Sstevel@tonic-gatechar *t_alloc(int, int, int); 2400Sstevel@tonic-gate 2410Sstevel@tonic-gate/* t_bind.c */ 2420Sstevel@tonic-gateint t_bind(int, struct t_bind *, struct t_bind *); 2430Sstevel@tonic-gate 2440Sstevel@tonic-gate/* t_close.c */ 2450Sstevel@tonic-gateint t_close(int); 2460Sstevel@tonic-gate 2470Sstevel@tonic-gate/* t_connect.c */ 2480Sstevel@tonic-gateint t_connect(int, struct t_call *, struct t_call *); 2490Sstevel@tonic-gate 2500Sstevel@tonic-gate/* t_error.c */ 2510Sstevel@tonic-gatevoid t_error(const char *); 2520Sstevel@tonic-gate 2530Sstevel@tonic-gate/* t_free.c */ 2540Sstevel@tonic-gateint t_free(char *, int); 2550Sstevel@tonic-gate 2560Sstevel@tonic-gate/* t_getinfo.c */ 2570Sstevel@tonic-gateint t_getinfo(int, struct t_info *); 2580Sstevel@tonic-gate 2590Sstevel@tonic-gate/* t_getname.c */ 2600Sstevel@tonic-gateint t_getname(int, struct netbuf *, int); 2610Sstevel@tonic-gate 2620Sstevel@tonic-gate/* t_getstate.c */ 2630Sstevel@tonic-gateint t_getstate(int); 2640Sstevel@tonic-gate 2650Sstevel@tonic-gate/* t_listen.c */ 2660Sstevel@tonic-gateint t_listen(int, struct t_call *); 2670Sstevel@tonic-gate 2680Sstevel@tonic-gate/* t_look.c */ 2690Sstevel@tonic-gateint t_look(int); 2700Sstevel@tonic-gate 2710Sstevel@tonic-gate/* t_open.c */ 2720Sstevel@tonic-gateint t_open(const char *, int, struct t_info *); 2730Sstevel@tonic-gate 2740Sstevel@tonic-gate/* t_optmgmt.c */ 2750Sstevel@tonic-gateint t_optmgmt(int, struct t_optmgmt *, struct t_optmgmt *); 2760Sstevel@tonic-gate 2770Sstevel@tonic-gate/* t_rcv.c */ 2780Sstevel@tonic-gateint t_rcv(int, char *, unsigned, int *); 2790Sstevel@tonic-gate 2800Sstevel@tonic-gate/* t_rcvconnect.c */ 2810Sstevel@tonic-gateint t_rcvconnect(int, struct t_call *); 2820Sstevel@tonic-gate 2830Sstevel@tonic-gate/* t_rcvdis.c */ 2840Sstevel@tonic-gateint t_rcvdis(int, struct t_discon *); 2850Sstevel@tonic-gate 2860Sstevel@tonic-gate/* t_rcvrel.c */ 2870Sstevel@tonic-gateint t_rcvrel(int); 2880Sstevel@tonic-gate 2890Sstevel@tonic-gate/* t_rcvudata.c */ 2900Sstevel@tonic-gateint t_rcvudata(int, struct t_unitdata *, int *); 2910Sstevel@tonic-gate 2920Sstevel@tonic-gate/* t_rcvuderr.c */ 2930Sstevel@tonic-gateint t_rcvuderr(int, struct t_uderr *); 2940Sstevel@tonic-gate 2950Sstevel@tonic-gate/* t_snd.c */ 2960Sstevel@tonic-gateint t_snd(int, char *, unsigned, int); 2970Sstevel@tonic-gate 2980Sstevel@tonic-gate/* t_snddis */ 2990Sstevel@tonic-gateint t_snddis(int, struct t_call *); 3000Sstevel@tonic-gate 3010Sstevel@tonic-gate/* t_sndrel.c */ 3020Sstevel@tonic-gateint t_sndrel(int); 3030Sstevel@tonic-gate 3040Sstevel@tonic-gate/* t_sndudata.c */ 3050Sstevel@tonic-gateint t_sndudata(int, struct t_unitdata *); 3060Sstevel@tonic-gate 3070Sstevel@tonic-gate/* t_strerror.c */ 3086812Srafchar *t_strerror(int); 3090Sstevel@tonic-gate 3100Sstevel@tonic-gate/* t_sync.c */ 3110Sstevel@tonic-gateint t_sync(int); 3120Sstevel@tonic-gate 3130Sstevel@tonic-gate/* t_unbind.c */ 3140Sstevel@tonic-gateint t_unbind(int); 3150Sstevel@tonic-gate 3160Sstevel@tonic-gate/* 3170Sstevel@tonic-gate * struct t_iovec is defined in <xti.h>. But <xti.h> cannot be included 3180Sstevel@tonic-gate * because inclusion of <xti.h> and <tiuser.h> are mututally exclusive 3190Sstevel@tonic-gate * and <tiuser.h> is exposed by the inclusion of <rpc/rpc.h>. Needs to 3200Sstevel@tonic-gate * be seen how to build llib-lnsl.ln from multiple source files to avoid 3210Sstevel@tonic-gate * this problem. 3220Sstevel@tonic-gate */ 3230Sstevel@tonic-gatestruct t_iovec { 3240Sstevel@tonic-gate void *iov_base; 3250Sstevel@tonic-gate size_t iov_len; 3260Sstevel@tonic-gate}; 3270Sstevel@tonic-gate 3280Sstevel@tonic-gate/* t_sndv.c */ 3290Sstevel@tonic-gateint t_sndv(int, const struct t_iovec *, unsigned int, int); 3300Sstevel@tonic-gate 3310Sstevel@tonic-gate/* t_sndvudata.c */ 3320Sstevel@tonic-gateint t_sndvudata(int, struct t_unitdata *, struct t_iovec *, unsigned int); 3330Sstevel@tonic-gate 3340Sstevel@tonic-gate/* t_sndreldata.c */ 3350Sstevel@tonic-gateint t_sndreldata(int, struct t_discon *); 3360Sstevel@tonic-gate 3370Sstevel@tonic-gate/* t_rcvv.c */ 3380Sstevel@tonic-gateint t_rcvv(int, struct t_iovec *, unsigned int, int *); 3390Sstevel@tonic-gate 3400Sstevel@tonic-gate/* t_rcvvudata.c */ 3410Sstevel@tonic-gateint t_rcvvudata(int, struct t_unitdata *, struct t_iovec *, 3420Sstevel@tonic-gate unsigned int, int *); 3430Sstevel@tonic-gate 3440Sstevel@tonic-gate/* t_rcvreldata.c */ 3450Sstevel@tonic-gateextern int t_rcvreldata(int, struct t_discon *); 3460Sstevel@tonic-gate 3470Sstevel@tonic-gate/* t_sysconf.c */ 3480Sstevel@tonic-gateint t_sysconf(int); 3490Sstevel@tonic-gate 3500Sstevel@tonic-gate/* xti_wrappers.c */ 3510Sstevel@tonic-gateint _xti_accept(int, int, struct t_call *); 3520Sstevel@tonic-gateint _xti_xns5_accept(int, int, struct t_call *); 3530Sstevel@tonic-gatechar *_xti_alloc(int, int, int); 3540Sstevel@tonic-gateint _xti_bind(int, struct t_bind *, struct t_bind *); 3550Sstevel@tonic-gateint _xti_close(int); 3560Sstevel@tonic-gateint _xti_connect(int, struct t_call *, struct t_call *); 3570Sstevel@tonic-gateint _xti_error(char *); 3580Sstevel@tonic-gateint _xti_free(char *, int); 3590Sstevel@tonic-gateint _xti_getinfo(int, struct t_info *); 3600Sstevel@tonic-gateint _xti_getprotaddr(int, struct t_bind *, struct t_bind *); 3610Sstevel@tonic-gateint _xti_getstate(int); 3620Sstevel@tonic-gateint _xti_listen(int, struct t_call *); 3630Sstevel@tonic-gateint _xti_look(int); 3640Sstevel@tonic-gateint _xti_open(char *, int, struct t_info *); 3650Sstevel@tonic-gateint _xti_optmgmt(int, struct t_optmgmt *, struct t_optmgmt *); 3660Sstevel@tonic-gateint _xti_rcv(int, char *, unsigned int, int *); 3670Sstevel@tonic-gateint _xti_rcvconnect(int, struct t_call *); 3680Sstevel@tonic-gateint _xti_rcvdis(int, struct t_discon *); 3690Sstevel@tonic-gateint _xti_rcvrel(int); 3700Sstevel@tonic-gateint _xti_rcvreldata(int, struct t_discon *); 3710Sstevel@tonic-gateint _xti_rcvudata(int, struct t_unitdata *, int *); 3720Sstevel@tonic-gateint _xti_rcvuderr(int, struct t_uderr *); 3730Sstevel@tonic-gateint _xti_rcvv(int, struct t_iovec *, unsigned int, int *); 3740Sstevel@tonic-gateint _xti_rcvvudata(int, struct t_unitdata *, struct t_iovec *, 3750Sstevel@tonic-gate unsigned int, int *); 3760Sstevel@tonic-gateint _xti_snd(int, char *, unsigned int, int); 3770Sstevel@tonic-gateint _xti_xns5_snd(int, char *, unsigned int, int); 3780Sstevel@tonic-gateint _xti_snddis(int, struct t_call *); 3790Sstevel@tonic-gateint _xti_sndrel(int); 3800Sstevel@tonic-gateint _xti_sndreldata(int, struct t_discon *); 3810Sstevel@tonic-gateint _xti_sndudata(int, struct t_unitdata *); 3820Sstevel@tonic-gateint _xti_sndv(int, const struct t_iovec *, unsigned int, int); 3830Sstevel@tonic-gateint _xti_sndvudata(int, struct t_unitdata *, struct t_iovec *, unsigned int); 3840Sstevel@tonic-gatechar *_xti_strerror(int); 3850Sstevel@tonic-gateint _xti_sync(int); 3860Sstevel@tonic-gateint _xti_sysconf(int); 3870Sstevel@tonic-gateint _xti_unbind(int); 3880Sstevel@tonic-gate 3890Sstevel@tonic-gate/* 3900Sstevel@tonic-gate * usr/src/lib/libnsl/nss routines 3910Sstevel@tonic-gate */ 3920Sstevel@tonic-gate 3930Sstevel@tonic-gate/* gethostby_door.c */ 3940Sstevel@tonic-gate 3950Sstevel@tonic-gate/* gethostbyname_r.c */ 3960Sstevel@tonic-gatestruct hostent *_uncached_gethostbyname_r(const char *nam, 3970Sstevel@tonic-gate struct hostent *result, 3980Sstevel@tonic-gate char *buffer, int buflen, int *h_errnop); 3990Sstevel@tonic-gatestruct hostent *_uncached_gethostbyaddr_r(const char *addr, int length, 4000Sstevel@tonic-gate int type, struct hostent *result, 4010Sstevel@tonic-gate char *buffer, int buflen, int *h_errnop); 4020Sstevel@tonic-gatestruct hostent *gethostbyname_r(const char *nam, struct hostent *result, 4030Sstevel@tonic-gate char *buffer, int buflen, int *h_errnop); 4040Sstevel@tonic-gatestruct hostent *gethostbyaddr_r(const char *addr, int length, int type, 4050Sstevel@tonic-gate struct hostent *result, 4060Sstevel@tonic-gate char *buffer, int buflen, int *h_errnop); 4070Sstevel@tonic-gate 4080Sstevel@tonic-gate/* gethostent.c */ 4090Sstevel@tonic-gatestruct hostent *gethostbyname(const char *nam); 4100Sstevel@tonic-gatestruct hostent *gethostbyaddr(const void *addr, socklen_t len, int type); 4110Sstevel@tonic-gatestruct hostent *gethostent(void); 4120Sstevel@tonic-gate 4130Sstevel@tonic-gate/* gethostent_r.c */ 4140Sstevel@tonic-gateint sethostent(int stay); 4150Sstevel@tonic-gateint endhostent(void); 4160Sstevel@tonic-gatestruct hostent *gethostent_r(struct hostent *result, char *buffer, int buflen, 4170Sstevel@tonic-gate int *h_errnop); 4180Sstevel@tonic-gate 4190Sstevel@tonic-gate/* getipnodeby.c */ 4200Sstevel@tonic-gatevoid freehostent(struct hostent *hent); 4210Sstevel@tonic-gatestruct hostent *getipnodebyaddr(const void *src, size_t len, int type, 4220Sstevel@tonic-gate int *error_num); 4230Sstevel@tonic-gatestruct hostent *getipnodebyname(const char *name, int af, int flags, 4240Sstevel@tonic-gate int *error_num); 4250Sstevel@tonic-gate 4260Sstevel@tonic-gate/* getrpcent.c */ 4270Sstevel@tonic-gatestruct rpcent *getrpcbyname(const char *nam); 4280Sstevel@tonic-gatestruct rpcent *getrpcbynumber(const int num); 4290Sstevel@tonic-gatestruct rpcent *getrpcent(void); 4300Sstevel@tonic-gate 4310Sstevel@tonic-gate/* getrpcent_r.c */ 4320Sstevel@tonic-gatestruct rpcent *getrpcbyname_r(const char *name, struct rpcent *result, 4330Sstevel@tonic-gate char *buffer, int buflen); 4340Sstevel@tonic-gatestruct rpcent *getrpcbynumber_r(const int number, struct rpcent *result, 4350Sstevel@tonic-gate char *buffer, int buflen); 4360Sstevel@tonic-gatevoid setrpcent(const int stay); 4370Sstevel@tonic-gatevoid endrpcent(void); 4380Sstevel@tonic-gatestruct rpcent *getrpcent_r(struct rpcent *result, char *buffer, int buflen); 4390Sstevel@tonic-gate 4400Sstevel@tonic-gate/* inet_ntop.c */ 4410Sstevel@tonic-gateconst char *inet_ntop(int af, const void *src, char *dst, socklen_t size); 4420Sstevel@tonic-gate 4430Sstevel@tonic-gate/* inet_pton.c */ 4440Sstevel@tonic-gateint inet_pton(int af, const char *src, void *dst); 4450Sstevel@tonic-gate 4460Sstevel@tonic-gate/* netdir_inet.c */ 4470Sstevel@tonic-gateint _get_hostserv_inetnetdir_byname(struct netconfig *nconf, 4480Sstevel@tonic-gate struct nss_netdirbyname_in *args, 4490Sstevel@tonic-gate union nss_netdirbyname_out *res); 4500Sstevel@tonic-gateint _get_hostserv_inetnetdir_byaddr(struct netconfig *nconf, 4510Sstevel@tonic-gate struct nss_netdirbyaddr_in *args, 4520Sstevel@tonic-gate union nss_netdirbyaddr_out *res); 4530Sstevel@tonic-gateint __nss2herrno(nss_status_t nsstat); 4540Sstevel@tonic-gatenss_status_t _herrno2nss(int h_errno); 4550Sstevel@tonic-gatestruct hostent *_switch_gethostbyname_r(const char *name, 4560Sstevel@tonic-gate struct hostent *result, 4570Sstevel@tonic-gate char *buffer, int buflen, int *h_errnop); 4580Sstevel@tonic-gatestruct hostent *_switch_gethostbyaddr_r(const char *addr, int len, int type, 4590Sstevel@tonic-gate struct hostent *result, 4600Sstevel@tonic-gate char *buffer, int buflen, int *h_errnop); 4610Sstevel@tonic-gateint str2servent(const char *instr, int lenstr, void *ent, 4620Sstevel@tonic-gate char *buffer, int buflen); 4630Sstevel@tonic-gatevoid *__inet_get_local_interfaces(void); 4640Sstevel@tonic-gatevoid __inet_free_local_interfaces(void *p); 4650Sstevel@tonic-gateint __inet_address_is_local(void *p, struct in_addr addr); 4660Sstevel@tonic-gateint __inet_uaddr_is_local(void *p, struct netconfig *nc, char *uaddr); 4670Sstevel@tonic-gateint __inet_address_count(void *p); 4680Sstevel@tonic-gateulong_t __inet_get_addr(void *p, int n); 4690Sstevel@tonic-gatechar *__inet_get_uaddr(void *p, struct netconfig *nc, int n); 4700Sstevel@tonic-gatechar *__inet_get_networka(void *p, int n); 4710Sstevel@tonic-gate 4720Sstevel@tonic-gate/* netdir_inet_sundry.c */ 4730Sstevel@tonic-gate 4740Sstevel@tonic-gate/* 4750Sstevel@tonic-gate * usr/src/lib/libnsl/rpc routines 4760Sstevel@tonic-gate */ 4770Sstevel@tonic-gate 4780Sstevel@tonic-gate/* auth_des.c */ 4790Sstevel@tonic-gateAUTH *authdes_seccreate(const char *servername, uint_t win, 4800Sstevel@tonic-gate const char *timehost, const des_block *ckey); 4810Sstevel@tonic-gate 4820Sstevel@tonic-gate/* auth_none.c */ 4830Sstevel@tonic-gateAUTH *authnone_create(void); 4840Sstevel@tonic-gate 4850Sstevel@tonic-gate/* auth_sys.c */ 4860Sstevel@tonic-gateAUTH *authsys_create(const char *machname, uid_t uid, gid_t gid, int len, 4870Sstevel@tonic-gate const gid_t *aup_gids); 4880Sstevel@tonic-gateAUTH *authsys_create_default(void); 4890Sstevel@tonic-gate 4900Sstevel@tonic-gate/* auth_time.c */ 4910Sstevel@tonic-gate 4920Sstevel@tonic-gate/* authdes_prot.c */ 4930Sstevel@tonic-gatebool_t xdr_authdes_cred(XDR *xdrs, struct authdes_cred *cred); 4940Sstevel@tonic-gatebool_t xdr_authdes_verf(XDR *xdrs, struct authdes_verf *verf); 4950Sstevel@tonic-gate 4960Sstevel@tonic-gate/* authsys_prot.c */ 4970Sstevel@tonic-gatebool_t xdr_authsys_parms(XDR *xdrs, struct authsys_parms *p); 4980Sstevel@tonic-gatebool_t xdr_uid_t(XDR *xdrs, uid_t *ip); 4990Sstevel@tonic-gatebool_t xdr_gid_t(XDR *xdrs, gid_t *ip); 5000Sstevel@tonic-gate 5010Sstevel@tonic-gate/* clnt_bcast.c */ 5020Sstevel@tonic-gateenum clnt_stat rpc_broadcast_exp(rpcprog_t prog, rpcvers_t vers, rpcproc_t proc, 5030Sstevel@tonic-gate xdrproc_t xargs, caddr_t argsp, xdrproc_t xresults, 5040Sstevel@tonic-gate caddr_t resultsp, resultproc_t eachresult, int inittime, 5050Sstevel@tonic-gate int waittime, const char *netclass); 5060Sstevel@tonic-gateenum clnt_stat rpc_broadcast(rpcprog_t prog, rpcvers_t vers, rpcproc_t proc, 5070Sstevel@tonic-gate xdrproc_t xargs, caddr_t argsp, xdrproc_t xresults, 5080Sstevel@tonic-gate caddr_t resultsp, resultproc_t eachresult, 5090Sstevel@tonic-gate const char *netclass); 5100Sstevel@tonic-gate 5110Sstevel@tonic-gate/* clnt_dg.c */ 5120Sstevel@tonic-gateCLIENT *clnt_dg_create(int fd, struct netbuf *svcaddr, rpcprog_t program, 5130Sstevel@tonic-gate rpcvers_t version, uint_t sendsz, uint_t recvsz); 5140Sstevel@tonic-gate 5150Sstevel@tonic-gate/* clnt_door.c */ 5160Sstevel@tonic-gateCLIENT *clnt_door_create(rpcprog_t program, rpcvers_t version, uint_t sendsz); 5170Sstevel@tonic-gate 5180Sstevel@tonic-gate/* clnt_generic.c */ 5190Sstevel@tonic-gateCLIENT *clnt_create_vers(const char *hostname, rpcprog_t prog, 5200Sstevel@tonic-gate rpcvers_t *vers_out, rpcvers_t vers_low, 5210Sstevel@tonic-gate rpcvers_t vers_high, const char *nettype); 5220Sstevel@tonic-gateCLIENT *clnt_create_vers_timed(const char *hostname, rpcprog_t prog, 5230Sstevel@tonic-gate rpcvers_t *vers_out, rpcvers_t vers_low, 5240Sstevel@tonic-gate rpcvers_t vers_high, const char *nettype, 5250Sstevel@tonic-gate const struct timeval *tp); 5260Sstevel@tonic-gateCLIENT *clnt_create(const char *hostname, rpcprog_t prog, rpcvers_t vers, 5270Sstevel@tonic-gate const char *nettype); 5280Sstevel@tonic-gateCLIENT *clnt_create_timed(const char *hostname, rpcprog_t prog, rpcvers_t vers, 5290Sstevel@tonic-gate const char *netclass, const struct timeval *tp); 5300Sstevel@tonic-gateCLIENT *clnt_tp_create(const char *hostname, rpcprog_t prog, rpcvers_t vers, 5310Sstevel@tonic-gate const struct netconfig *nconf); 5320Sstevel@tonic-gateCLIENT *clnt_tp_create_timed(const char *hostname, rpcprog_t prog, 5330Sstevel@tonic-gate rpcvers_t vers, const struct netconfig *nconf, 5340Sstevel@tonic-gate const struct timeval *tp); 5350Sstevel@tonic-gateCLIENT *clnt_tli_create(int fd, const struct netconfig *nconf, 5360Sstevel@tonic-gate struct netbuf *svcaddr, rpcprog_t prog, rpcvers_t vers, 5370Sstevel@tonic-gate uint_t sendsz, uint_t recvsz); 5380Sstevel@tonic-gate 5390Sstevel@tonic-gate/* clnt_perror.c */ 5400Sstevel@tonic-gatechar *clnt_sperror(const CLIENT *cl, const char *s); 5410Sstevel@tonic-gatevoid clnt_perror(const CLIENT *cl, const char *s); 5420Sstevel@tonic-gatevoid clnt_perrno(enum clnt_stat num); 5430Sstevel@tonic-gatechar *clnt_spcreateerror(const char *s); 5440Sstevel@tonic-gatevoid clnt_pcreateerror(const char *s); 5450Sstevel@tonic-gateconst char *clnt_sperrno(const enum clnt_stat stat); 5460Sstevel@tonic-gate 5470Sstevel@tonic-gate/* clnt_raw.c */ 5480Sstevel@tonic-gateCLIENT *clnt_raw_create(rpcprog_t prog, rpcvers_t vers); 5490Sstevel@tonic-gate 5500Sstevel@tonic-gate/* clnt_simple.c */ 5510Sstevel@tonic-gateenum clnt_stat rpc_call(const char *host, rpcprog_t prognum, rpcvers_t versnum, 5520Sstevel@tonic-gate rpcproc_t procnum, xdrproc_t inproc, const char *in, 5530Sstevel@tonic-gate xdrproc_t outproc, char *out, const char *netclass); 5540Sstevel@tonic-gate 5550Sstevel@tonic-gate/* clnt_vc.c */ 5560Sstevel@tonic-gateCLIENT *clnt_vc_create(int fd, struct netbuf *svcaddr, rpcprog_t prog, 5570Sstevel@tonic-gate rpcvers_t vers, uint_t sendsz, uint_t recvsz); 5580Sstevel@tonic-gate 5590Sstevel@tonic-gate/* getdname.c */ 5600Sstevel@tonic-gateint getdomainname(char *name, int namelen); 5610Sstevel@tonic-gateint setdomainname(char *domain, int len); 5620Sstevel@tonic-gate 5630Sstevel@tonic-gate/* gethostname.c */ 5640Sstevel@tonic-gateint gethostname(char *hname, int hlen); 5650Sstevel@tonic-gate 5660Sstevel@tonic-gate/* inet_ntoa.c */ 5670Sstevel@tonic-gatechar *inet_ntoa_r(struct in_addr in, char b[]); 5680Sstevel@tonic-gatechar *inet_ntoa(struct in_addr in); 5690Sstevel@tonic-gatein_addr_t inet_addr(const char *cp); 5700Sstevel@tonic-gatein_addr_t inet_netof(struct in_addr in); 5710Sstevel@tonic-gate 5720Sstevel@tonic-gate/* key_call.c */ 5730Sstevel@tonic-gateint key_setsecret(const char *secretkey); 5740Sstevel@tonic-gateint key_secretkey_is_set(void); 575132Srobinsonint key_encryptsession_pk(const char *remotename, netobj *remotekey, 5760Sstevel@tonic-gate des_block *deskey); 577132Srobinsonint key_decryptsession_pk(const char *remotename, netobj *remotekey, 5780Sstevel@tonic-gate des_block *deskey); 5790Sstevel@tonic-gate 5800Sstevel@tonic-gateint key_encryptsession(const char *remotename, des_block *deskey); 5810Sstevel@tonic-gateint key_decryptsession(const char *remotename, des_block *deskey); 5820Sstevel@tonic-gateint key_gendes(des_block *key); 5830Sstevel@tonic-gateint key_setnet(struct key_netstarg *arg); 5840Sstevel@tonic-gateint key_get_conv(char *pkey, des_block *deskey); 5850Sstevel@tonic-gateint key_call(ulong_t proc, xdrproc_t xdr_arg, char *arg, xdrproc_t xdr_rslt, 5860Sstevel@tonic-gate char *rslt); 5870Sstevel@tonic-gate 5880Sstevel@tonic-gate/* key_prot.c */ 589132Srobinsonbool_t xdr_keystatus(XDR *xdrs, keystatus *objp); 590132Srobinsonbool_t xdr_keybuf(XDR *xdrs, keybuf objp); 591132Srobinsonbool_t xdr_netnamestr(XDR *xdrs, netnamestr *objp); 592132Srobinsonbool_t xdr_cryptkeyarg(XDR *xdrs, cryptkeyarg *objp); 593132Srobinsonbool_t xdr_cryptkeyarg2(XDR *xdrs, cryptkeyarg2 *objp); 594132Srobinsonbool_t xdr_cryptkeyres(XDR *xdrs, cryptkeyres *objp); 595132Srobinsonbool_t xdr_unixcred(XDR *xdrs, unixcred *objp); 596132Srobinsonbool_t xdr_getcredres(XDR *xdrs, getcredres *objp); 597132Srobinsonbool_t xdr_key_netstarg(XDR *xdrs, key_netstarg *objp); 598132Srobinsonbool_t xdr_key_netstres(XDR *xdrs, key_netstres *objp); 5990Sstevel@tonic-gate 6000Sstevel@tonic-gate/* mt_misc.c */ 6010Sstevel@tonic-gate#ifdef rpc_createerr 6020Sstevel@tonic-gate#undef rpc_createerr 6030Sstevel@tonic-gate#endif 6040Sstevel@tonic-gatestruct rpc_createerr *__rpc_createerr(void); 6050Sstevel@tonic-gate 6060Sstevel@tonic-gate/* netname.c */ 6070Sstevel@tonic-gateint getnetname(char *name); 6080Sstevel@tonic-gateint __getnetnamebyuid(char *name, uid_t uid); 6090Sstevel@tonic-gateint user2netname(char *netname, const uid_t uid, const char *domain); 6100Sstevel@tonic-gateint host2netname(char *netname, const char *host, const char *domain); 6110Sstevel@tonic-gate 6120Sstevel@tonic-gate/* netnamer.c */ 6130Sstevel@tonic-gateint netname2user(const char *netname, uid_t *uidp, gid_t *gidp, 6140Sstevel@tonic-gate int *gidlenp, gid_t *gidlist); 6150Sstevel@tonic-gateint netname2host(const char *netname, char *hostname, int hostlen); 6160Sstevel@tonic-gate 6170Sstevel@tonic-gate/* openchild.c */ 6180Sstevel@tonic-gate 6190Sstevel@tonic-gate/* pmap_clnt.c */ 6200Sstevel@tonic-gateint pmap_set(rpcprog_t program, rpcvers_t version, rpcprot_t protocol, ushort_t port); 6210Sstevel@tonic-gatebool_t pmap_unset(rpcprog_t program, rpcvers_t version); 6220Sstevel@tonic-gateushort_t pmap_getport(struct sockaddr_in *address, rpcprog_t program, 6230Sstevel@tonic-gate rpcvers_t version, rpcprot_t protocol); 6240Sstevel@tonic-gatestruct pmaplist *pmap_getmaps(struct sockaddr_in *address); 6250Sstevel@tonic-gateenum clnt_stat pmap_rmtcall(struct sockaddr_in *addr, rpcprog_t prog, 6260Sstevel@tonic-gate rpcvers_t vers, rpcproc_t proc, xdrproc_t xdrargs, 6270Sstevel@tonic-gate caddr_t argsp, xdrproc_t xdrres, caddr_t resp, 6280Sstevel@tonic-gate struct timeval tout, rpcport_t *port_ptr); 6290Sstevel@tonic-gate 6300Sstevel@tonic-gate/* pmap_prot.c */ 6310Sstevel@tonic-gatebool_t xdr_pmap(XDR *xdrs, struct pmap *objp); 6320Sstevel@tonic-gatebool_t xdr_pmaplist_ptr(XDR *xdrs, pmaplist_ptr *rp); 6330Sstevel@tonic-gatebool_t xdr_pmaplist(XDR *xdrs, PMAPLIST **rp); 6340Sstevel@tonic-gatebool_t xdr_rmtcallargs(XDR *xdrs, struct p_rmtcallargs *cap); 6350Sstevel@tonic-gatebool_t xdr_rmtcallres(XDR *xdrs, struct p_rmtcallres *crp); 6360Sstevel@tonic-gate 6370Sstevel@tonic-gate/* rpc_callmsg.c */ 6380Sstevel@tonic-gatebool_t xdr_callmsg(XDR *xdrs, struct rpc_msg *cmsg); 6390Sstevel@tonic-gate 6400Sstevel@tonic-gate/* rpc_comdata.c */ 6410Sstevel@tonic-gate 6420Sstevel@tonic-gate/* rpc_generic.c */ 6430Sstevel@tonic-gateint __rpc_dtbsize(void); 6440Sstevel@tonic-gateuint_t __rpc_get_t_size(t_scalar_t size, t_scalar_t bufsize); 6450Sstevel@tonic-gateuint_t __rpc_get_a_size(t_scalar_t size); 6460Sstevel@tonic-gatestruct netconfig *__rpc_getconfip(char *nettype); 6470Sstevel@tonic-gatevoid *__rpc_setconf(char *nettype); 6480Sstevel@tonic-gatestruct netconfig *__rpc_getconf(void *vhandle); 6490Sstevel@tonic-gatevoid __rpc_endconf(void *vhandle); 6500Sstevel@tonic-gatestruct netconfig *__rpcfd_to_nconf(int fd, int servtype); 6510Sstevel@tonic-gateint __rpc_matchserv(int servtype, unsigned int nc_semantics); 6520Sstevel@tonic-gate 6530Sstevel@tonic-gate/* rpc_prot.c */ 6540Sstevel@tonic-gatebool_t xdr_opaque_auth(XDR *xdrs, struct opaque_auth *ap); 6550Sstevel@tonic-gatebool_t xdr_des_block(XDR *xdrs, des_block *blkp); 6560Sstevel@tonic-gatebool_t xdr_accepted_reply(XDR *xdrs, struct accepted_reply *ar); 6570Sstevel@tonic-gatebool_t xdr_rejected_reply(XDR *xdrs, struct rejected_reply *rr); 6580Sstevel@tonic-gatebool_t xdr_replymsg(XDR *xdrs, struct rpc_msg *rmsg); 6590Sstevel@tonic-gatebool_t xdr_callhdr(XDR *xdrs, struct rpc_msg *cmsg); 6600Sstevel@tonic-gatevoid __seterr_reply(struct rpc_msg *msg, struct rpc_err *error); 6610Sstevel@tonic-gate 6620Sstevel@tonic-gate/* rpc_sel2poll.c */ 6630Sstevel@tonic-gateint __rpc_select_to_poll(int fdmax, fd_set *fdset, struct pollfd *p0); 6640Sstevel@tonic-gateint __rpc_timeval_to_msec(struct timeval *t); 6650Sstevel@tonic-gate 6660Sstevel@tonic-gate/* rpc_soc.c */ 6670Sstevel@tonic-gateCLIENT *clntudp_bufcreate(struct sockaddr_in *raddr, rpcprog_t prog, 6680Sstevel@tonic-gate rpcvers_t vers, struct timeval wait, int *sockp, 6690Sstevel@tonic-gate uint_t sendsz, uint_t recvsz); 6700Sstevel@tonic-gateCLIENT *clntudp_create(struct sockaddr_in *raddr, rpcprog_t program, 6710Sstevel@tonic-gate rpcvers_t version, struct timeval wait, int *sockp); 6720Sstevel@tonic-gateCLIENT *clnttcp_create(struct sockaddr_in *raddr, rpcprog_t prog, 6730Sstevel@tonic-gate rpcvers_t vers, int *sockp, uint_t sendsz, 6740Sstevel@tonic-gate uint_t recvsz); 6750Sstevel@tonic-gateCLIENT *clntraw_create(rpcprog_t prog, rpcvers_t vers); 6760Sstevel@tonic-gateSVCXPRT *svctcp_create(int fd, uint_t sendsize, uint_t recvsize); 6770Sstevel@tonic-gateSVCXPRT *svcudp_bufcreate(int fd, uint_t sendsize, uint_t recvsize); 6780Sstevel@tonic-gateSVCXPRT *svcfd_create(int fd, uint_t sendsize, uint_t recvsize); 6790Sstevel@tonic-gateSVCXPRT *svcudp_create(int fd); 6800Sstevel@tonic-gateSVCXPRT *svcraw_create(void); 6810Sstevel@tonic-gateint __rpc_bindresvport(int fd, struct sockaddr_in *sin, int *portp, int qlen); 6820Sstevel@tonic-gatevoid get_myaddress(struct sockaddr_in *addr); 6830Sstevel@tonic-gateushort_t getrpcport(char *host, rpcprog_t prognum, rpcvers_t versnum, rpcprot_t proto); 6840Sstevel@tonic-gateint callrpc(char *host, rpcprog_t prognum, rpcvers_t versnum, rpcproc_t procnum, 6850Sstevel@tonic-gate xdrproc_t inproc, char *in, xdrproc_t outproc, char *out); 6860Sstevel@tonic-gateint registerrpc(rpcprog_t prognum, rpcvers_t versnum, rpcproc_t procnum, 6870Sstevel@tonic-gate char *(*progname)(), xdrproc_t inproc, xdrproc_t outproc); 6880Sstevel@tonic-gateenum clnt_stat clnt_broadcast(rpcprog_t prog, rpcvers_t vers, rpcproc_t proc, 6890Sstevel@tonic-gate xdrproc_t xargs, caddr_t argsp, xdrproc_t xresults, 6900Sstevel@tonic-gate caddr_t resultsp, resultproc_t eachresult); 6910Sstevel@tonic-gateAUTH *authdes_create(char *servername, uint_t window, 6920Sstevel@tonic-gate struct sockaddr_in *syncaddr, des_block *ckey); 6930Sstevel@tonic-gate 6940Sstevel@tonic-gate/* rpc_td.c */ 6950Sstevel@tonic-gate 6960Sstevel@tonic-gate/* rpcb_clnt.c */ 6970Sstevel@tonic-gatebool_t __rpc_control(int request, void *info); 6980Sstevel@tonic-gatebool_t rpcb_set(rpcprog_t program, rpcvers_t version, 6990Sstevel@tonic-gate const struct netconfig *nconf, const struct netbuf *address); 7000Sstevel@tonic-gatebool_t rpcb_unset(rpcprog_t program, rpcvers_t version, 7010Sstevel@tonic-gate const struct netconfig *nconf); 7020Sstevel@tonic-gateint rpcb_getaddr(rpcprog_t program, rpcvers_t version, 7030Sstevel@tonic-gate const struct netconfig *nconf, struct netbuf *address, 7040Sstevel@tonic-gate const char *host); 7050Sstevel@tonic-gaterpcblist *rpcb_getmaps(const struct netconfig *nconf, const char *host); 7060Sstevel@tonic-gateenum clnt_stat rpcb_rmtcall(const struct netconfig *nconf, const char *host, 7070Sstevel@tonic-gate rpcprog_t prog, rpcvers_t vers, rpcproc_t proc, 7080Sstevel@tonic-gate xdrproc_t xdrargs, caddr_t argsp, xdrproc_t xdrres, 7090Sstevel@tonic-gate caddr_t resp, struct timeval tout, 7100Sstevel@tonic-gate struct netbuf *addr_ptr); 7110Sstevel@tonic-gatebool_t rpcb_gettime(const char *host, time_t *timep); 7120Sstevel@tonic-gatechar *rpcb_taddr2uaddr(struct netconfig *nconf, struct netbuf *taddr); 7130Sstevel@tonic-gatestruct netbuf *rpcb_uaddr2taddr(struct netconfig *nconf, char *uaddr); 7140Sstevel@tonic-gate 7150Sstevel@tonic-gate/* rpcb_prot.c */ 7160Sstevel@tonic-gatebool_t xdr_rpcb(XDR *xdrs, RPCB *objp); 7170Sstevel@tonic-gatebool_t xdr_rpcblist_ptr(XDR *xdrs, rpcblist_ptr *rp); 7180Sstevel@tonic-gatebool_t xdr_rpcblist(XDR *xdrs, RPCBLIST **rp); 7190Sstevel@tonic-gatebool_t xdr_rpcb_entry(XDR *xdrs, rpcb_entry *objp); 7200Sstevel@tonic-gatebool_t xdr_rpcb_entry_list_ptr(XDR *xdrs, rpcb_entry_list_ptr *rp); 7210Sstevel@tonic-gatebool_t xdr_rpcb_rmtcallargs(XDR *xdrs, struct r_rpcb_rmtcallargs *objp); 7220Sstevel@tonic-gatebool_t xdr_rpcb_rmtcallres(XDR *xdrs, struct r_rpcb_rmtcallres *objp); 7230Sstevel@tonic-gatebool_t xdr_netbuf(XDR *xdrs, struct netbuf *objp); 7240Sstevel@tonic-gate 7250Sstevel@tonic-gate/* rpcb_st_xdr.c */ 7260Sstevel@tonic-gatebool_t xdr_rpcbs_addrlist(XDR *xdrs, rpcbs_addrlist *objp); 7270Sstevel@tonic-gatebool_t xdr_rpcbs_addrlist(XDR *xdrs, rpcbs_addrlist *objp); 7280Sstevel@tonic-gate 7290Sstevel@tonic-gatebool_t xdr_rpcbs_rmtcalllist(XDR *xdrs, rpcbs_rmtcalllist *objp); 7300Sstevel@tonic-gatebool_t xdr_rpcbs_proc(XDR *xdrs, rpcbs_proc objp); 7310Sstevel@tonic-gatebool_t xdr_rpcbs_addrlist_ptr(XDR *xdrs, rpcbs_addrlist_ptr *objp); 7320Sstevel@tonic-gatebool_t xdr_rpcbs_rmtcalllist_ptr(XDR *xdrs, rpcbs_rmtcalllist_ptr *objp); 7330Sstevel@tonic-gatebool_t xdr_rpcb_stat(XDR *xdrs, rpcb_stat *objp); 7340Sstevel@tonic-gatebool_t xdr_rpcb_stat_byvers(XDR *xdrs, rpcb_stat_byvers objp); 7350Sstevel@tonic-gate 7360Sstevel@tonic-gate/* rpcdname.c */ 7370Sstevel@tonic-gateint __rpc_get_default_domain(char **domain); 7380Sstevel@tonic-gate 7390Sstevel@tonic-gate/* rpcsec_gss_if.c */ 7400Sstevel@tonic-gateAUTH *rpc_gss_seccreate(CLIENT *clnt, char *principal, char *mechanism, 7410Sstevel@tonic-gate rpc_gss_service_t service_type, char *qop, 7420Sstevel@tonic-gate rpc_gss_options_req_t *options_req, 7430Sstevel@tonic-gate rpc_gss_options_ret_t *options_ret); 7440Sstevel@tonic-gatebool_t rpc_gss_set_defaults(AUTH *auth, rpc_gss_service_t service, char *qop); 7450Sstevel@tonic-gatebool_t rpc_gss_get_principal_name(rpc_gss_principal_t *principal, char 7460Sstevel@tonic-gate *mechanism, char *user_name, char *node, char *secdomain); 7470Sstevel@tonic-gatechar **rpc_gss_get_mechanisms(void); 7480Sstevel@tonic-gatechar **rpc_gss_get_mech_info(char *mechanism, rpc_gss_service_t *service); 7490Sstevel@tonic-gatebool_t rpc_gss_get_versions(u_int *vers_hi, u_int *vers_lo); 7500Sstevel@tonic-gatebool_t rpc_gss_is_installed(char *mechanism); 7510Sstevel@tonic-gatebool_t rpc_gss_set_svc_name(char *principal, char *mechanism, uint_t req_time, 7520Sstevel@tonic-gate uint_t program, uint_t version); 7530Sstevel@tonic-gatebool_t rpc_gss_set_callback(rpc_gss_callback_t *cb); 7540Sstevel@tonic-gatebool_t rpc_gss_getcred(struct svc_req *req, rpc_gss_rawcred_t **rcred, 7550Sstevel@tonic-gate rpc_gss_ucred_t **ucred, void **cookie); 7560Sstevel@tonic-gatebool_t rpc_gss_mech_to_oid(char *mech, rpc_gss_OID *oid); 7570Sstevel@tonic-gatebool_t rpc_gss_qop_to_num(char *qop, char *mech, u_int *num); 7580Sstevel@tonic-gateint rpc_gss_max_data_length(AUTH *rpcgss_handle, int max_tp_unit_len); 7590Sstevel@tonic-gateint rpc_gss_svc_max_data_length(struct svc_req *req, int max_tp_unit_len); 7600Sstevel@tonic-gatevoid rpc_gss_get_error(rpc_gss_error_t *error); 7610Sstevel@tonic-gate 7620Sstevel@tonic-gate/* rtime_tli.c */ 7630Sstevel@tonic-gateint rtime_tli(char *host, struct timeval *timep, struct timeval *timeout); 7640Sstevel@tonic-gate 7650Sstevel@tonic-gate/* svc.c */ 7660Sstevel@tonic-gatevoid xprt_register(const SVCXPRT *xprt); 7670Sstevel@tonic-gatevoid xprt_unregister(const SVCXPRT *xprt); 7680Sstevel@tonic-gatebool_t svc_reg(const SVCXPRT *xprt, rpcprog_t prog, rpcvers_t vers, 7690Sstevel@tonic-gate void (*dispatch)(), const struct netconfig *nconf); 7700Sstevel@tonic-gatevoid svc_unreg(rpcprog_t prog, rpcvers_t vers); 7710Sstevel@tonic-gatebool_t svc_register(SVCXPRT *xprt, rpcprog_t prog, rpcvers_t vers, 7720Sstevel@tonic-gate void (*dispatch)(), int protocol); 7730Sstevel@tonic-gatevoid svc_unregister(rpcprog_t prog, rpcvers_t vers); 7740Sstevel@tonic-gatebool_t svc_sendreply(const SVCXPRT *xprt, xdrproc_t xdr_results, 7750Sstevel@tonic-gate caddr_t xdr_location); 7760Sstevel@tonic-gatevoid svcerr_noproc(const SVCXPRT *xprt); 7770Sstevel@tonic-gatevoid svcerr_decode(const SVCXPRT *xprt); 7780Sstevel@tonic-gatevoid svcerr_systemerr(const SVCXPRT *xprt); 7790Sstevel@tonic-gatevoid svcerr_auth(const SVCXPRT *xprt, enum auth_stat why); 7800Sstevel@tonic-gatevoid svcerr_weakauth(const SVCXPRT *xprt); 7810Sstevel@tonic-gatevoid svcerr_noprog(const SVCXPRT *xprt); 7820Sstevel@tonic-gatevoid svcerr_progvers(const SVCXPRT *xprt, rpcvers_t low_vers, 7830Sstevel@tonic-gate rpcvers_t high_vers); 7840Sstevel@tonic-gatevoid svc_getreq(int rdfds); 7850Sstevel@tonic-gatevoid svc_getreqset(fd_set *readfds); 7860Sstevel@tonic-gatevoid svc_getreq_poll(struct pollfd *pfdp, int pollretval); 7870Sstevel@tonic-gatevoid svc_getreq_common(int fd); 7880Sstevel@tonic-gateSVCXPRT *svc_xprt_alloc(void); 7890Sstevel@tonic-gatevoid svc_xprt_free(SVCXPRT *xprt); 7900Sstevel@tonic-gatebool_t svc_get_local_cred(SVCXPRT *xprt, svc_local_cred_t *lcred); 7910Sstevel@tonic-gateSVCAUTH *__svc_get_svcauth(SVCXPRT *); 7920Sstevel@tonic-gatevoid *__svc_set_proc_cleanup_cb(void *cb); 7930Sstevel@tonic-gate 7940Sstevel@tonic-gate/* svc_auth.c */ 7950Sstevel@tonic-gateenum auth_stat __authenticate(struct svc_req *rqst, struct rpc_msg *msg); 7960Sstevel@tonic-gateint svc_auth_reg(int cred_flavor, enum auth_stat (*handler)()); 7970Sstevel@tonic-gate 7980Sstevel@tonic-gate/* svc_auth_sys.c */ 7990Sstevel@tonic-gate 8000Sstevel@tonic-gate/* svc_dg.c */ 8010Sstevel@tonic-gateSVCXPRT *svc_dg_create(int fd, uint_t sendsize, uint_t recvsize); 8020Sstevel@tonic-gateint svc_dg_enablecache(SVCXPRT *xprt, uint_t size); 8030Sstevel@tonic-gate 8040Sstevel@tonic-gate/* svc_door.c */ 8050Sstevel@tonic-gateSVCXPRT *svc_door_create(void (*dispatch)(), rpcprog_t prognum, 8060Sstevel@tonic-gate rpcvers_t versnum, uint_t sendsize); 8070Sstevel@tonic-gate 8080Sstevel@tonic-gate/* svc_generic.c */ 8090Sstevel@tonic-gateint svc_create(void (*dispatch)(), rpcprog_t prognum, rpcvers_t versnum, 8100Sstevel@tonic-gate const char *nettype); 8110Sstevel@tonic-gateSVCXPRT *svc_tp_create(void (*dispatch)(), rpcprog_t prognum, rpcvers_t versnum, 8120Sstevel@tonic-gate const struct netconfig *nconf); 8130Sstevel@tonic-gateSVCXPRT *svc_tli_create(int fd, const struct netconfig *nconf, 8140Sstevel@tonic-gate const struct t_bind *bindaddr, uint_t sendsz, 8150Sstevel@tonic-gate uint_t recvsz); 8160Sstevel@tonic-gate 8170Sstevel@tonic-gate/* svc_raw.c */ 8180Sstevel@tonic-gateSVCXPRT *svc_raw_create(void); 8190Sstevel@tonic-gate 8200Sstevel@tonic-gate/* svc_run.c */ 8210Sstevel@tonic-gatevoid svc_run(void); 8220Sstevel@tonic-gatevoid svc_exit(void); 8230Sstevel@tonic-gatevoid svc_done(SVCXPRT *xprt); 8240Sstevel@tonic-gatebool_t rpc_control(int op, void *info); 8250Sstevel@tonic-gate 8260Sstevel@tonic-gate/* svc_simple.c */ 8270Sstevel@tonic-gateint rpc_reg(rpcprog_t prognum, rpcvers_t versnum, rpcproc_t procnum, 8280Sstevel@tonic-gate char *(*progname)(), xdrproc_t inproc, xdrproc_t outproc, 8290Sstevel@tonic-gate const char *nettype); 8300Sstevel@tonic-gate 8310Sstevel@tonic-gate/* svc_vc.c */ 8320Sstevel@tonic-gateSVCXPRT *svc_vc_create(int fd, uint_t sendsize, uint_t recvsize); 8330Sstevel@tonic-gateSVCXPRT *svc_fd_create(int fd, uint_t sendsize, uint_t recvsize); 8340Sstevel@tonic-gatevoid __svc_nisplus_fdcleanup_hack(void); 8350Sstevel@tonic-gatevoid __svc_nisplus_enable_timestamps(void); 8360Sstevel@tonic-gatevoid __svc_nisplus_purge_since(long since); 8370Sstevel@tonic-gatebool_t __svc_vc_dupcache_init(SVCXPRT *xprt, void *condition, int basis); 8380Sstevel@tonic-gateint __svc_vc_dup(struct svc_req *req, caddr_t *resp_buf, uint_t *resp_bufsz); 8390Sstevel@tonic-gateint __svc_vc_dupdone(struct svc_req *req, caddr_t resp_buf, uint_t resp_bufsz, 8400Sstevel@tonic-gate int status); 8410Sstevel@tonic-gate 8420Sstevel@tonic-gate/* svcauth_des.c */ 8430Sstevel@tonic-gateint authdes_getucred(const struct authdes_cred *adc, uid_t *uid, gid_t *gid, 8440Sstevel@tonic-gate short *grouplen, gid_t *groups); 8450Sstevel@tonic-gateenum auth_stat __svcauth_des(struct svc_req *rqst, struct rpc_msg *msg); 8460Sstevel@tonic-gate 8470Sstevel@tonic-gate/* ti_opts.c */ 8480Sstevel@tonic-gateint __rpc_negotiate_uid(int fd); 8490Sstevel@tonic-gateint __rpc_get_local_uid(SVCXPRT *trans, uid_t *uid_out); 8500Sstevel@tonic-gate 8510Sstevel@tonic-gate/* xdr.c */ 8520Sstevel@tonic-gatevoid xdr_free(xdrproc_t proc, char *objp); 8530Sstevel@tonic-gatebool_t xdr_void(void); 8540Sstevel@tonic-gatebool_t xdr_int(XDR *xdrs, int *ip); 8550Sstevel@tonic-gatebool_t xdr_u_int(XDR *xdrs, uint_t *up); 8560Sstevel@tonic-gatebool_t xdr_long(XDR *xdrs, long *lp); 8570Sstevel@tonic-gatebool_t xdr_u_long(XDR *xdrs, ulong_t *ulp); 8580Sstevel@tonic-gatebool_t xdr_short(XDR *xdrs, short *sp); 8590Sstevel@tonic-gatebool_t xdr_u_short(XDR *xdrs, ushort_t *sp); 8600Sstevel@tonic-gatebool_t xdr_char(XDR *xdrs, char *cp); 8610Sstevel@tonic-gatebool_t xdr_u_char(XDR *xdrs, uchar_t *cp); 8620Sstevel@tonic-gatebool_t xdr_bool(XDR *xdrs, bool_t *bp); 8630Sstevel@tonic-gatebool_t xdr_enum(XDR *xdrs, enum_t *ep); 8640Sstevel@tonic-gatebool_t xdr_opaque(XDR *xdrs, caddr_t cp, uint_t cnt); 8650Sstevel@tonic-gatebool_t xdr_bytes(XDR *xdrs, char **cpp, uint_t *sizep, uint_t maxsize); 8660Sstevel@tonic-gatebool_t xdr_netobj(XDR *xdrs, struct netobj *np); 8670Sstevel@tonic-gatebool_t xdr_union(XDR *xdrs, enum_t *dscmp, char *unp, 8680Sstevel@tonic-gate const struct xdr_discrim *choices, xdrproc_t dfault); 8690Sstevel@tonic-gatebool_t xdr_string(XDR *xdrs, char **cpp, uint_t maxsize); 8700Sstevel@tonic-gatebool_t xdr_hyper(XDR *xdrs, longlong_t *hp); 8710Sstevel@tonic-gatebool_t xdr_u_hyper(XDR *xdrs, u_longlong_t *hp); 8720Sstevel@tonic-gatebool_t xdr_longlong_t(XDR *xdrs, longlong_t *hp); 8730Sstevel@tonic-gatebool_t xdr_u_longlong_t(XDR *xdrs, u_longlong_t *hp); 8740Sstevel@tonic-gatebool_t xdr_ulonglong_t(XDR *xdrs, u_longlong_t *hp); 8750Sstevel@tonic-gatebool_t xdr_wrapstring(XDR *xdrs, char **cpp); 8760Sstevel@tonic-gate 8770Sstevel@tonic-gate/* xdr_array.c */ 8780Sstevel@tonic-gatebool_t xdr_array(XDR *xdrs, caddr_t *addrp, uint_t *sizep, uint_t maxsize, 8790Sstevel@tonic-gate uint_t elsize, xdrproc_t elproc); 8800Sstevel@tonic-gatebool_t xdr_vector(XDR *xdrs, char *basep, uint_t nelem, uint_t elemsize, 8810Sstevel@tonic-gate xdrproc_t xdr_elem); 8820Sstevel@tonic-gate 8830Sstevel@tonic-gate/* xdr_float.c */ 8840Sstevel@tonic-gatebool_t xdr_float(XDR *xdrs, float *fp); 8850Sstevel@tonic-gatebool_t xdr_double(XDR *xdrs, double *dp); 8860Sstevel@tonic-gatebool_t xdr_quadruple(XDR *xdrs, long double *fp); 8870Sstevel@tonic-gate 8880Sstevel@tonic-gate/* xdr_mem.c */ 8890Sstevel@tonic-gatevoid xdrmem_create(XDR *xdrs, caddr_t addr, uint_t size, enum xdr_op op); 8900Sstevel@tonic-gate 8910Sstevel@tonic-gate/* xdr_rec.c */ 8920Sstevel@tonic-gatevoid xdrrec_create(XDR *xdrs, uint_t sendsize, uint_t recvsize, 8930Sstevel@tonic-gate caddr_t tcp_handle, int (*readit)(), int (*writeit)()); 8940Sstevel@tonic-gate 8950Sstevel@tonic-gateuint_t xdrrec_readbytes(XDR *xdrs, caddr_t addr, uint_t l); 8960Sstevel@tonic-gatebool_t xdrrec_skiprecord(XDR *xdrs); 8970Sstevel@tonic-gatebool_t xdrrec_eof(XDR *xdrs); 8980Sstevel@tonic-gatebool_t xdrrec_endofrecord(XDR *xdrs, bool_t sendnow); 8990Sstevel@tonic-gate 9000Sstevel@tonic-gate/* xdr_refer.c */ 9010Sstevel@tonic-gatebool_t xdr_reference(XDR *xdrs, caddr_t *pp, uint_t size, xdrproc_t proc); 9020Sstevel@tonic-gatebool_t xdr_pointer(XDR *xdrs, char **objpp, uint_t obj_size, xdrproc_t xdr_obj); 9030Sstevel@tonic-gate 9040Sstevel@tonic-gate/* xdr_sizeof.c */ 9050Sstevel@tonic-gateunsigned int xdr_sizeof(xdrproc_t func, void *data); 9060Sstevel@tonic-gate 9070Sstevel@tonic-gate/* xdr_stdio.c */ 9080Sstevel@tonic-gatevoid xdrstdio_create(XDR *xdrs, FILE *file, enum xdr_op op); 9090Sstevel@tonic-gate 9100Sstevel@tonic-gate/* svid_funcs.c */ 9110Sstevel@tonic-gate#undef auth_destroy 9120Sstevel@tonic-gate#undef clnt_call 9130Sstevel@tonic-gate#undef clnt_control 9140Sstevel@tonic-gate#undef clnt_destroy 9150Sstevel@tonic-gate#undef clnt_freeres 9160Sstevel@tonic-gate#undef clnt_geterr 9170Sstevel@tonic-gate#undef svc_destroy 9180Sstevel@tonic-gate#undef svc_freeargs 9190Sstevel@tonic-gate#undef svc_getargs 9200Sstevel@tonic-gate#undef svc_getrpccaller 9210Sstevel@tonic-gate#undef xdr_destroy 9220Sstevel@tonic-gate#undef xdr_getpos 9230Sstevel@tonic-gate#undef xdr_inline 9240Sstevel@tonic-gate#undef xdr_setpos 9250Sstevel@tonic-gatevoid auth_destroy(AUTH *auth); 9260Sstevel@tonic-gateenum clnt_stat clnt_call(CLIENT *cl, rpcproc_t proc, xdrproc_t xargs, 9270Sstevel@tonic-gate caddr_t argsp, xdrproc_t xres, caddr_t resp, 9280Sstevel@tonic-gate struct timeval timeout); 9290Sstevel@tonic-gatebool_t clnt_control(CLIENT *cl, uint_t rq, void *in); 9300Sstevel@tonic-gatevoid clnt_destroy(CLIENT *cl); 9310Sstevel@tonic-gatebool_t clnt_freeres(CLIENT *cl, xdrproc_t xres, caddr_t resp); 9320Sstevel@tonic-gatevoid clnt_geterr(CLIENT *cl, struct rpc_err *errp); 9330Sstevel@tonic-gatebool_t svc_control(SVCXPRT *xprt, const uint_t rq, void *in); 9340Sstevel@tonic-gatebool_t svc_freeargs(SVCXPRT *xprt, xdrproc_t xargs, char *argsp); 9350Sstevel@tonic-gatebool_t svc_getargs(SVCXPRT *xprt, xdrproc_t xargs, char *argsp); 9360Sstevel@tonic-gatestruct netbuf *svc_getrpccaller(SVCXPRT *xprt); 9370Sstevel@tonic-gatelong *xdr_inline(XDR *xdrs, int len); 9380Sstevel@tonic-gatevoid xdr_destroy(XDR *xdrs); 9390Sstevel@tonic-gateuint_t xdr_getpos(XDR *xdrs); 9400Sstevel@tonic-gatebool_t xdr_setpos(XDR *xdrs, uint_t pos); 9410Sstevel@tonic-gate 9420Sstevel@tonic-gate/* 9430Sstevel@tonic-gate * usr/src/lib/libnsl/saf routines 9440Sstevel@tonic-gate */ 9450Sstevel@tonic-gate 9460Sstevel@tonic-gate/* checkver.c */ 9470Sstevel@tonic-gateint check_version(int ver, char *fname); 9480Sstevel@tonic-gate 9490Sstevel@tonic-gate/* doconfig.c */ 9500Sstevel@tonic-gateint doconfig(int fd, char *script, long rflag); 9510Sstevel@tonic-gate 9520Sstevel@tonic-gate/* 9530Sstevel@tonic-gate * usr/src/lib/libnsl/yp routines 9540Sstevel@tonic-gate */ 9550Sstevel@tonic-gate 9560Sstevel@tonic-gate/* dbm.c */ 9570Sstevel@tonic-gateint dbminit(char *file); 9580Sstevel@tonic-gateint dbmclose(void); 9590Sstevel@tonic-gatedatum fetch(datum key); 9600Sstevel@tonic-gateint delete(datum key); 9610Sstevel@tonic-gateint store(datum key, datum dat); 9620Sstevel@tonic-gatedatum firstkey(void); 9630Sstevel@tonic-gatedatum nextkey(datum key); 9640Sstevel@tonic-gatedatum firsthash(long hash); 9650Sstevel@tonic-gatedatum makdatum(char *buf, int n); 9660Sstevel@tonic-gatelong hashinc(long hash); 9670Sstevel@tonic-gatelong calchash(datum item); 9680Sstevel@tonic-gate 9690Sstevel@tonic-gate/* yp_all.c */ 9700Sstevel@tonic-gateint yp_all(char *domain, char *map, struct ypall_callback *callback); 9710Sstevel@tonic-gateint __yp_all_rsvdport(char *domain, char *map, struct ypall_callback *callback); 9720Sstevel@tonic-gate 9730Sstevel@tonic-gate/* yp_b_clnt.c */ 9740Sstevel@tonic-gateenum ypbind_resptype { 9750Sstevel@tonic-gate YPBIND_SUCC_VAL = 1, 9760Sstevel@tonic-gate YPBIND_FAIL_VAL = 2 9770Sstevel@tonic-gate}; 9780Sstevel@tonic-gatetypedef enum ypbind_resptype ypbind_resptype; 9790Sstevel@tonic-gatestruct ypbind_resp { 9800Sstevel@tonic-gate ypbind_resptype ypbind_status; 9810Sstevel@tonic-gate union { 9820Sstevel@tonic-gate uint_t ypbind_error; 9830Sstevel@tonic-gate struct ypbind_binding *ypbind_bindinfo; 9840Sstevel@tonic-gate } ypbind_resp_u; 9850Sstevel@tonic-gate}; 9860Sstevel@tonic-gatetypedef struct ypbind_resp ypbind_resp; 9870Sstevel@tonic-gatestruct ypbind_domain { 9880Sstevel@tonic-gate char *ypbind_domainname; 9890Sstevel@tonic-gate rpcvers_t ypbind_vers; 9900Sstevel@tonic-gate}; 9910Sstevel@tonic-gatetypedef struct ypbind_domain ypbind_domain; 9920Sstevel@tonic-gatestruct ypbind_setdom { 9930Sstevel@tonic-gate char *ypsetdom_domain; 9940Sstevel@tonic-gate struct ypbind_binding *ypsetdom_bindinfo; 9950Sstevel@tonic-gate}; 9960Sstevel@tonic-gatetypedef struct ypbind_setdom ypbind_setdom; 9970Sstevel@tonic-gateypbind_resp *ypbindproc_domain_3(ypbind_domain *argp, CLIENT *clnt); 9980Sstevel@tonic-gate 9990Sstevel@tonic-gate/* yp_b_xdr.c */ 10000Sstevel@tonic-gatebool_t xdr_ypbind_domain(XDR *xdrs, ypbind_domain *objp); 10010Sstevel@tonic-gatebool_t xdr_ypbind_resp(XDR *xdrs, ypbind_resp *objp); 10020Sstevel@tonic-gatebool_t xdr_ypbind_setdom(XDR *xdrs, ypbind_setdom *objp); 10030Sstevel@tonic-gatebool_t xdr_ypbind_resptype(XDR *xdrs, ypbind_resptype *objp); 10040Sstevel@tonic-gate 10050Sstevel@tonic-gate/* yp_bind.c */ 10060Sstevel@tonic-gatestruct dom_binding { 10070Sstevel@tonic-gate struct dom_binding *dom_pnext; 10080Sstevel@tonic-gate char *dom_domain; 10090Sstevel@tonic-gate struct ypbind_binding *dom_binding; 10100Sstevel@tonic-gate CLIENT *dom_client; 10110Sstevel@tonic-gate int cache_bad; 10120Sstevel@tonic-gate int fd; 10130Sstevel@tonic-gate dev_t rdev; 10140Sstevel@tonic-gate int ref_count; 10150Sstevel@tonic-gate int need_free; 10160Sstevel@tonic-gate mutex_t server_name_lock; 10170Sstevel@tonic-gate}; 10180Sstevel@tonic-gateint __yp_dobind(char *domain, struct dom_binding **binding); 10190Sstevel@tonic-gateint __yp_rel_binding(struct dom_binding *binding); 10200Sstevel@tonic-gatevoid yp_unbind(char *domain); 10210Sstevel@tonic-gateint __yp_add_binding(char *domain, char *addr); 10220Sstevel@tonic-gateint yp_bind(char *domain); 10230Sstevel@tonic-gateint yp_get_default_domain(char **domain); 10240Sstevel@tonic-gateint usingypmap(char **ddn, char *map); 10250Sstevel@tonic-gateCLIENT *__clnt_create_loopback(rpcprog_t prog, rpcvers_t vers, int err); 10260Sstevel@tonic-gate 10270Sstevel@tonic-gate/* yp_enum.c */ 10280Sstevel@tonic-gateint yp_first(char *domain, char *map, char **key, int *keylen, 10290Sstevel@tonic-gate char **val, int *vallen); 10300Sstevel@tonic-gateint yp_next(char *domain, char *map, char *inkey, int inkeylen, 10310Sstevel@tonic-gate char **outkey, int *outkeylen, char **val, int *vallen); 10320Sstevel@tonic-gate 10330Sstevel@tonic-gate/* yp_master.c */ 10340Sstevel@tonic-gateint yp_master(char *domain, char *map, char **master); 10350Sstevel@tonic-gateint __yp_master_rsvdport(char *domain, char *map, char **master); 10360Sstevel@tonic-gate 10370Sstevel@tonic-gate/* yp_match.c */ 10380Sstevel@tonic-gateint yp_match(char *domain, char *map, char *key, int keylen, 10390Sstevel@tonic-gate char **val, int *vallen); 10400Sstevel@tonic-gateint yp_match_rsvdport(char *domain, char *map, char *key, int keylen, 10410Sstevel@tonic-gate char **val, int *vallen); 10420Sstevel@tonic-gatevoid __empty_yp_cache(void); 10430Sstevel@tonic-gate 10440Sstevel@tonic-gate/* yp_order.c */ 10450Sstevel@tonic-gateint yp_order(char *domain, char *map, unsigned long *order); 10460Sstevel@tonic-gate 10470Sstevel@tonic-gate/* yp_rsvd.c */ 10480Sstevel@tonic-gateCLIENT *__yp_clnt_create_rsvdport(const char *hostname, 10490Sstevel@tonic-gate rpcprog_t prog, rpcvers_t vers, 10500Sstevel@tonic-gate const char *nettype, 10510Sstevel@tonic-gate const uint_t sendsz, const uint_t recvsz); 10520Sstevel@tonic-gate 10530Sstevel@tonic-gate/* yp_update.c */ 10540Sstevel@tonic-gateint yp_update(char *domain, char *map, unsigned op, 10550Sstevel@tonic-gate char *key, int keylen, char *data, int datalen); 10560Sstevel@tonic-gate 10570Sstevel@tonic-gate/* yp_xdr.c */ 10580Sstevel@tonic-gatebool xdr_datum(XDR * xdrs, datum *pdatum); 10590Sstevel@tonic-gatebool xdr_ypdomain_wrap_string(XDR *xdrs, char **ppstring); 10600Sstevel@tonic-gatebool xdr_ypmap_wrap_string(XDR *xdrs, char **ppstring); 10610Sstevel@tonic-gatebool xdr_ypreq_key(XDR *xdrs, struct ypreq_key *ps); 10620Sstevel@tonic-gatebool xdr_ypreq_nokey(XDR *xdrs, struct ypreq_nokey *ps); 10630Sstevel@tonic-gatebool xdr_ypresp_val(XDR *xdrs, struct ypresp_val *ps); 10640Sstevel@tonic-gatebool xdr_ypresp_key_val(XDR *xdrs, struct ypresp_key_val *ps); 10650Sstevel@tonic-gatebool xdr_ypowner_wrap_string(XDR *xdrs, char **ppstring); 10660Sstevel@tonic-gatebool xdr_ypmap_parms(XDR *xdrs, struct ypmap_parms *ps); 10670Sstevel@tonic-gatebool xdr_ypresp_master(XDR *xdrs, struct ypresp_master *ps); 10680Sstevel@tonic-gatebool xdr_ypresp_order(XDR * xdrs, struct ypresp_order *ps); 10690Sstevel@tonic-gatebool xdr_ypresp_maplist(XDR *xdrs, struct ypresp_maplist *ps); 10700Sstevel@tonic-gatebool xdr_yppushresp_xfr(XDR *xdrs, struct yppushresp_xfr *ps); 10710Sstevel@tonic-gatebool xdr_ypreq_newxfr(XDR *xdrs, struct ypreq_newxfr *ps); 10720Sstevel@tonic-gatebool xdr_ypreq_xfr(XDR *xdrs, struct ypreq_xfr *ps); 10730Sstevel@tonic-gatebool xdr_ypall(XDR *xdrs, struct ypall_callback *callback); 10740Sstevel@tonic-gate 10750Sstevel@tonic-gate/* yperr_string.c */ 10760Sstevel@tonic-gatechar *yperr_string(int code); 10770Sstevel@tonic-gate 10780Sstevel@tonic-gate/* yppasswd_xdr.c */ 10790Sstevel@tonic-gatebool_t xdr_yppasswd(XDR *xdrsp, struct yppasswd *pp); 10800Sstevel@tonic-gate 10810Sstevel@tonic-gate/* ypprot_err.c */ 10820Sstevel@tonic-gateint ypprot_err(int yp_protocol_error); 10830Sstevel@tonic-gate 10840Sstevel@tonic-gate/* ypupd.c */ 10850Sstevel@tonic-gatebool_t xdr_yp_buf(XDR *xdrs, yp_buf *objp); 10860Sstevel@tonic-gatebool_t xdr_ypupdate_args(XDR *xdrs, ypupdate_args *objp); 10870Sstevel@tonic-gatebool_t xdr_ypdelete_args(XDR *xdrs, ypdelete_args *objp); 10880Sstevel@tonic-gate 10890Sstevel@tonic-gate/* nis_sec_mechs.c */ 10900Sstevel@tonic-gatechar *__nis_keyalg2authtype(keylen_t keylen, algtype_t algtype, 10910Sstevel@tonic-gate char *authtype, size_t authtype_len); 10922830Sdjl 10932830Sdjl/* usr/src/lib/libnsl/nss/parse.c */ 10942830Sdjlchar *_strtok_escape(char *string, char *sepset, char **lasts); 1095