xref: /titanic_52/usr/src/lib/libnsl/common/llib-lnsl (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
1*7c478bd9Sstevel@tonic-gate/*
2*7c478bd9Sstevel@tonic-gate * CDDL HEADER START
3*7c478bd9Sstevel@tonic-gate *
4*7c478bd9Sstevel@tonic-gate * The contents of this file are subject to the terms of the
5*7c478bd9Sstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only
6*7c478bd9Sstevel@tonic-gate * (the "License").  You may not use this file except in compliance
7*7c478bd9Sstevel@tonic-gate * with the License.
8*7c478bd9Sstevel@tonic-gate *
9*7c478bd9Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*7c478bd9Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing.
11*7c478bd9Sstevel@tonic-gate * See the License for the specific language governing permissions
12*7c478bd9Sstevel@tonic-gate * and limitations under the License.
13*7c478bd9Sstevel@tonic-gate *
14*7c478bd9Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each
15*7c478bd9Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*7c478bd9Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the
17*7c478bd9Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying
18*7c478bd9Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner]
19*7c478bd9Sstevel@tonic-gate *
20*7c478bd9Sstevel@tonic-gate * CDDL HEADER END
21*7c478bd9Sstevel@tonic-gate */
22*7c478bd9Sstevel@tonic-gate/* LINTLIBRARY */
23*7c478bd9Sstevel@tonic-gate/* PROTOLIB1 */
24*7c478bd9Sstevel@tonic-gate
25*7c478bd9Sstevel@tonic-gate/*
26*7c478bd9Sstevel@tonic-gate * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
27*7c478bd9Sstevel@tonic-gate * Use is subject to license terms.
28*7c478bd9Sstevel@tonic-gate */
29*7c478bd9Sstevel@tonic-gate
30*7c478bd9Sstevel@tonic-gate#pragma ident	"%Z%%M%	%I%	%E% SMI"
31*7c478bd9Sstevel@tonic-gate
32*7c478bd9Sstevel@tonic-gate#include <sys/types.h>
33*7c478bd9Sstevel@tonic-gate#include <thread.h>
34*7c478bd9Sstevel@tonic-gate#include <synch.h>
35*7c478bd9Sstevel@tonic-gate#include <fcntl.h>
36*7c478bd9Sstevel@tonic-gate#include <sys/des.h>
37*7c478bd9Sstevel@tonic-gate#include <des/softdes.h>
38*7c478bd9Sstevel@tonic-gate#include <des/desdata.h>
39*7c478bd9Sstevel@tonic-gate#include <rpc/rpc.h>
40*7c478bd9Sstevel@tonic-gate#include <rpc/key_prot.h>
41*7c478bd9Sstevel@tonic-gate#include <rpc/des_crypt.h>
42*7c478bd9Sstevel@tonic-gate#include <rpc/trace.h>
43*7c478bd9Sstevel@tonic-gate#include <rpc/pmap_prot.h>
44*7c478bd9Sstevel@tonic-gate#include <sys/ioctl.h>
45*7c478bd9Sstevel@tonic-gate#include <netdir.h>
46*7c478bd9Sstevel@tonic-gate#include <nss_netdir.h>
47*7c478bd9Sstevel@tonic-gate#include <nss_dbdefs.h>
48*7c478bd9Sstevel@tonic-gate#include <sac.h>
49*7c478bd9Sstevel@tonic-gate#include <netconfig.h>
50*7c478bd9Sstevel@tonic-gate#include <ndbm.h>
51*7c478bd9Sstevel@tonic-gate#include <rpcsvc/yp_prot.h>
52*7c478bd9Sstevel@tonic-gate#include <rpcsvc/ypclnt.h>
53*7c478bd9Sstevel@tonic-gate#include <rpcsvc/yppasswd.h>
54*7c478bd9Sstevel@tonic-gate#include <rpcsvc/ypupd.h>
55*7c478bd9Sstevel@tonic-gate#include <rpcsvc/nis.h>
56*7c478bd9Sstevel@tonic-gate#include <rpcsvc/nis_callback.h>
57*7c478bd9Sstevel@tonic-gate#include <rpcsvc/nislib.h>
58*7c478bd9Sstevel@tonic-gate#include <rpcsvc/nispasswd.h>
59*7c478bd9Sstevel@tonic-gate#include <sys/stream.h>
60*7c478bd9Sstevel@tonic-gate#include <sys/stropts.h>
61*7c478bd9Sstevel@tonic-gate#include <sys/tihdr.h>
62*7c478bd9Sstevel@tonic-gate#include <sys/timod.h>
63*7c478bd9Sstevel@tonic-gate#include <tiuser.h>
64*7c478bd9Sstevel@tonic-gate
65*7c478bd9Sstevel@tonic-gate
66*7c478bd9Sstevel@tonic-gate/*
67*7c478bd9Sstevel@tonic-gate * Declare t_errno, even though this file is compiled '_REENTRANT'.  This
68*7c478bd9Sstevel@tonic-gate * way t_errno is defined in the lint library, which is used for programs
69*7c478bd9Sstevel@tonic-gate * compiled with _REENTRANT and those compiled without it.
70*7c478bd9Sstevel@tonic-gate */
71*7c478bd9Sstevel@tonic-gate#ifdef t_errno
72*7c478bd9Sstevel@tonic-gate#undef t_errno
73*7c478bd9Sstevel@tonic-gate#endif
74*7c478bd9Sstevel@tonic-gateextern int t_errno;
75*7c478bd9Sstevel@tonic-gate
76*7c478bd9Sstevel@tonic-gate/*
77*7c478bd9Sstevel@tonic-gate * usr/src/lib/libnsl/common routines
78*7c478bd9Sstevel@tonic-gate */
79*7c478bd9Sstevel@tonic-gate
80*7c478bd9Sstevel@tonic-gate/* common.c */
81*7c478bd9Sstevel@tonic-gate
82*7c478bd9Sstevel@tonic-gate/*
83*7c478bd9Sstevel@tonic-gate * usr/src/lib/libnsl/des routines
84*7c478bd9Sstevel@tonic-gate */
85*7c478bd9Sstevel@tonic-gate
86*7c478bd9Sstevel@tonic-gate/* des_crypt.c */
87*7c478bd9Sstevel@tonic-gateint cbc_crypt(char *key, char *buf, size_t len, uint_t mode, char *ivec);
88*7c478bd9Sstevel@tonic-gateint ecb_crypt(char *key, char *buf, size_t len, uint_t mode);
89*7c478bd9Sstevel@tonic-gate
90*7c478bd9Sstevel@tonic-gate/* des_soft.c */
91*7c478bd9Sstevel@tonic-gatevoid des_setparity(char *p);
92*7c478bd9Sstevel@tonic-gateint __des_crypt(char *buf, unsigned len, struct desparams *desp);
93*7c478bd9Sstevel@tonic-gate
94*7c478bd9Sstevel@tonic-gate/* intl_crypt.c */
95*7c478bd9Sstevel@tonic-gate
96*7c478bd9Sstevel@tonic-gate/* intl_soft.c */
97*7c478bd9Sstevel@tonic-gateint _des_crypt(char *buf, unsigned len, struct desparams *desp);
98*7c478bd9Sstevel@tonic-gate
99*7c478bd9Sstevel@tonic-gate/*
100*7c478bd9Sstevel@tonic-gate * usr/src/lib/libnsl/dial routines
101*7c478bd9Sstevel@tonic-gate */
102*7c478bd9Sstevel@tonic-gate
103*7c478bd9Sstevel@tonic-gate/* callers.c */
104*7c478bd9Sstevel@tonic-gate
105*7c478bd9Sstevel@tonic-gate/* conn.c */
106*7c478bd9Sstevel@tonic-gate
107*7c478bd9Sstevel@tonic-gate/* dial.c */
108*7c478bd9Sstevel@tonic-gatevoid undial(int fd);
109*7c478bd9Sstevel@tonic-gate
110*7c478bd9Sstevel@tonic-gate/* dkbreak.c */
111*7c478bd9Sstevel@tonic-gate
112*7c478bd9Sstevel@tonic-gate/* dkdial.c */
113*7c478bd9Sstevel@tonic-gate
114*7c478bd9Sstevel@tonic-gate/* dkerr.c */
115*7c478bd9Sstevel@tonic-gate
116*7c478bd9Sstevel@tonic-gate/* dkminor.c */
117*7c478bd9Sstevel@tonic-gate
118*7c478bd9Sstevel@tonic-gate/* dtnamer.c */
119*7c478bd9Sstevel@tonic-gate
120*7c478bd9Sstevel@tonic-gate/* getargs.c */
121*7c478bd9Sstevel@tonic-gate
122*7c478bd9Sstevel@tonic-gate/* interface.c */
123*7c478bd9Sstevel@tonic-gate
124*7c478bd9Sstevel@tonic-gate/* line.c */
125*7c478bd9Sstevel@tonic-gate
126*7c478bd9Sstevel@tonic-gate/* stoa.c */
127*7c478bd9Sstevel@tonic-gate
128*7c478bd9Sstevel@tonic-gate/* strecpy.c */
129*7c478bd9Sstevel@tonic-gate
130*7c478bd9Sstevel@tonic-gate/* strsave.c */
131*7c478bd9Sstevel@tonic-gate
132*7c478bd9Sstevel@tonic-gate/* sysfiles.c */
133*7c478bd9Sstevel@tonic-gate
134*7c478bd9Sstevel@tonic-gate/* ulockf.c */
135*7c478bd9Sstevel@tonic-gate
136*7c478bd9Sstevel@tonic-gate/* uucpdefs.c */
137*7c478bd9Sstevel@tonic-gate
138*7c478bd9Sstevel@tonic-gate/*
139*7c478bd9Sstevel@tonic-gate * usr/src/lib/libnsl/key routines
140*7c478bd9Sstevel@tonic-gate */
141*7c478bd9Sstevel@tonic-gate
142*7c478bd9Sstevel@tonic-gate/* gen_dhkeys.c */
143*7c478bd9Sstevel@tonic-gatevoid __gen_dhkeys(char *public, char *secret, char *pass);
144*7c478bd9Sstevel@tonic-gate
145*7c478bd9Sstevel@tonic-gate/* publickey.c */
146*7c478bd9Sstevel@tonic-gateint getpublickey(const char *netname, char *pkey);
147*7c478bd9Sstevel@tonic-gateint __getpublickey_cached(char *netname, char *pkey, int *from_cache);
148*7c478bd9Sstevel@tonic-gatevoid __getpublickey_flush(const char *netname);
149*7c478bd9Sstevel@tonic-gateint getsecretkey(const char *netname, char *skey, const char *passwd);
150*7c478bd9Sstevel@tonic-gate
151*7c478bd9Sstevel@tonic-gate/* xcrypt.c */
152*7c478bd9Sstevel@tonic-gateint xencrypt(char *secret, char *passwd);
153*7c478bd9Sstevel@tonic-gateint xdecrypt(char *secret, char *passwd);
154*7c478bd9Sstevel@tonic-gateint passwd2des(char *pw, char *key);
155*7c478bd9Sstevel@tonic-gate
156*7c478bd9Sstevel@tonic-gate/*
157*7c478bd9Sstevel@tonic-gate * usr/src/lib/libnsl/netdir routines
158*7c478bd9Sstevel@tonic-gate */
159*7c478bd9Sstevel@tonic-gate
160*7c478bd9Sstevel@tonic-gate/* netdir.c */
161*7c478bd9Sstevel@tonic-gateint *__nderror(void);
162*7c478bd9Sstevel@tonic-gateint netdir_getbyname(struct netconfig *tp, struct nd_hostserv *serv,
163*7c478bd9Sstevel@tonic-gate				struct nd_addrlist **addrs);
164*7c478bd9Sstevel@tonic-gateint netdir_getbyaddr(struct netconfig *tp, struct nd_hostservlist **serv,
165*7c478bd9Sstevel@tonic-gate				struct netbuf *addr);
166*7c478bd9Sstevel@tonic-gateint __netdir_getbyaddr_nosrv(struct netconfig *tp,
167*7c478bd9Sstevel@tonic-gate				struct nd_hostservlist **serv,
168*7c478bd9Sstevel@tonic-gate				struct netbuf *addr);
169*7c478bd9Sstevel@tonic-gateint netdir_options(struct netconfig *tp, int option, int fd, char *par);
170*7c478bd9Sstevel@tonic-gatestruct netbuf *uaddr2taddr(struct netconfig *tp, char *addr);
171*7c478bd9Sstevel@tonic-gatechar *taddr2uaddr(struct netconfig *tp, struct netbuf *addr);
172*7c478bd9Sstevel@tonic-gatevoid netdir_free(void *ptr, int type);
173*7c478bd9Sstevel@tonic-gatechar *netdir_sperror(void);
174*7c478bd9Sstevel@tonic-gatevoid netdir_perror(char *s);
175*7c478bd9Sstevel@tonic-gate
176*7c478bd9Sstevel@tonic-gate/*
177*7c478bd9Sstevel@tonic-gate * usr/src/lib/libnsl/netselect routines
178*7c478bd9Sstevel@tonic-gate */
179*7c478bd9Sstevel@tonic-gate
180*7c478bd9Sstevel@tonic-gate/* netselect.c */
181*7c478bd9Sstevel@tonic-gatevoid *setnetconfig(void);
182*7c478bd9Sstevel@tonic-gateint endnetconfig(void *vdata);
183*7c478bd9Sstevel@tonic-gatestruct netconfig *getnetconfig(void *vdata);
184*7c478bd9Sstevel@tonic-gatestruct netconfig *getnetconfigent(const char *netid);
185*7c478bd9Sstevel@tonic-gatevoid freenetconfigent(struct netconfig *netp);
186*7c478bd9Sstevel@tonic-gatevoid *setnetpath(void);
187*7c478bd9Sstevel@tonic-gateint endnetpath(void *vdata);
188*7c478bd9Sstevel@tonic-gatestruct netconfig *getnetpath(void *vdata);
189*7c478bd9Sstevel@tonic-gatechar *nc_sperror(void);
190*7c478bd9Sstevel@tonic-gatevoid nc_perror(const char *string);
191*7c478bd9Sstevel@tonic-gate
192*7c478bd9Sstevel@tonic-gate/*
193*7c478bd9Sstevel@tonic-gate * usr/src/lib/libnsl/nis/cache routines
194*7c478bd9Sstevel@tonic-gate */
195*7c478bd9Sstevel@tonic-gate
196*7c478bd9Sstevel@tonic-gate/* cache.cc */
197*7c478bd9Sstevel@tonic-gate
198*7c478bd9Sstevel@tonic-gate/* cache_api.cc */
199*7c478bd9Sstevel@tonic-gate#ifdef notdef
200*7c478bd9Sstevel@tonic-gate/* XXX lacking appropriate public header files */
201*7c478bd9Sstevel@tonic-gatenis_error __nis_CacheInit(NisCache **cache);
202*7c478bd9Sstevel@tonic-gate#endif
203*7c478bd9Sstevel@tonic-gatenis_error __nis_CacheBind(char *dname, directory_obj *dobj);
204*7c478bd9Sstevel@tonic-gatebool_t __nis_CacheRemoveEntry(directory_obj *dobj);
205*7c478bd9Sstevel@tonic-gatenis_error __nis_CacheSearch(char *dname, directory_obj *dobj);
206*7c478bd9Sstevel@tonic-gatevoid __nis_CacheRestart(void);
207*7c478bd9Sstevel@tonic-gatevoid __nis_CachePrint(void);
208*7c478bd9Sstevel@tonic-gatebool_t __nis_CacheAddEntry(fd_result *, directory_obj *);
209*7c478bd9Sstevel@tonic-gateuint32_t __nis_CacheLocalLoadPref(void);
210*7c478bd9Sstevel@tonic-gatenis_error __nis_CacheLocalInit(uint32_t *exp_time);
211*7c478bd9Sstevel@tonic-gatenis_error __nis_CacheMgrInit(void);
212*7c478bd9Sstevel@tonic-gatevoid __nis_CacheMgrCleanup(void);
213*7c478bd9Sstevel@tonic-gatenis_error __nis_CacheMgrBindReplica(char *dname);
214*7c478bd9Sstevel@tonic-gatenis_error __nis_CacheMgrBindMaster(char *dname);
215*7c478bd9Sstevel@tonic-gatenis_error __nis_CacheMgrBindServer(nis_server *srv, int nsrv);
216*7c478bd9Sstevel@tonic-gateint __nis_CacheMgrRefreshBinding(nis_bound_directory *binding);
217*7c478bd9Sstevel@tonic-gateint __nis_CacheMgrRefreshAddress(nis_bound_endpoint *bep);
218*7c478bd9Sstevel@tonic-gateint __nis_CacheMgrRefreshCallback(nis_bound_endpoint *bep);
219*7c478bd9Sstevel@tonic-gateint __nis_CacheMgrUpdateUaddr(char *uaddr);
220*7c478bd9Sstevel@tonic-gatevoid __nis_CacheMgrMarkUp(void);
221*7c478bd9Sstevel@tonic-gateuint32_t __nis_CacheMgrTimers(void);
222*7c478bd9Sstevel@tonic-gateuint32_t __nis_CacheMgrRefreshCache(void);
223*7c478bd9Sstevel@tonic-gateuint32_t __nis_serverRefreshCache(void);
224*7c478bd9Sstevel@tonic-gate
225*7c478bd9Sstevel@tonic-gate/* client_cache.cc */
226*7c478bd9Sstevel@tonic-gate
227*7c478bd9Sstevel@tonic-gate/* cold_start.cc */
228*7c478bd9Sstevel@tonic-gatebool_t writeColdStartFile(directory_obj *dobj);
229*7c478bd9Sstevel@tonic-gate
230*7c478bd9Sstevel@tonic-gate/* local_cache.cc */
231*7c478bd9Sstevel@tonic-gate
232*7c478bd9Sstevel@tonic-gate/* mapped_cache.cc */
233*7c478bd9Sstevel@tonic-gate
234*7c478bd9Sstevel@tonic-gate/* mgr_cache.cc */
235*7c478bd9Sstevel@tonic-gate
236*7c478bd9Sstevel@tonic-gate/* nis_cache_clnt.cc */
237*7c478bd9Sstevel@tonic-gate
238*7c478bd9Sstevel@tonic-gate/* nis_cache_xdr.cc */
239*7c478bd9Sstevel@tonic-gate
240*7c478bd9Sstevel@tonic-gate/*
241*7c478bd9Sstevel@tonic-gate * usr/src/lib/libnsl/nis/gen routines
242*7c478bd9Sstevel@tonic-gate */
243*7c478bd9Sstevel@tonic-gate
244*7c478bd9Sstevel@tonic-gate/* nis_callback.c */
245*7c478bd9Sstevel@tonic-gateint __nis_destroy_callback(void);
246*7c478bd9Sstevel@tonic-gatenis_server *__nis_init_callback(CLIENT *svc_clnt, int (*cbfunc)(),
247*7c478bd9Sstevel@tonic-gate								void *userdata);
248*7c478bd9Sstevel@tonic-gateint __nis_run_callback(netobj *srvid, rpcproc_t srvproc,
249*7c478bd9Sstevel@tonic-gate				struct timeval *timeout, CLIENT *myserv);
250*7c478bd9Sstevel@tonic-gate
251*7c478bd9Sstevel@tonic-gate/* nis_cast.c */
252*7c478bd9Sstevel@tonic-gateenum clnt_stat __nis_cast_proc(nis_bound_directory *binding, int base,
253*7c478bd9Sstevel@tonic-gate				int nbep, rpcproc_t procnum,
254*7c478bd9Sstevel@tonic-gate				xdrproc_t xdr_inproc, void *in,
255*7c478bd9Sstevel@tonic-gate				xdrproc_t xdr_outproc, void *out,
256*7c478bd9Sstevel@tonic-gate				int *fastest, int mytimeout);
257*7c478bd9Sstevel@tonic-gate
258*7c478bd9Sstevel@tonic-gate/* nis_cback_xdr.c */
259*7c478bd9Sstevel@tonic-gatebool_t xdr_obj_p(XDR *xdrs, obj_p *objp);
260*7c478bd9Sstevel@tonic-gatebool_t xdr_cback_data(XDR *xdrs, cback_data *objp);
261*7c478bd9Sstevel@tonic-gate
262*7c478bd9Sstevel@tonic-gate/* nis_clnt.c */
263*7c478bd9Sstevel@tonic-gate
264*7c478bd9Sstevel@tonic-gate/* nis_groups.c */
265*7c478bd9Sstevel@tonic-gatetypedef nis_result *(*nis_lookup_func)(nis_name, u_int);
266*7c478bd9Sstevel@tonic-gateint __nis_group_cache_stats(int *grpcachecall, int *grpcachehits,
267*7c478bd9Sstevel@tonic-gate					int *grpcachemisses);
268*7c478bd9Sstevel@tonic-gatebool_t nis_ismember(nis_name princp, nis_name group);
269*7c478bd9Sstevel@tonic-gatebool_t __do_ismember(nis_name princp, nis_object *obj, nis_lookup_func lookup);
270*7c478bd9Sstevel@tonic-gatevoid nis_print_group_entry(nis_name group);
271*7c478bd9Sstevel@tonic-gatevoid nis_flushgroups(void);
272*7c478bd9Sstevel@tonic-gatevoid __nis_flush_group_exp_name(nis_name groupname);
273*7c478bd9Sstevel@tonic-gatenis_name __nis_map_group_r(const nis_name name, char *buf, size_t bufsize);
274*7c478bd9Sstevel@tonic-gatenis_error nis_addmember(nis_name princp, nis_name group);
275*7c478bd9Sstevel@tonic-gatenis_error nis_removemember(nis_name princp, nis_name group);
276*7c478bd9Sstevel@tonic-gatenis_error nis_verifygroup(nis_name group);
277*7c478bd9Sstevel@tonic-gatenis_error __nis_creategroup_obj(nis_name name, uint_t flags, nis_object *obj);
278*7c478bd9Sstevel@tonic-gatenis_error nis_creategroup(nis_name name, uint_t flags);
279*7c478bd9Sstevel@tonic-gatenis_error nis_destroygroup(nis_name name);
280*7c478bd9Sstevel@tonic-gate
281*7c478bd9Sstevel@tonic-gate/* nis_hash.c */
282*7c478bd9Sstevel@tonic-gateint nis_in_table(nis_name name, NIS_HASH_TABLE *table, int *key);
283*7c478bd9Sstevel@tonic-gateint nis_insert_item(NIS_HASH_ITEM *item, NIS_HASH_TABLE *table);
284*7c478bd9Sstevel@tonic-gateNIS_HASH_ITEM *nis_find_item(nis_name name, NIS_HASH_TABLE *table);
285*7c478bd9Sstevel@tonic-gateNIS_HASH_ITEM *nis_pop_item(NIS_HASH_TABLE *table);
286*7c478bd9Sstevel@tonic-gateNIS_HASH_ITEM *nis_remove_item(nis_name name, NIS_HASH_TABLE *table);
287*7c478bd9Sstevel@tonic-gatevoid nis_insert_name(nis_name name, NIS_HASH_TABLE *table);
288*7c478bd9Sstevel@tonic-gatevoid nis_remove_name(nis_name name, NIS_HASH_TABLE *table);
289*7c478bd9Sstevel@tonic-gate
290*7c478bd9Sstevel@tonic-gate/* nis_lookup.c */
291*7c478bd9Sstevel@tonic-gatenis_result *__nis_remote_lookup(ib_request *req, u_int flags, int list_op,
292*7c478bd9Sstevel@tonic-gate				void *cbdata, int (*cback)());
293*7c478bd9Sstevel@tonic-gatenis_result *__nis_core_lookup(ib_request *req, u_int flags, int list_op,
294*7c478bd9Sstevel@tonic-gate				void *cbdata, int (*cback)());
295*7c478bd9Sstevel@tonic-gatefd_result *__nis_finddirectory_remote(nis_bound_directory **binding,
296*7c478bd9Sstevel@tonic-gate				char *dname);
297*7c478bd9Sstevel@tonic-gatefd_result *__nis_finddirectory(nis_bound_directory **binding, char *dname);
298*7c478bd9Sstevel@tonic-gatefd_result *nis_finddirectory(directory_obj *dobj, nis_name name);
299*7c478bd9Sstevel@tonic-gate
300*7c478bd9Sstevel@tonic-gate/* nis_misc.c */
301*7c478bd9Sstevel@tonic-gatevoid __nis_pingproc(nis_server *srv, nis_name name, uint32_t mtime);
302*7c478bd9Sstevel@tonic-gatevoid nis_ping(nis_name name, uint32_t mtime, nis_object *obj);
303*7c478bd9Sstevel@tonic-gatelog_result *nis_dumplog(nis_server *host, nis_name name, uint32_t dtime);
304*7c478bd9Sstevel@tonic-gatelog_result *nis_dump(nis_server *host, nis_name name, int (*cback)());
305*7c478bd9Sstevel@tonic-gatevoid nis_free_binding(nis_bound_directory *binding);
306*7c478bd9Sstevel@tonic-gatevoid __nis_path_free(char **names, int len);
307*7c478bd9Sstevel@tonic-gatenis_error __nis_path(char *from, char *to, int *path_length, char ***namesp);
308*7c478bd9Sstevel@tonic-gateint __nis_host_is_server(nis_server *, int);
309*7c478bd9Sstevel@tonic-gatevoid __nis_print_result(nis_result *);
310*7c478bd9Sstevel@tonic-gatestruct netconfig *__nis_get_netconfig(endpoint *);
311*7c478bd9Sstevel@tonic-gate
312*7c478bd9Sstevel@tonic-gate/* nis_misc_proc.c */
313*7c478bd9Sstevel@tonic-gatevoid __nis_auth2princ(char *name, int flavor, caddr_t auth, bool_t refresh,
314*7c478bd9Sstevel@tonic-gate			int verbose);
315*7c478bd9Sstevel@tonic-gatebool_t __nis_ck_perms(u_int right, u_int mask, nis_object *obj,
316*7c478bd9Sstevel@tonic-gate				nis_name pr, int level);
317*7c478bd9Sstevel@tonic-gatebool_t __nis_ismaster(char *host, char *domain);
318*7c478bd9Sstevel@tonic-gatebool_t __nis_isadmin(char *princ, char *table, char *domain);
319*7c478bd9Sstevel@tonic-gatenis_server * __nis_host2nis_server(char *host, bool_t addpubkey, int *errcode);
320*7c478bd9Sstevel@tonic-gate
321*7c478bd9Sstevel@tonic-gate/* nis_names.c */
322*7c478bd9Sstevel@tonic-gateint __nis_parse_path(char *path, nis_name *list, int max);
323*7c478bd9Sstevel@tonic-gatenis_name *nis_getnames(nis_name name);
324*7c478bd9Sstevel@tonic-gatevoid nis_freenames(nis_name *namelist);
325*7c478bd9Sstevel@tonic-gate
326*7c478bd9Sstevel@tonic-gate/* nis_perror.c */
327*7c478bd9Sstevel@tonic-gatechar *nis_sperrno(nis_error stat);
328*7c478bd9Sstevel@tonic-gatevoid nis_perror(nis_error stat, char *str);
329*7c478bd9Sstevel@tonic-gatechar *nis_sperror_r(nis_error stat, char *str, char buf[], int len);
330*7c478bd9Sstevel@tonic-gatechar *nis_sperror(nis_error stat, char *str);
331*7c478bd9Sstevel@tonic-gatevoid nis_lerror(nis_error stat, char *str);
332*7c478bd9Sstevel@tonic-gate
333*7c478bd9Sstevel@tonic-gate/* nis_rpc.c */
334*7c478bd9Sstevel@tonic-gatetypedef struct {
335*7c478bd9Sstevel@tonic-gate	nis_server *srv;
336*7c478bd9Sstevel@tonic-gate	int nsrv;
337*7c478bd9Sstevel@tonic-gate	char *name;
338*7c478bd9Sstevel@tonic-gate	int parent_first;
339*7c478bd9Sstevel@tonic-gate	u_int flags;
340*7c478bd9Sstevel@tonic-gate	struct timeval timeout;
341*7c478bd9Sstevel@tonic-gate	nis_error niserror;
342*7c478bd9Sstevel@tonic-gate	uint32_t aticks;
343*7c478bd9Sstevel@tonic-gate	int state;
344*7c478bd9Sstevel@tonic-gate	nis_bound_directory *binding;
345*7c478bd9Sstevel@tonic-gate	int base;
346*7c478bd9Sstevel@tonic-gate	int end;
347*7c478bd9Sstevel@tonic-gate	int count;
348*7c478bd9Sstevel@tonic-gate	int start;
349*7c478bd9Sstevel@tonic-gate	int cur;
350*7c478bd9Sstevel@tonic-gate	int bound_to;
351*7c478bd9Sstevel@tonic-gate	int refresh_count;
352*7c478bd9Sstevel@tonic-gate} nis_call_state;
353*7c478bd9Sstevel@tonic-gate
354*7c478bd9Sstevel@tonic-gatevoid __nis_reset_state(void);
355*7c478bd9Sstevel@tonic-gatevoid __nis_bad_auth_server(CLIENT *c);
356*7c478bd9Sstevel@tonic-gatevoid __nis_release_server(nis_call_state *state, CLIENT *c,
357*7c478bd9Sstevel@tonic-gate					enum clnt_stat status);
358*7c478bd9Sstevel@tonic-gateCLIENT *__nis_get_server(nis_call_state *state);
359*7c478bd9Sstevel@tonic-gate
360*7c478bd9Sstevel@tonic-gate/* nis_subr.c */
361*7c478bd9Sstevel@tonic-gateint __start_clock(int clk);
362*7c478bd9Sstevel@tonic-gateunsigned int __stop_clock(int clk);
363*7c478bd9Sstevel@tonic-gatename_pos nis_dir_cmp(nis_name n1, nis_name n2);
364*7c478bd9Sstevel@tonic-gatenis_name nis_local_group(void);
365*7c478bd9Sstevel@tonic-gatenis_name nis_domain_of(char *s);
366*7c478bd9Sstevel@tonic-gatenis_name nis_leaf_of_r(const nis_name  s, char *buf, size_t bufsize);
367*7c478bd9Sstevel@tonic-gatenis_name nis_leaf_of(char *s);
368*7c478bd9Sstevel@tonic-gatenis_name nis_name_of(char *s);
369*7c478bd9Sstevel@tonic-gatenis_name nis_local_directory(void);
370*7c478bd9Sstevel@tonic-gateint __nis_principal(char *principal_name, uid_t uid, char *directory);
371*7c478bd9Sstevel@tonic-gatenis_name nis_local_principal(void);
372*7c478bd9Sstevel@tonic-gatenis_name nis_local_host(void);
373*7c478bd9Sstevel@tonic-gatevoid nis_destroy_object(nis_object *obj);
374*7c478bd9Sstevel@tonic-gatenis_object *nis_clone_object(nis_object *obj, nis_object *dest);
375*7c478bd9Sstevel@tonic-gatechar **__break_name(nis_name name, int *levels);
376*7c478bd9Sstevel@tonic-gateint __name_distance(char **targ, char **test);
377*7c478bd9Sstevel@tonic-gatenis_result *nis_make_error(nis_error err, uint32_t aticks, uint32_t cticks,
378*7c478bd9Sstevel@tonic-gate				uint32_t dticks, uint32_t zticks);
379*7c478bd9Sstevel@tonic-gatenis_attr *__cvt2attr(int *na, char **attrs);
380*7c478bd9Sstevel@tonic-gatevoid nis_free_request(ib_request *req);
381*7c478bd9Sstevel@tonic-gatenis_error nis_get_request(nis_name name, nis_object *obj, netobj *cookie,
382*7c478bd9Sstevel@tonic-gate				ib_request *reqreq);
383*7c478bd9Sstevel@tonic-gatenis_object *nis_read_obj(char *f);
384*7c478bd9Sstevel@tonic-gateint nis_write_obj(char *f, nis_object *o);
385*7c478bd9Sstevel@tonic-gateCLIENT *nis_make_rpchandle(nis_server *srv, int cback, rpcprog_t prog,
386*7c478bd9Sstevel@tonic-gate			rpcvers_t ver, u_int flags, int inbuf, int outbuf);
387*7c478bd9Sstevel@tonic-gatevoid *nis_get_static_storage(struct nis_sdata *bs, u_int el, u_int nel);
388*7c478bd9Sstevel@tonic-gatechar *nis_old_data(char *s);
389*7c478bd9Sstevel@tonic-gatechar *nis_data(char *s);
390*7c478bd9Sstevel@tonic-gatenis_name __nis_local_root(void);
391*7c478bd9Sstevel@tonic-gate
392*7c478bd9Sstevel@tonic-gate/* nis_tags.c */
393*7c478bd9Sstevel@tonic-gatevoid nis_freeservlist(nis_server **servers);
394*7c478bd9Sstevel@tonic-gatenis_server **nis_getservlist(nis_name name);
395*7c478bd9Sstevel@tonic-gatenis_error nis_stats(nis_server *srv, nis_tag *tags, int ntags,
396*7c478bd9Sstevel@tonic-gate							nis_tag **result);
397*7c478bd9Sstevel@tonic-gatenis_error nis_servstate(nis_server *srv, nis_tag *tags, int ntags,
398*7c478bd9Sstevel@tonic-gate							nis_tag **result);
399*7c478bd9Sstevel@tonic-gatevoid nis_freetags(nis_tag *tags, int ntags);
400*7c478bd9Sstevel@tonic-gate
401*7c478bd9Sstevel@tonic-gate/* nis_xdr.c */
402*7c478bd9Sstevel@tonic-gatebool_t xdr_nis_attr(XDR *xdrs, nis_attr *objp);
403*7c478bd9Sstevel@tonic-gatebool_t xdr_nis_name(XDR *xdrs, nis_name *objp);
404*7c478bd9Sstevel@tonic-gatebool_t xdr_endpoint(XDR *xdrs, endpoint *objp);
405*7c478bd9Sstevel@tonic-gatebool_t xdr_nis_server(XDR *xdrs, nis_server *objp);
406*7c478bd9Sstevel@tonic-gatebool_t xdr_directory_obj(XDR *xdrs, directory_obj *objp);
407*7c478bd9Sstevel@tonic-gatebool_t xdr_entry_obj(XDR *xdrs, entry_obj *objp);
408*7c478bd9Sstevel@tonic-gatebool_t xdr_table_obj(XDR *xdrs, table_obj *objp);
409*7c478bd9Sstevel@tonic-gatebool_t xdr_objdata(XDR *xdrs, objdata *objp);
410*7c478bd9Sstevel@tonic-gatebool_t xdr_nis_oid(XDR *xdrs, nis_oid *objp);
411*7c478bd9Sstevel@tonic-gatebool_t xdr_nis_object(XDR *xdrs, nis_object *objp);
412*7c478bd9Sstevel@tonic-gatebool_t xdr_nis_object(XDR *xdrs, nis_object *objp);
413*7c478bd9Sstevel@tonic-gatebool_t xdr_nis_error(XDR *xdrs, nis_error *objp);
414*7c478bd9Sstevel@tonic-gatebool_t xdr_nis_result(XDR *xdrs, nis_result *objp);
415*7c478bd9Sstevel@tonic-gatebool_t xdr_ns_request(XDR *xdrs, ns_request *objp);
416*7c478bd9Sstevel@tonic-gatebool_t xdr_ib_request(XDR *xdrs, ib_request *objp);
417*7c478bd9Sstevel@tonic-gatebool_t xdr_ping_args(XDR *xdrs, ping_args *objp);
418*7c478bd9Sstevel@tonic-gatebool_t xdr_log_entry_t(XDR *xdrs, log_entry_t *objp);
419*7c478bd9Sstevel@tonic-gatebool_t xdr_log_entry(XDR *xdrs, log_entry *objp);
420*7c478bd9Sstevel@tonic-gatebool_t xdr_log_result(XDR *xdrs, log_result *objp);
421*7c478bd9Sstevel@tonic-gatebool_t xdr_cp_result(XDR *xdrs, cp_result *objp);
422*7c478bd9Sstevel@tonic-gatebool_t xdr_nis_tag(XDR *xdrs, nis_tag *objp);
423*7c478bd9Sstevel@tonic-gatebool_t xdr_nis_taglist(XDR *xdrs, nis_taglist *objp);
424*7c478bd9Sstevel@tonic-gatebool_t xdr_dump_args(XDR *xdrs, dump_args *objp);
425*7c478bd9Sstevel@tonic-gatebool_t xdr_fd_args(XDR *xdrs, fd_args *objp);
426*7c478bd9Sstevel@tonic-gatebool_t xdr_fd_result(XDR *xdrs, fd_result *objp);
427*7c478bd9Sstevel@tonic-gatebool_t xdr_nis_bound_endpoint(XDR *xdrs, nis_bound_endpoint *objp);
428*7c478bd9Sstevel@tonic-gatebool_t xdr_nis_bound_directory(XDR *xdrs, nis_bound_directory *objp);
429*7c478bd9Sstevel@tonic-gatebool_t xdr_nis_active_endpoint(XDR *xdrs, nis_active_endpoint *objp);
430*7c478bd9Sstevel@tonic-gate
431*7c478bd9Sstevel@tonic-gate/* nislib.c */
432*7c478bd9Sstevel@tonic-gatevoid nis_freeresult(nis_result *res);
433*7c478bd9Sstevel@tonic-gatevoid __nis_freelogresult(log_result *lres);
434*7c478bd9Sstevel@tonic-gatenis_error nis_bind_dir(char *dname, int parent_first,
435*7c478bd9Sstevel@tonic-gate				nis_bound_directory **binding, u_int flags);
436*7c478bd9Sstevel@tonic-gatenis_result *nis_lookup(nis_name name, uint_t flags);
437*7c478bd9Sstevel@tonic-gatenis_result *nis_list(nis_name name, uint_t flags, int (*cback)(),
438*7c478bd9Sstevel@tonic-gate				void *cbdata);
439*7c478bd9Sstevel@tonic-gatenis_result *nis_add(nis_name name, nis_object *obj);
440*7c478bd9Sstevel@tonic-gatenis_result *nis_remove(nis_name name, nis_object *obj);
441*7c478bd9Sstevel@tonic-gatenis_result *nis_modify(nis_name name, nis_object *obj);
442*7c478bd9Sstevel@tonic-gatenis_result *nis_add_entry(nis_name name, nis_object *obj, uint_t flags);
443*7c478bd9Sstevel@tonic-gatenis_result *nis_remove_entry(nis_name name, nis_object *obj, uint_t flags);
444*7c478bd9Sstevel@tonic-gatenis_result *nis_modify_entry(nis_name name, nis_object *obj, uint_t flags);
445*7c478bd9Sstevel@tonic-gatenis_result *nis_first_entry(nis_name table);
446*7c478bd9Sstevel@tonic-gatenis_result *nis_next_entry(nis_name table, netobj *cookie);
447*7c478bd9Sstevel@tonic-gatenis_result *nis_checkpoint(nis_name name);
448*7c478bd9Sstevel@tonic-gatenis_error nis_mkdir(nis_name name, nis_server *srv);
449*7c478bd9Sstevel@tonic-gatenis_error nis_rmdir(nis_name name, nis_server *srv);
450*7c478bd9Sstevel@tonic-gatenis_error __nis_send_msg(nis_server *srv, int proc, xdrproc_t out, char *msg);
451*7c478bd9Sstevel@tonic-gatenis_result *__nis_list_localcb(nis_name name, u_int flags,
452*7c478bd9Sstevel@tonic-gate				int (*cback)(), void *cbdata);
453*7c478bd9Sstevel@tonic-gate
454*7c478bd9Sstevel@tonic-gate/* npd_lib.c */
455*7c478bd9Sstevel@tonic-gatebool_t __npd_ecb_crypt(uint32_t *val1, uint32_t *val2, des_block *buf,
456*7c478bd9Sstevel@tonic-gate			uint_t bufsize, uint_t mode, des_block *deskey);
457*7c478bd9Sstevel@tonic-gatebool_t __npd_cbc_crypt(uint32_t *val, char *str, uint_t strsize,
458*7c478bd9Sstevel@tonic-gate			npd_newpass *buf, uint_t bufsize, uint_t mode,
459*7c478bd9Sstevel@tonic-gate			des_block *deskey);
460*7c478bd9Sstevel@tonic-gate
461*7c478bd9Sstevel@tonic-gate/* print_obj.c */
462*7c478bd9Sstevel@tonic-gatevoid nis_print_rights(u_int r);
463*7c478bd9Sstevel@tonic-gatevoid nis_print_directory(directory_obj *r);
464*7c478bd9Sstevel@tonic-gatevoid nis_print_group(group_obj *g);
465*7c478bd9Sstevel@tonic-gatevoid nis_print_table(table_obj *t);
466*7c478bd9Sstevel@tonic-gatevoid nis_print_link(link_obj *l);
467*7c478bd9Sstevel@tonic-gatevoid nis_print_entry(entry_obj *edata);
468*7c478bd9Sstevel@tonic-gatevoid nis_print_object(nis_object *o);
469*7c478bd9Sstevel@tonic-gate
470*7c478bd9Sstevel@tonic-gate/* thr_misc.c */
471*7c478bd9Sstevel@tonic-gate
472*7c478bd9Sstevel@tonic-gate/*
473*7c478bd9Sstevel@tonic-gate * usr/src/lib/libnsl/nsl routines
474*7c478bd9Sstevel@tonic-gate */
475*7c478bd9Sstevel@tonic-gate
476*7c478bd9Sstevel@tonic-gate/* _conn_util.c */
477*7c478bd9Sstevel@tonic-gate
478*7c478bd9Sstevel@tonic-gate/* _data2.c */
479*7c478bd9Sstevel@tonic-gate
480*7c478bd9Sstevel@tonic-gate/* _errlst.c */
481*7c478bd9Sstevel@tonic-gateint *__t_errno(void);
482*7c478bd9Sstevel@tonic-gate
483*7c478bd9Sstevel@tonic-gate/* _utility.c */
484*7c478bd9Sstevel@tonic-gate
485*7c478bd9Sstevel@tonic-gate/* t_accept.c */
486*7c478bd9Sstevel@tonic-gateint t_accept(int, int, struct t_call *);
487*7c478bd9Sstevel@tonic-gate
488*7c478bd9Sstevel@tonic-gate/* t_alloc.c */
489*7c478bd9Sstevel@tonic-gatechar *t_alloc(int, int, int);
490*7c478bd9Sstevel@tonic-gate
491*7c478bd9Sstevel@tonic-gate/* t_bind.c */
492*7c478bd9Sstevel@tonic-gateint t_bind(int, struct t_bind *, struct t_bind *);
493*7c478bd9Sstevel@tonic-gate
494*7c478bd9Sstevel@tonic-gate/* t_close.c */
495*7c478bd9Sstevel@tonic-gateint t_close(int);
496*7c478bd9Sstevel@tonic-gate
497*7c478bd9Sstevel@tonic-gate/* t_connect.c */
498*7c478bd9Sstevel@tonic-gateint t_connect(int, struct t_call *, struct t_call *);
499*7c478bd9Sstevel@tonic-gate
500*7c478bd9Sstevel@tonic-gate/* t_error.c */
501*7c478bd9Sstevel@tonic-gatevoid t_error(const char *);
502*7c478bd9Sstevel@tonic-gate
503*7c478bd9Sstevel@tonic-gate/* t_free.c */
504*7c478bd9Sstevel@tonic-gateint t_free(char *, int);
505*7c478bd9Sstevel@tonic-gate
506*7c478bd9Sstevel@tonic-gate/* t_getinfo.c */
507*7c478bd9Sstevel@tonic-gateint t_getinfo(int, struct t_info *);
508*7c478bd9Sstevel@tonic-gate
509*7c478bd9Sstevel@tonic-gate/* t_getname.c */
510*7c478bd9Sstevel@tonic-gateint t_getname(int, struct netbuf *, int);
511*7c478bd9Sstevel@tonic-gate
512*7c478bd9Sstevel@tonic-gate/* t_getstate.c */
513*7c478bd9Sstevel@tonic-gateint t_getstate(int);
514*7c478bd9Sstevel@tonic-gate
515*7c478bd9Sstevel@tonic-gate/* t_listen.c */
516*7c478bd9Sstevel@tonic-gateint t_listen(int, struct t_call *);
517*7c478bd9Sstevel@tonic-gate
518*7c478bd9Sstevel@tonic-gate/* t_look.c */
519*7c478bd9Sstevel@tonic-gateint t_look(int);
520*7c478bd9Sstevel@tonic-gate
521*7c478bd9Sstevel@tonic-gate/* t_open.c */
522*7c478bd9Sstevel@tonic-gateint t_open(const char *, int, struct t_info *);
523*7c478bd9Sstevel@tonic-gate
524*7c478bd9Sstevel@tonic-gate/* t_optmgmt.c */
525*7c478bd9Sstevel@tonic-gateint t_optmgmt(int, struct t_optmgmt *, struct t_optmgmt *);
526*7c478bd9Sstevel@tonic-gate
527*7c478bd9Sstevel@tonic-gate/* t_rcv.c */
528*7c478bd9Sstevel@tonic-gateint t_rcv(int, char *, unsigned, int *);
529*7c478bd9Sstevel@tonic-gate
530*7c478bd9Sstevel@tonic-gate/* t_rcvconnect.c */
531*7c478bd9Sstevel@tonic-gateint t_rcvconnect(int, struct t_call *);
532*7c478bd9Sstevel@tonic-gate
533*7c478bd9Sstevel@tonic-gate/* t_rcvdis.c */
534*7c478bd9Sstevel@tonic-gateint t_rcvdis(int, struct t_discon *);
535*7c478bd9Sstevel@tonic-gate
536*7c478bd9Sstevel@tonic-gate/* t_rcvrel.c */
537*7c478bd9Sstevel@tonic-gateint t_rcvrel(int);
538*7c478bd9Sstevel@tonic-gate
539*7c478bd9Sstevel@tonic-gate/* t_rcvudata.c */
540*7c478bd9Sstevel@tonic-gateint t_rcvudata(int, struct t_unitdata *, int *);
541*7c478bd9Sstevel@tonic-gate
542*7c478bd9Sstevel@tonic-gate/* t_rcvuderr.c */
543*7c478bd9Sstevel@tonic-gateint t_rcvuderr(int, struct t_uderr *);
544*7c478bd9Sstevel@tonic-gate
545*7c478bd9Sstevel@tonic-gate/* t_snd.c */
546*7c478bd9Sstevel@tonic-gateint t_snd(int, char *, unsigned, int);
547*7c478bd9Sstevel@tonic-gate
548*7c478bd9Sstevel@tonic-gate/* t_snddis */
549*7c478bd9Sstevel@tonic-gateint t_snddis(int, struct t_call *);
550*7c478bd9Sstevel@tonic-gate
551*7c478bd9Sstevel@tonic-gate/* t_sndrel.c */
552*7c478bd9Sstevel@tonic-gateint t_sndrel(int);
553*7c478bd9Sstevel@tonic-gate
554*7c478bd9Sstevel@tonic-gate/* t_sndudata.c */
555*7c478bd9Sstevel@tonic-gateint t_sndudata(int, struct t_unitdata *);
556*7c478bd9Sstevel@tonic-gate
557*7c478bd9Sstevel@tonic-gate/* t_strerror.c */
558*7c478bd9Sstevel@tonic-gatechar *_t_strerror(int);
559*7c478bd9Sstevel@tonic-gate
560*7c478bd9Sstevel@tonic-gate/* t_sync.c */
561*7c478bd9Sstevel@tonic-gateint t_sync(int);
562*7c478bd9Sstevel@tonic-gate
563*7c478bd9Sstevel@tonic-gate/* t_unbind.c */
564*7c478bd9Sstevel@tonic-gateint t_unbind(int);
565*7c478bd9Sstevel@tonic-gate
566*7c478bd9Sstevel@tonic-gate/*
567*7c478bd9Sstevel@tonic-gate * struct t_iovec is defined in <xti.h>. But <xti.h> cannot be included
568*7c478bd9Sstevel@tonic-gate * because inclusion of <xti.h> and <tiuser.h> are mututally exclusive
569*7c478bd9Sstevel@tonic-gate * and <tiuser.h> is exposed by the inclusion of <rpc/rpc.h>. Needs to
570*7c478bd9Sstevel@tonic-gate * be seen how to build llib-lnsl.ln from multiple source files to avoid
571*7c478bd9Sstevel@tonic-gate * this problem.
572*7c478bd9Sstevel@tonic-gate */
573*7c478bd9Sstevel@tonic-gatestruct t_iovec {
574*7c478bd9Sstevel@tonic-gate	void	*iov_base;
575*7c478bd9Sstevel@tonic-gate	size_t	iov_len;
576*7c478bd9Sstevel@tonic-gate};
577*7c478bd9Sstevel@tonic-gate
578*7c478bd9Sstevel@tonic-gate/* t_sndv.c */
579*7c478bd9Sstevel@tonic-gateint t_sndv(int, const struct t_iovec *,  unsigned int, int);
580*7c478bd9Sstevel@tonic-gate
581*7c478bd9Sstevel@tonic-gate/* t_sndvudata.c */
582*7c478bd9Sstevel@tonic-gateint t_sndvudata(int, struct t_unitdata *, struct t_iovec *, unsigned int);
583*7c478bd9Sstevel@tonic-gate
584*7c478bd9Sstevel@tonic-gate/* t_sndreldata.c */
585*7c478bd9Sstevel@tonic-gateint t_sndreldata(int, struct t_discon *);
586*7c478bd9Sstevel@tonic-gate
587*7c478bd9Sstevel@tonic-gate/* t_rcvv.c */
588*7c478bd9Sstevel@tonic-gateint t_rcvv(int, struct t_iovec *, unsigned int, int *);
589*7c478bd9Sstevel@tonic-gate
590*7c478bd9Sstevel@tonic-gate/* t_rcvvudata.c */
591*7c478bd9Sstevel@tonic-gateint t_rcvvudata(int, struct t_unitdata *, struct t_iovec *,
592*7c478bd9Sstevel@tonic-gate        unsigned int, int *);
593*7c478bd9Sstevel@tonic-gate
594*7c478bd9Sstevel@tonic-gate/* t_rcvreldata.c */
595*7c478bd9Sstevel@tonic-gateextern int t_rcvreldata(int, struct t_discon *);
596*7c478bd9Sstevel@tonic-gate
597*7c478bd9Sstevel@tonic-gate/* t_sysconf.c */
598*7c478bd9Sstevel@tonic-gateint t_sysconf(int);
599*7c478bd9Sstevel@tonic-gate
600*7c478bd9Sstevel@tonic-gate/* xti_wrappers.c */
601*7c478bd9Sstevel@tonic-gateint _xti_accept(int, int, struct t_call *);
602*7c478bd9Sstevel@tonic-gateint _xti_xns5_accept(int, int, struct t_call *);
603*7c478bd9Sstevel@tonic-gatechar *_xti_alloc(int, int, int);
604*7c478bd9Sstevel@tonic-gateint _xti_bind(int, struct t_bind *, struct t_bind *);
605*7c478bd9Sstevel@tonic-gateint _xti_close(int);
606*7c478bd9Sstevel@tonic-gateint _xti_connect(int, struct t_call *, struct t_call *);
607*7c478bd9Sstevel@tonic-gateint _xti_error(char *);
608*7c478bd9Sstevel@tonic-gateint _xti_free(char *, int);
609*7c478bd9Sstevel@tonic-gateint _xti_getinfo(int, struct t_info *);
610*7c478bd9Sstevel@tonic-gateint _xti_getprotaddr(int, struct t_bind *, struct t_bind *);
611*7c478bd9Sstevel@tonic-gateint _xti_getstate(int);
612*7c478bd9Sstevel@tonic-gateint _xti_listen(int, struct t_call *);
613*7c478bd9Sstevel@tonic-gateint _xti_look(int);
614*7c478bd9Sstevel@tonic-gateint _xti_open(char *, int, struct t_info *);
615*7c478bd9Sstevel@tonic-gateint _xti_optmgmt(int, struct t_optmgmt *, struct t_optmgmt *);
616*7c478bd9Sstevel@tonic-gateint _xti_rcv(int, char *, unsigned int, int *);
617*7c478bd9Sstevel@tonic-gateint _xti_rcvconnect(int, struct t_call *);
618*7c478bd9Sstevel@tonic-gateint _xti_rcvdis(int, struct t_discon *);
619*7c478bd9Sstevel@tonic-gateint _xti_rcvrel(int);
620*7c478bd9Sstevel@tonic-gateint _xti_rcvreldata(int, struct t_discon *);
621*7c478bd9Sstevel@tonic-gateint _xti_rcvudata(int, struct t_unitdata *, int *);
622*7c478bd9Sstevel@tonic-gateint _xti_rcvuderr(int, struct t_uderr *);
623*7c478bd9Sstevel@tonic-gateint _xti_rcvv(int, struct t_iovec *, unsigned int, int *);
624*7c478bd9Sstevel@tonic-gateint _xti_rcvvudata(int, struct t_unitdata *, struct t_iovec *,
625*7c478bd9Sstevel@tonic-gate    unsigned int, int *);
626*7c478bd9Sstevel@tonic-gateint _xti_snd(int, char *, unsigned int, int);
627*7c478bd9Sstevel@tonic-gateint _xti_xns5_snd(int, char *, unsigned int, int);
628*7c478bd9Sstevel@tonic-gateint _xti_snddis(int, struct t_call *);
629*7c478bd9Sstevel@tonic-gateint _xti_sndrel(int);
630*7c478bd9Sstevel@tonic-gateint _xti_sndreldata(int, struct t_discon *);
631*7c478bd9Sstevel@tonic-gateint _xti_sndudata(int, struct t_unitdata *);
632*7c478bd9Sstevel@tonic-gateint _xti_sndv(int, const struct t_iovec *, unsigned int, int);
633*7c478bd9Sstevel@tonic-gateint _xti_sndvudata(int, struct t_unitdata *, struct t_iovec *, unsigned int);
634*7c478bd9Sstevel@tonic-gatechar *_xti_strerror(int);
635*7c478bd9Sstevel@tonic-gateint _xti_sync(int);
636*7c478bd9Sstevel@tonic-gateint _xti_sysconf(int);
637*7c478bd9Sstevel@tonic-gateint _xti_unbind(int);
638*7c478bd9Sstevel@tonic-gate
639*7c478bd9Sstevel@tonic-gate/*
640*7c478bd9Sstevel@tonic-gate * usr/src/lib/libnsl/nss routines
641*7c478bd9Sstevel@tonic-gate */
642*7c478bd9Sstevel@tonic-gate
643*7c478bd9Sstevel@tonic-gate/* gethostby_door.c */
644*7c478bd9Sstevel@tonic-gate
645*7c478bd9Sstevel@tonic-gate/* gethostbyname_r.c */
646*7c478bd9Sstevel@tonic-gatestruct hostent *_uncached_gethostbyname_r(const char *nam,
647*7c478bd9Sstevel@tonic-gate				struct hostent *result,
648*7c478bd9Sstevel@tonic-gate				char *buffer, int buflen, int *h_errnop);
649*7c478bd9Sstevel@tonic-gatestruct hostent *_uncached_gethostbyaddr_r(const char *addr, int length,
650*7c478bd9Sstevel@tonic-gate				int type, struct hostent *result,
651*7c478bd9Sstevel@tonic-gate				char *buffer, int buflen, int *h_errnop);
652*7c478bd9Sstevel@tonic-gatestruct hostent *gethostbyname_r(const char *nam, struct hostent *result,
653*7c478bd9Sstevel@tonic-gate				char *buffer, int buflen, int *h_errnop);
654*7c478bd9Sstevel@tonic-gatestruct hostent *gethostbyaddr_r(const char *addr, int length, int type,
655*7c478bd9Sstevel@tonic-gate				struct hostent *result,
656*7c478bd9Sstevel@tonic-gate				char *buffer, int buflen, int *h_errnop);
657*7c478bd9Sstevel@tonic-gate
658*7c478bd9Sstevel@tonic-gate/* gethostent.c */
659*7c478bd9Sstevel@tonic-gatestruct hostent *gethostbyname(const char *nam);
660*7c478bd9Sstevel@tonic-gatestruct hostent *gethostbyaddr(const void *addr, socklen_t len, int type);
661*7c478bd9Sstevel@tonic-gatestruct hostent *gethostent(void);
662*7c478bd9Sstevel@tonic-gate
663*7c478bd9Sstevel@tonic-gate/* gethostent_r.c */
664*7c478bd9Sstevel@tonic-gateint sethostent(int stay);
665*7c478bd9Sstevel@tonic-gateint endhostent(void);
666*7c478bd9Sstevel@tonic-gatestruct hostent *gethostent_r(struct hostent *result, char *buffer, int buflen,
667*7c478bd9Sstevel@tonic-gate				int *h_errnop);
668*7c478bd9Sstevel@tonic-gate
669*7c478bd9Sstevel@tonic-gate/* getipnodeby.c */
670*7c478bd9Sstevel@tonic-gatevoid freehostent(struct hostent *hent);
671*7c478bd9Sstevel@tonic-gatestruct hostent *getipnodebyaddr(const void *src, size_t len, int type,
672*7c478bd9Sstevel@tonic-gate				int *error_num);
673*7c478bd9Sstevel@tonic-gatestruct hostent *getipnodebyname(const char *name, int af, int flags,
674*7c478bd9Sstevel@tonic-gate				int *error_num);
675*7c478bd9Sstevel@tonic-gate
676*7c478bd9Sstevel@tonic-gate/* getrpcent.c */
677*7c478bd9Sstevel@tonic-gatestruct rpcent *getrpcbyname(const char *nam);
678*7c478bd9Sstevel@tonic-gatestruct rpcent *getrpcbynumber(const int num);
679*7c478bd9Sstevel@tonic-gatestruct rpcent *getrpcent(void);
680*7c478bd9Sstevel@tonic-gate
681*7c478bd9Sstevel@tonic-gate/* getrpcent_r.c */
682*7c478bd9Sstevel@tonic-gatestruct rpcent *getrpcbyname_r(const char *name, struct rpcent *result,
683*7c478bd9Sstevel@tonic-gate				char *buffer, int buflen);
684*7c478bd9Sstevel@tonic-gatestruct rpcent *getrpcbynumber_r(const int number, struct rpcent *result,
685*7c478bd9Sstevel@tonic-gate				char *buffer, int buflen);
686*7c478bd9Sstevel@tonic-gatevoid setrpcent(const int stay);
687*7c478bd9Sstevel@tonic-gatevoid endrpcent(void);
688*7c478bd9Sstevel@tonic-gatestruct rpcent *getrpcent_r(struct rpcent *result, char *buffer, int buflen);
689*7c478bd9Sstevel@tonic-gate
690*7c478bd9Sstevel@tonic-gate/* inet_ntop.c */
691*7c478bd9Sstevel@tonic-gateconst char *inet_ntop(int af, const void *src, char *dst, socklen_t size);
692*7c478bd9Sstevel@tonic-gate
693*7c478bd9Sstevel@tonic-gate/* inet_pton.c */
694*7c478bd9Sstevel@tonic-gateint inet_pton(int af, const char *src, void *dst);
695*7c478bd9Sstevel@tonic-gate
696*7c478bd9Sstevel@tonic-gate/* netdir_inet.c */
697*7c478bd9Sstevel@tonic-gateint _get_hostserv_inetnetdir_byname(struct netconfig *nconf,
698*7c478bd9Sstevel@tonic-gate				struct nss_netdirbyname_in *args,
699*7c478bd9Sstevel@tonic-gate				union nss_netdirbyname_out *res);
700*7c478bd9Sstevel@tonic-gateint _get_hostserv_inetnetdir_byaddr(struct netconfig *nconf,
701*7c478bd9Sstevel@tonic-gate				struct nss_netdirbyaddr_in *args,
702*7c478bd9Sstevel@tonic-gate				union nss_netdirbyaddr_out *res);
703*7c478bd9Sstevel@tonic-gateint __nss2herrno(nss_status_t nsstat);
704*7c478bd9Sstevel@tonic-gatenss_status_t _herrno2nss(int h_errno);
705*7c478bd9Sstevel@tonic-gatestruct hostent *_switch_gethostbyname_r(const char *name,
706*7c478bd9Sstevel@tonic-gate				struct hostent *result,
707*7c478bd9Sstevel@tonic-gate				char *buffer, int buflen, int *h_errnop);
708*7c478bd9Sstevel@tonic-gatestruct hostent *_switch_gethostbyaddr_r(const char *addr, int len, int type,
709*7c478bd9Sstevel@tonic-gate				struct hostent *result,
710*7c478bd9Sstevel@tonic-gate				char *buffer, int buflen, int *h_errnop);
711*7c478bd9Sstevel@tonic-gateint str2servent(const char *instr, int lenstr, void *ent,
712*7c478bd9Sstevel@tonic-gate				char *buffer, int buflen);
713*7c478bd9Sstevel@tonic-gatevoid *__inet_get_local_interfaces(void);
714*7c478bd9Sstevel@tonic-gatevoid __inet_free_local_interfaces(void *p);
715*7c478bd9Sstevel@tonic-gateint __inet_address_is_local(void *p, struct in_addr addr);
716*7c478bd9Sstevel@tonic-gateint __inet_uaddr_is_local(void *p, struct netconfig *nc, char *uaddr);
717*7c478bd9Sstevel@tonic-gateint __inet_address_count(void *p);
718*7c478bd9Sstevel@tonic-gateulong_t __inet_get_addr(void *p, int n);
719*7c478bd9Sstevel@tonic-gatechar *__inet_get_uaddr(void *p, struct netconfig *nc, int n);
720*7c478bd9Sstevel@tonic-gatechar *__inet_get_networka(void *p, int n);
721*7c478bd9Sstevel@tonic-gate
722*7c478bd9Sstevel@tonic-gate/* netdir_inet_sundry.c */
723*7c478bd9Sstevel@tonic-gate
724*7c478bd9Sstevel@tonic-gate/*
725*7c478bd9Sstevel@tonic-gate * usr/src/lib/libnsl/rpc routines
726*7c478bd9Sstevel@tonic-gate */
727*7c478bd9Sstevel@tonic-gate
728*7c478bd9Sstevel@tonic-gate/* auth_des.c */
729*7c478bd9Sstevel@tonic-gateAUTH *authdes_seccreate(const char *servername, uint_t win,
730*7c478bd9Sstevel@tonic-gate			const char *timehost, const des_block *ckey);
731*7c478bd9Sstevel@tonic-gate
732*7c478bd9Sstevel@tonic-gate/* auth_none.c */
733*7c478bd9Sstevel@tonic-gateAUTH *authnone_create(void);
734*7c478bd9Sstevel@tonic-gate
735*7c478bd9Sstevel@tonic-gate/* auth_sys.c */
736*7c478bd9Sstevel@tonic-gateAUTH *authsys_create(const char *machname, uid_t uid, gid_t gid, int len,
737*7c478bd9Sstevel@tonic-gate			const gid_t *aup_gids);
738*7c478bd9Sstevel@tonic-gateAUTH *authsys_create_default(void);
739*7c478bd9Sstevel@tonic-gate
740*7c478bd9Sstevel@tonic-gate/* auth_time.c */
741*7c478bd9Sstevel@tonic-gate
742*7c478bd9Sstevel@tonic-gate/* authdes_prot.c */
743*7c478bd9Sstevel@tonic-gatebool_t xdr_authdes_cred(XDR *xdrs, struct authdes_cred *cred);
744*7c478bd9Sstevel@tonic-gatebool_t xdr_authdes_verf(XDR *xdrs, struct authdes_verf *verf);
745*7c478bd9Sstevel@tonic-gate
746*7c478bd9Sstevel@tonic-gate/* authsys_prot.c */
747*7c478bd9Sstevel@tonic-gatebool_t xdr_authsys_parms(XDR *xdrs, struct authsys_parms *p);
748*7c478bd9Sstevel@tonic-gatebool_t xdr_uid_t(XDR *xdrs, uid_t *ip);
749*7c478bd9Sstevel@tonic-gatebool_t xdr_gid_t(XDR *xdrs, gid_t *ip);
750*7c478bd9Sstevel@tonic-gate
751*7c478bd9Sstevel@tonic-gate/* clnt_bcast.c */
752*7c478bd9Sstevel@tonic-gateenum clnt_stat rpc_broadcast_exp(rpcprog_t prog, rpcvers_t vers, rpcproc_t proc,
753*7c478bd9Sstevel@tonic-gate		xdrproc_t xargs, caddr_t argsp, xdrproc_t xresults,
754*7c478bd9Sstevel@tonic-gate		caddr_t resultsp, resultproc_t eachresult, int inittime,
755*7c478bd9Sstevel@tonic-gate		int waittime, const char *netclass);
756*7c478bd9Sstevel@tonic-gateenum clnt_stat rpc_broadcast(rpcprog_t prog, rpcvers_t vers, rpcproc_t proc,
757*7c478bd9Sstevel@tonic-gate		xdrproc_t xargs, caddr_t argsp, xdrproc_t xresults,
758*7c478bd9Sstevel@tonic-gate		caddr_t resultsp, resultproc_t eachresult,
759*7c478bd9Sstevel@tonic-gate		const char *netclass);
760*7c478bd9Sstevel@tonic-gate
761*7c478bd9Sstevel@tonic-gate/* clnt_dg.c */
762*7c478bd9Sstevel@tonic-gateCLIENT *clnt_dg_create(int fd, struct netbuf *svcaddr, rpcprog_t program,
763*7c478bd9Sstevel@tonic-gate		rpcvers_t version, uint_t sendsz, uint_t recvsz);
764*7c478bd9Sstevel@tonic-gate
765*7c478bd9Sstevel@tonic-gate/* clnt_door.c */
766*7c478bd9Sstevel@tonic-gateCLIENT *clnt_door_create(rpcprog_t program, rpcvers_t version, uint_t sendsz);
767*7c478bd9Sstevel@tonic-gate
768*7c478bd9Sstevel@tonic-gate/* clnt_generic.c */
769*7c478bd9Sstevel@tonic-gateCLIENT *clnt_create_vers(const char *hostname, rpcprog_t prog,
770*7c478bd9Sstevel@tonic-gate		rpcvers_t *vers_out, rpcvers_t vers_low,
771*7c478bd9Sstevel@tonic-gate		rpcvers_t vers_high, const char *nettype);
772*7c478bd9Sstevel@tonic-gateCLIENT *clnt_create_vers_timed(const char *hostname, rpcprog_t prog,
773*7c478bd9Sstevel@tonic-gate		rpcvers_t *vers_out, rpcvers_t vers_low,
774*7c478bd9Sstevel@tonic-gate		rpcvers_t vers_high, const char *nettype,
775*7c478bd9Sstevel@tonic-gate		const struct timeval *tp);
776*7c478bd9Sstevel@tonic-gateCLIENT *clnt_create(const char *hostname, rpcprog_t prog, rpcvers_t vers,
777*7c478bd9Sstevel@tonic-gate		const char *nettype);
778*7c478bd9Sstevel@tonic-gateCLIENT *clnt_create_timed(const char *hostname, rpcprog_t prog, rpcvers_t vers,
779*7c478bd9Sstevel@tonic-gate		const char *netclass, const struct timeval *tp);
780*7c478bd9Sstevel@tonic-gateCLIENT *clnt_tp_create(const char *hostname, rpcprog_t prog, rpcvers_t vers,
781*7c478bd9Sstevel@tonic-gate		const struct netconfig *nconf);
782*7c478bd9Sstevel@tonic-gateCLIENT *clnt_tp_create_timed(const char *hostname, rpcprog_t prog,
783*7c478bd9Sstevel@tonic-gate		rpcvers_t vers, const struct netconfig *nconf,
784*7c478bd9Sstevel@tonic-gate		const struct timeval *tp);
785*7c478bd9Sstevel@tonic-gateCLIENT *clnt_tli_create(int fd, const struct netconfig *nconf,
786*7c478bd9Sstevel@tonic-gate		struct netbuf *svcaddr, rpcprog_t prog, rpcvers_t vers,
787*7c478bd9Sstevel@tonic-gate		uint_t sendsz, uint_t recvsz);
788*7c478bd9Sstevel@tonic-gate
789*7c478bd9Sstevel@tonic-gate/* clnt_perror.c */
790*7c478bd9Sstevel@tonic-gatechar *clnt_sperror(const CLIENT *cl, const char *s);
791*7c478bd9Sstevel@tonic-gatevoid clnt_perror(const CLIENT *cl, const char *s);
792*7c478bd9Sstevel@tonic-gatevoid clnt_perrno(enum clnt_stat num);
793*7c478bd9Sstevel@tonic-gatechar *clnt_spcreateerror(const char *s);
794*7c478bd9Sstevel@tonic-gatevoid clnt_pcreateerror(const char *s);
795*7c478bd9Sstevel@tonic-gateconst char *clnt_sperrno(const enum clnt_stat stat);
796*7c478bd9Sstevel@tonic-gate
797*7c478bd9Sstevel@tonic-gate/* clnt_raw.c */
798*7c478bd9Sstevel@tonic-gateCLIENT *clnt_raw_create(rpcprog_t prog, rpcvers_t vers);
799*7c478bd9Sstevel@tonic-gate
800*7c478bd9Sstevel@tonic-gate/* clnt_simple.c */
801*7c478bd9Sstevel@tonic-gateenum clnt_stat rpc_call(const char *host, rpcprog_t prognum, rpcvers_t versnum,
802*7c478bd9Sstevel@tonic-gate		rpcproc_t procnum, xdrproc_t inproc, const char *in,
803*7c478bd9Sstevel@tonic-gate		xdrproc_t outproc, char *out, const char *netclass);
804*7c478bd9Sstevel@tonic-gate
805*7c478bd9Sstevel@tonic-gate/* clnt_vc.c */
806*7c478bd9Sstevel@tonic-gateCLIENT *clnt_vc_create(int fd, struct netbuf *svcaddr, rpcprog_t prog,
807*7c478bd9Sstevel@tonic-gate		rpcvers_t vers, uint_t sendsz, uint_t recvsz);
808*7c478bd9Sstevel@tonic-gate
809*7c478bd9Sstevel@tonic-gate/* getdname.c */
810*7c478bd9Sstevel@tonic-gateint getdomainname(char *name, int namelen);
811*7c478bd9Sstevel@tonic-gateint setdomainname(char *domain, int len);
812*7c478bd9Sstevel@tonic-gate
813*7c478bd9Sstevel@tonic-gate/* gethostname.c */
814*7c478bd9Sstevel@tonic-gateint gethostname(char *hname, int hlen);
815*7c478bd9Sstevel@tonic-gate
816*7c478bd9Sstevel@tonic-gate/* inet_ntoa.c */
817*7c478bd9Sstevel@tonic-gatechar *inet_ntoa_r(struct in_addr in, char b[]);
818*7c478bd9Sstevel@tonic-gatechar *inet_ntoa(struct in_addr in);
819*7c478bd9Sstevel@tonic-gatein_addr_t inet_addr(const char *cp);
820*7c478bd9Sstevel@tonic-gatein_addr_t inet_netof(struct in_addr in);
821*7c478bd9Sstevel@tonic-gate
822*7c478bd9Sstevel@tonic-gate/* key_call.c */
823*7c478bd9Sstevel@tonic-gateint key_setsecret(const char *secretkey);
824*7c478bd9Sstevel@tonic-gateint key_secretkey_is_set(void);
825*7c478bd9Sstevel@tonic-gateint key_encryptsession_pk(char *remotename, netobj *remotekey,
826*7c478bd9Sstevel@tonic-gate				des_block *deskey);
827*7c478bd9Sstevel@tonic-gateint key_decryptsession_pk(char *remotename, netobj *remotekey,
828*7c478bd9Sstevel@tonic-gate				des_block *deskey);
829*7c478bd9Sstevel@tonic-gate
830*7c478bd9Sstevel@tonic-gateint key_encryptsession(const char *remotename, des_block *deskey);
831*7c478bd9Sstevel@tonic-gateint key_decryptsession(const char *remotename, des_block *deskey);
832*7c478bd9Sstevel@tonic-gateint key_gendes(des_block *key);
833*7c478bd9Sstevel@tonic-gateint key_setnet(struct key_netstarg *arg);
834*7c478bd9Sstevel@tonic-gateint key_get_conv(char *pkey, des_block *deskey);
835*7c478bd9Sstevel@tonic-gateint key_call(ulong_t proc, xdrproc_t xdr_arg, char *arg, xdrproc_t xdr_rslt,
836*7c478bd9Sstevel@tonic-gate				char *rslt);
837*7c478bd9Sstevel@tonic-gate
838*7c478bd9Sstevel@tonic-gate/* key_prot.c */
839*7c478bd9Sstevel@tonic-gatebool_t xdr_keystatus(register XDR *xdrs, keystatus *objp);
840*7c478bd9Sstevel@tonic-gatebool_t xdr_keybuf(register XDR *xdrs, keybuf objp);
841*7c478bd9Sstevel@tonic-gatebool_t xdr_netnamestr(register XDR *xdrs, netnamestr *objp);
842*7c478bd9Sstevel@tonic-gatebool_t xdr_cryptkeyarg(register XDR *xdrs, cryptkeyarg *objp);
843*7c478bd9Sstevel@tonic-gatebool_t xdr_cryptkeyarg2(register XDR *xdrs, cryptkeyarg2 *objp);
844*7c478bd9Sstevel@tonic-gatebool_t xdr_cryptkeyres(register XDR *xdrs, cryptkeyres *objp);
845*7c478bd9Sstevel@tonic-gatebool_t xdr_unixcred(register XDR *xdrs, unixcred *objp);
846*7c478bd9Sstevel@tonic-gatebool_t xdr_getcredres(register XDR *xdrs, getcredres *objp);
847*7c478bd9Sstevel@tonic-gatebool_t xdr_key_netstarg(register XDR *xdrs, key_netstarg *objp);
848*7c478bd9Sstevel@tonic-gatebool_t xdr_key_netstres(register XDR *xdrs, key_netstres *objp);
849*7c478bd9Sstevel@tonic-gate
850*7c478bd9Sstevel@tonic-gate/* mt_misc.c */
851*7c478bd9Sstevel@tonic-gate#ifdef rpc_createerr
852*7c478bd9Sstevel@tonic-gate#undef rpc_createerr
853*7c478bd9Sstevel@tonic-gate#endif
854*7c478bd9Sstevel@tonic-gatestruct rpc_createerr *__rpc_createerr(void);
855*7c478bd9Sstevel@tonic-gate
856*7c478bd9Sstevel@tonic-gate/* netname.c */
857*7c478bd9Sstevel@tonic-gateint getnetname(char *name);
858*7c478bd9Sstevel@tonic-gateint __getnetnamebyuid(char *name, uid_t uid);
859*7c478bd9Sstevel@tonic-gateint user2netname(char *netname, const uid_t uid, const char *domain);
860*7c478bd9Sstevel@tonic-gateint host2netname(char *netname, const char *host, const char *domain);
861*7c478bd9Sstevel@tonic-gate
862*7c478bd9Sstevel@tonic-gate/* netnamer.c */
863*7c478bd9Sstevel@tonic-gateint netname2user(const char *netname, uid_t *uidp, gid_t *gidp,
864*7c478bd9Sstevel@tonic-gate					int *gidlenp, gid_t *gidlist);
865*7c478bd9Sstevel@tonic-gateint netname2host(const char *netname, char *hostname, int hostlen);
866*7c478bd9Sstevel@tonic-gate
867*7c478bd9Sstevel@tonic-gate/* openchild.c */
868*7c478bd9Sstevel@tonic-gate
869*7c478bd9Sstevel@tonic-gate/* pmap_clnt.c */
870*7c478bd9Sstevel@tonic-gateint pmap_set(rpcprog_t program, rpcvers_t version, rpcprot_t protocol, ushort_t port);
871*7c478bd9Sstevel@tonic-gatebool_t pmap_unset(rpcprog_t program, rpcvers_t version);
872*7c478bd9Sstevel@tonic-gateushort_t pmap_getport(struct sockaddr_in *address, rpcprog_t program,
873*7c478bd9Sstevel@tonic-gate			rpcvers_t version, rpcprot_t protocol);
874*7c478bd9Sstevel@tonic-gatestruct pmaplist *pmap_getmaps(struct sockaddr_in *address);
875*7c478bd9Sstevel@tonic-gateenum clnt_stat pmap_rmtcall(struct sockaddr_in *addr, rpcprog_t prog,
876*7c478bd9Sstevel@tonic-gate			rpcvers_t vers, rpcproc_t proc, xdrproc_t xdrargs,
877*7c478bd9Sstevel@tonic-gate			caddr_t argsp, xdrproc_t xdrres, caddr_t resp,
878*7c478bd9Sstevel@tonic-gate			struct timeval tout, rpcport_t *port_ptr);
879*7c478bd9Sstevel@tonic-gate
880*7c478bd9Sstevel@tonic-gate/* pmap_prot.c */
881*7c478bd9Sstevel@tonic-gatebool_t xdr_pmap(XDR *xdrs, struct pmap *objp);
882*7c478bd9Sstevel@tonic-gatebool_t xdr_pmaplist_ptr(XDR *xdrs, pmaplist_ptr *rp);
883*7c478bd9Sstevel@tonic-gatebool_t xdr_pmaplist(XDR *xdrs, PMAPLIST **rp);
884*7c478bd9Sstevel@tonic-gatebool_t xdr_rmtcallargs(XDR *xdrs, struct p_rmtcallargs *cap);
885*7c478bd9Sstevel@tonic-gatebool_t xdr_rmtcallres(XDR *xdrs, struct p_rmtcallres *crp);
886*7c478bd9Sstevel@tonic-gate
887*7c478bd9Sstevel@tonic-gate/* rpc_callmsg.c */
888*7c478bd9Sstevel@tonic-gatebool_t xdr_callmsg(XDR *xdrs, struct rpc_msg *cmsg);
889*7c478bd9Sstevel@tonic-gate
890*7c478bd9Sstevel@tonic-gate/* rpc_comdata.c */
891*7c478bd9Sstevel@tonic-gate
892*7c478bd9Sstevel@tonic-gate/* rpc_generic.c */
893*7c478bd9Sstevel@tonic-gateint __rpc_dtbsize(void);
894*7c478bd9Sstevel@tonic-gateuint_t __rpc_get_t_size(t_scalar_t size, t_scalar_t bufsize);
895*7c478bd9Sstevel@tonic-gateuint_t __rpc_get_a_size(t_scalar_t size);
896*7c478bd9Sstevel@tonic-gatestruct netconfig *__rpc_getconfip(char *nettype);
897*7c478bd9Sstevel@tonic-gatevoid *__rpc_setconf(char *nettype);
898*7c478bd9Sstevel@tonic-gatestruct netconfig *__rpc_getconf(void *vhandle);
899*7c478bd9Sstevel@tonic-gatevoid __rpc_endconf(void *vhandle);
900*7c478bd9Sstevel@tonic-gatestruct netconfig *__rpcfd_to_nconf(int fd, int servtype);
901*7c478bd9Sstevel@tonic-gateint __rpc_matchserv(int servtype, unsigned int nc_semantics);
902*7c478bd9Sstevel@tonic-gate
903*7c478bd9Sstevel@tonic-gate/* rpc_prot.c */
904*7c478bd9Sstevel@tonic-gatebool_t xdr_opaque_auth(XDR *xdrs, struct opaque_auth *ap);
905*7c478bd9Sstevel@tonic-gatebool_t xdr_des_block(XDR *xdrs, des_block *blkp);
906*7c478bd9Sstevel@tonic-gatebool_t xdr_accepted_reply(XDR *xdrs, struct accepted_reply *ar);
907*7c478bd9Sstevel@tonic-gatebool_t xdr_rejected_reply(XDR *xdrs, struct rejected_reply *rr);
908*7c478bd9Sstevel@tonic-gatebool_t xdr_replymsg(XDR *xdrs, struct rpc_msg *rmsg);
909*7c478bd9Sstevel@tonic-gatebool_t xdr_callhdr(XDR *xdrs, struct rpc_msg *cmsg);
910*7c478bd9Sstevel@tonic-gatevoid __seterr_reply(struct rpc_msg *msg, struct rpc_err *error);
911*7c478bd9Sstevel@tonic-gate
912*7c478bd9Sstevel@tonic-gate/* rpc_sel2poll.c */
913*7c478bd9Sstevel@tonic-gateint __rpc_select_to_poll(int fdmax, fd_set *fdset, struct pollfd *p0);
914*7c478bd9Sstevel@tonic-gateint __rpc_timeval_to_msec(struct timeval *t);
915*7c478bd9Sstevel@tonic-gate
916*7c478bd9Sstevel@tonic-gate/* rpc_soc.c */
917*7c478bd9Sstevel@tonic-gateCLIENT *clntudp_bufcreate(struct sockaddr_in *raddr, rpcprog_t prog,
918*7c478bd9Sstevel@tonic-gate			rpcvers_t vers, struct timeval wait, int *sockp,
919*7c478bd9Sstevel@tonic-gate			uint_t sendsz, uint_t recvsz);
920*7c478bd9Sstevel@tonic-gateCLIENT *clntudp_create(struct sockaddr_in *raddr, rpcprog_t program,
921*7c478bd9Sstevel@tonic-gate			rpcvers_t version, struct timeval wait, int *sockp);
922*7c478bd9Sstevel@tonic-gateCLIENT *clnttcp_create(struct sockaddr_in *raddr, rpcprog_t prog,
923*7c478bd9Sstevel@tonic-gate			rpcvers_t vers, int *sockp, uint_t sendsz,
924*7c478bd9Sstevel@tonic-gate			uint_t recvsz);
925*7c478bd9Sstevel@tonic-gateCLIENT *clntraw_create(rpcprog_t prog, rpcvers_t vers);
926*7c478bd9Sstevel@tonic-gateSVCXPRT *svctcp_create(int fd, uint_t sendsize, uint_t recvsize);
927*7c478bd9Sstevel@tonic-gateSVCXPRT *svcudp_bufcreate(int fd, uint_t sendsize, uint_t recvsize);
928*7c478bd9Sstevel@tonic-gateSVCXPRT *svcfd_create(int fd, uint_t sendsize, uint_t recvsize);
929*7c478bd9Sstevel@tonic-gateSVCXPRT *svcudp_create(int fd);
930*7c478bd9Sstevel@tonic-gateSVCXPRT *svcraw_create(void);
931*7c478bd9Sstevel@tonic-gateint __rpc_bindresvport(int fd, struct sockaddr_in *sin, int *portp, int qlen);
932*7c478bd9Sstevel@tonic-gatevoid get_myaddress(struct sockaddr_in *addr);
933*7c478bd9Sstevel@tonic-gateushort_t getrpcport(char *host, rpcprog_t prognum, rpcvers_t versnum, rpcprot_t proto);
934*7c478bd9Sstevel@tonic-gateint callrpc(char *host, rpcprog_t prognum, rpcvers_t versnum, rpcproc_t procnum,
935*7c478bd9Sstevel@tonic-gate		xdrproc_t inproc, char *in, xdrproc_t outproc, char *out);
936*7c478bd9Sstevel@tonic-gateint registerrpc(rpcprog_t prognum, rpcvers_t versnum, rpcproc_t procnum,
937*7c478bd9Sstevel@tonic-gate		char *(*progname)(), xdrproc_t inproc, xdrproc_t outproc);
938*7c478bd9Sstevel@tonic-gateenum clnt_stat clnt_broadcast(rpcprog_t prog, rpcvers_t vers, rpcproc_t proc,
939*7c478bd9Sstevel@tonic-gate		xdrproc_t xargs, caddr_t argsp, xdrproc_t xresults,
940*7c478bd9Sstevel@tonic-gate		caddr_t resultsp, resultproc_t eachresult);
941*7c478bd9Sstevel@tonic-gateAUTH *authdes_create(char *servername, uint_t window,
942*7c478bd9Sstevel@tonic-gate		struct sockaddr_in *syncaddr, des_block *ckey);
943*7c478bd9Sstevel@tonic-gate
944*7c478bd9Sstevel@tonic-gate/* rpc_td.c */
945*7c478bd9Sstevel@tonic-gate
946*7c478bd9Sstevel@tonic-gate/* rpc_trace.c */
947*7c478bd9Sstevel@tonic-gate
948*7c478bd9Sstevel@tonic-gate/* rpcb_clnt.c */
949*7c478bd9Sstevel@tonic-gatebool_t __rpc_control(int request, void *info);
950*7c478bd9Sstevel@tonic-gatebool_t rpcb_set(rpcprog_t program, rpcvers_t version,
951*7c478bd9Sstevel@tonic-gate		const struct netconfig *nconf, const struct netbuf *address);
952*7c478bd9Sstevel@tonic-gatebool_t rpcb_unset(rpcprog_t program, rpcvers_t version,
953*7c478bd9Sstevel@tonic-gate		const struct netconfig *nconf);
954*7c478bd9Sstevel@tonic-gateint rpcb_getaddr(rpcprog_t program, rpcvers_t version,
955*7c478bd9Sstevel@tonic-gate		const struct netconfig *nconf, struct netbuf *address,
956*7c478bd9Sstevel@tonic-gate		const char *host);
957*7c478bd9Sstevel@tonic-gaterpcblist *rpcb_getmaps(const struct netconfig *nconf, const char *host);
958*7c478bd9Sstevel@tonic-gateenum clnt_stat rpcb_rmtcall(const struct netconfig *nconf, const char *host,
959*7c478bd9Sstevel@tonic-gate		rpcprog_t prog, rpcvers_t vers, rpcproc_t proc,
960*7c478bd9Sstevel@tonic-gate		xdrproc_t xdrargs, caddr_t argsp, xdrproc_t xdrres,
961*7c478bd9Sstevel@tonic-gate		caddr_t resp, struct timeval tout,
962*7c478bd9Sstevel@tonic-gate		struct netbuf *addr_ptr);
963*7c478bd9Sstevel@tonic-gatebool_t rpcb_gettime(const char *host, time_t *timep);
964*7c478bd9Sstevel@tonic-gatechar *rpcb_taddr2uaddr(struct netconfig *nconf, struct netbuf *taddr);
965*7c478bd9Sstevel@tonic-gatestruct netbuf *rpcb_uaddr2taddr(struct netconfig *nconf, char *uaddr);
966*7c478bd9Sstevel@tonic-gate
967*7c478bd9Sstevel@tonic-gate/* rpcb_prot.c */
968*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcb(XDR *xdrs, RPCB *objp);
969*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcblist_ptr(XDR *xdrs, rpcblist_ptr *rp);
970*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcblist(XDR *xdrs, RPCBLIST **rp);
971*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcb_entry(XDR *xdrs, rpcb_entry *objp);
972*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcb_entry_list_ptr(XDR *xdrs, rpcb_entry_list_ptr *rp);
973*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcb_rmtcallargs(XDR *xdrs, struct r_rpcb_rmtcallargs *objp);
974*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcb_rmtcallres(XDR *xdrs, struct r_rpcb_rmtcallres *objp);
975*7c478bd9Sstevel@tonic-gatebool_t xdr_netbuf(XDR *xdrs, struct netbuf *objp);
976*7c478bd9Sstevel@tonic-gate
977*7c478bd9Sstevel@tonic-gate/* rpcb_st_xdr.c */
978*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcbs_addrlist(XDR *xdrs, rpcbs_addrlist *objp);
979*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcbs_addrlist(XDR *xdrs, rpcbs_addrlist *objp);
980*7c478bd9Sstevel@tonic-gate
981*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcbs_rmtcalllist(XDR *xdrs, rpcbs_rmtcalllist *objp);
982*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcbs_proc(XDR *xdrs, rpcbs_proc objp);
983*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcbs_addrlist_ptr(XDR *xdrs, rpcbs_addrlist_ptr *objp);
984*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcbs_rmtcalllist_ptr(XDR *xdrs, rpcbs_rmtcalllist_ptr *objp);
985*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcb_stat(XDR *xdrs, rpcb_stat *objp);
986*7c478bd9Sstevel@tonic-gatebool_t xdr_rpcb_stat_byvers(XDR *xdrs, rpcb_stat_byvers objp);
987*7c478bd9Sstevel@tonic-gate
988*7c478bd9Sstevel@tonic-gate/* rpcdname.c */
989*7c478bd9Sstevel@tonic-gateint __rpc_get_default_domain(char **domain);
990*7c478bd9Sstevel@tonic-gate
991*7c478bd9Sstevel@tonic-gate/* rpcsec_gss_if.c */
992*7c478bd9Sstevel@tonic-gateAUTH *rpc_gss_seccreate(CLIENT *clnt, char *principal, char *mechanism,
993*7c478bd9Sstevel@tonic-gate		rpc_gss_service_t service_type, char *qop,
994*7c478bd9Sstevel@tonic-gate		rpc_gss_options_req_t *options_req,
995*7c478bd9Sstevel@tonic-gate		rpc_gss_options_ret_t *options_ret);
996*7c478bd9Sstevel@tonic-gatebool_t rpc_gss_set_defaults(AUTH *auth, rpc_gss_service_t service, char *qop);
997*7c478bd9Sstevel@tonic-gatebool_t rpc_gss_get_principal_name(rpc_gss_principal_t *principal, char
998*7c478bd9Sstevel@tonic-gate		*mechanism, char *user_name, char *node, char *secdomain);
999*7c478bd9Sstevel@tonic-gatechar **rpc_gss_get_mechanisms(void);
1000*7c478bd9Sstevel@tonic-gatechar **rpc_gss_get_mech_info(char *mechanism, rpc_gss_service_t *service);
1001*7c478bd9Sstevel@tonic-gatebool_t rpc_gss_get_versions(u_int *vers_hi, u_int *vers_lo);
1002*7c478bd9Sstevel@tonic-gatebool_t rpc_gss_is_installed(char *mechanism);
1003*7c478bd9Sstevel@tonic-gatebool_t rpc_gss_set_svc_name(char *principal, char *mechanism, uint_t req_time,
1004*7c478bd9Sstevel@tonic-gate		uint_t program, uint_t version);
1005*7c478bd9Sstevel@tonic-gatebool_t rpc_gss_set_callback(rpc_gss_callback_t *cb);
1006*7c478bd9Sstevel@tonic-gatebool_t rpc_gss_getcred(struct svc_req *req, rpc_gss_rawcred_t **rcred,
1007*7c478bd9Sstevel@tonic-gate		rpc_gss_ucred_t **ucred, void **cookie);
1008*7c478bd9Sstevel@tonic-gatebool_t rpc_gss_mech_to_oid(char *mech, rpc_gss_OID *oid);
1009*7c478bd9Sstevel@tonic-gatebool_t rpc_gss_qop_to_num(char *qop, char *mech, u_int *num);
1010*7c478bd9Sstevel@tonic-gateint rpc_gss_max_data_length(AUTH *rpcgss_handle, int max_tp_unit_len);
1011*7c478bd9Sstevel@tonic-gateint rpc_gss_svc_max_data_length(struct svc_req *req, int max_tp_unit_len);
1012*7c478bd9Sstevel@tonic-gatevoid rpc_gss_get_error(rpc_gss_error_t *error);
1013*7c478bd9Sstevel@tonic-gate
1014*7c478bd9Sstevel@tonic-gate/* rtime_tli.c */
1015*7c478bd9Sstevel@tonic-gateint rtime_tli(char *host, struct timeval *timep, struct timeval *timeout);
1016*7c478bd9Sstevel@tonic-gate
1017*7c478bd9Sstevel@tonic-gate/* svc.c */
1018*7c478bd9Sstevel@tonic-gatevoid xprt_register(const SVCXPRT *xprt);
1019*7c478bd9Sstevel@tonic-gatevoid xprt_unregister(const SVCXPRT *xprt);
1020*7c478bd9Sstevel@tonic-gatebool_t svc_reg(const SVCXPRT *xprt, rpcprog_t prog, rpcvers_t vers,
1021*7c478bd9Sstevel@tonic-gate		void (*dispatch)(), const struct netconfig *nconf);
1022*7c478bd9Sstevel@tonic-gatevoid svc_unreg(rpcprog_t prog, rpcvers_t vers);
1023*7c478bd9Sstevel@tonic-gatebool_t svc_register(SVCXPRT *xprt, rpcprog_t prog, rpcvers_t vers,
1024*7c478bd9Sstevel@tonic-gate		void (*dispatch)(), int protocol);
1025*7c478bd9Sstevel@tonic-gatevoid svc_unregister(rpcprog_t prog, rpcvers_t vers);
1026*7c478bd9Sstevel@tonic-gatebool_t svc_sendreply(const SVCXPRT *xprt, xdrproc_t xdr_results,
1027*7c478bd9Sstevel@tonic-gate		caddr_t xdr_location);
1028*7c478bd9Sstevel@tonic-gatevoid svcerr_noproc(const SVCXPRT *xprt);
1029*7c478bd9Sstevel@tonic-gatevoid svcerr_decode(const SVCXPRT *xprt);
1030*7c478bd9Sstevel@tonic-gatevoid svcerr_systemerr(const SVCXPRT *xprt);
1031*7c478bd9Sstevel@tonic-gatevoid svcerr_auth(const SVCXPRT *xprt, enum auth_stat why);
1032*7c478bd9Sstevel@tonic-gatevoid svcerr_weakauth(const SVCXPRT *xprt);
1033*7c478bd9Sstevel@tonic-gatevoid svcerr_noprog(const SVCXPRT *xprt);
1034*7c478bd9Sstevel@tonic-gatevoid svcerr_progvers(const SVCXPRT *xprt, rpcvers_t low_vers,
1035*7c478bd9Sstevel@tonic-gate		rpcvers_t high_vers);
1036*7c478bd9Sstevel@tonic-gatevoid svc_getreq(int rdfds);
1037*7c478bd9Sstevel@tonic-gatevoid svc_getreqset(fd_set *readfds);
1038*7c478bd9Sstevel@tonic-gatevoid svc_getreq_poll(struct pollfd *pfdp, int pollretval);
1039*7c478bd9Sstevel@tonic-gatevoid svc_getreq_common(int fd);
1040*7c478bd9Sstevel@tonic-gateSVCXPRT *svc_xprt_alloc(void);
1041*7c478bd9Sstevel@tonic-gatevoid svc_xprt_free(SVCXPRT *xprt);
1042*7c478bd9Sstevel@tonic-gatebool_t svc_get_local_cred(SVCXPRT *xprt, svc_local_cred_t *lcred);
1043*7c478bd9Sstevel@tonic-gateSVCAUTH *__svc_get_svcauth(SVCXPRT *);
1044*7c478bd9Sstevel@tonic-gatevoid *__svc_set_proc_cleanup_cb(void *cb);
1045*7c478bd9Sstevel@tonic-gate
1046*7c478bd9Sstevel@tonic-gate/* svc_auth.c */
1047*7c478bd9Sstevel@tonic-gateenum auth_stat __authenticate(struct svc_req *rqst, struct rpc_msg *msg);
1048*7c478bd9Sstevel@tonic-gateint svc_auth_reg(int cred_flavor, enum auth_stat (*handler)());
1049*7c478bd9Sstevel@tonic-gate
1050*7c478bd9Sstevel@tonic-gate/* svc_auth_sys.c */
1051*7c478bd9Sstevel@tonic-gate
1052*7c478bd9Sstevel@tonic-gate/* svc_dg.c */
1053*7c478bd9Sstevel@tonic-gateSVCXPRT *svc_dg_create(int fd, uint_t sendsize, uint_t recvsize);
1054*7c478bd9Sstevel@tonic-gateint svc_dg_enablecache(SVCXPRT *xprt, uint_t size);
1055*7c478bd9Sstevel@tonic-gate
1056*7c478bd9Sstevel@tonic-gate/* svc_door.c */
1057*7c478bd9Sstevel@tonic-gateSVCXPRT *svc_door_create(void (*dispatch)(), rpcprog_t prognum,
1058*7c478bd9Sstevel@tonic-gate			rpcvers_t versnum, uint_t sendsize);
1059*7c478bd9Sstevel@tonic-gate
1060*7c478bd9Sstevel@tonic-gate/* svc_generic.c */
1061*7c478bd9Sstevel@tonic-gateint svc_create(void (*dispatch)(), rpcprog_t prognum, rpcvers_t versnum,
1062*7c478bd9Sstevel@tonic-gate			const char *nettype);
1063*7c478bd9Sstevel@tonic-gateSVCXPRT *svc_tp_create(void (*dispatch)(), rpcprog_t prognum, rpcvers_t versnum,
1064*7c478bd9Sstevel@tonic-gate			const struct netconfig *nconf);
1065*7c478bd9Sstevel@tonic-gateSVCXPRT *svc_tli_create(int fd, const struct netconfig *nconf,
1066*7c478bd9Sstevel@tonic-gate			const struct t_bind *bindaddr, uint_t sendsz,
1067*7c478bd9Sstevel@tonic-gate			uint_t recvsz);
1068*7c478bd9Sstevel@tonic-gate
1069*7c478bd9Sstevel@tonic-gate/* svc_raw.c */
1070*7c478bd9Sstevel@tonic-gateSVCXPRT *svc_raw_create(void);
1071*7c478bd9Sstevel@tonic-gate
1072*7c478bd9Sstevel@tonic-gate/* svc_run.c */
1073*7c478bd9Sstevel@tonic-gatevoid svc_run(void);
1074*7c478bd9Sstevel@tonic-gatevoid svc_exit(void);
1075*7c478bd9Sstevel@tonic-gatevoid svc_done(SVCXPRT *xprt);
1076*7c478bd9Sstevel@tonic-gatebool_t rpc_control(int op, void *info);
1077*7c478bd9Sstevel@tonic-gate
1078*7c478bd9Sstevel@tonic-gate/* svc_simple.c */
1079*7c478bd9Sstevel@tonic-gateint rpc_reg(rpcprog_t prognum, rpcvers_t versnum, rpcproc_t procnum,
1080*7c478bd9Sstevel@tonic-gate		char *(*progname)(), xdrproc_t inproc, xdrproc_t outproc,
1081*7c478bd9Sstevel@tonic-gate		const char *nettype);
1082*7c478bd9Sstevel@tonic-gate
1083*7c478bd9Sstevel@tonic-gate/* svc_vc.c */
1084*7c478bd9Sstevel@tonic-gateSVCXPRT *svc_vc_create(int fd, uint_t sendsize, uint_t recvsize);
1085*7c478bd9Sstevel@tonic-gateSVCXPRT *svc_fd_create(int fd, uint_t sendsize, uint_t recvsize);
1086*7c478bd9Sstevel@tonic-gatevoid __svc_nisplus_fdcleanup_hack(void);
1087*7c478bd9Sstevel@tonic-gatevoid __svc_nisplus_enable_timestamps(void);
1088*7c478bd9Sstevel@tonic-gatevoid __svc_nisplus_purge_since(long since);
1089*7c478bd9Sstevel@tonic-gatebool_t __svc_vc_dupcache_init(SVCXPRT *xprt, void *condition, int basis);
1090*7c478bd9Sstevel@tonic-gateint __svc_vc_dup(struct svc_req *req, caddr_t *resp_buf, uint_t *resp_bufsz);
1091*7c478bd9Sstevel@tonic-gateint __svc_vc_dupdone(struct svc_req *req, caddr_t resp_buf, uint_t resp_bufsz,
1092*7c478bd9Sstevel@tonic-gate				int status);
1093*7c478bd9Sstevel@tonic-gate
1094*7c478bd9Sstevel@tonic-gate/* svcauth_des.c */
1095*7c478bd9Sstevel@tonic-gateint authdes_getucred(const struct authdes_cred *adc, uid_t *uid, gid_t *gid,
1096*7c478bd9Sstevel@tonic-gate				short *grouplen, gid_t *groups);
1097*7c478bd9Sstevel@tonic-gateenum auth_stat __svcauth_des(struct svc_req *rqst, struct rpc_msg *msg);
1098*7c478bd9Sstevel@tonic-gate
1099*7c478bd9Sstevel@tonic-gate/* ti_opts.c */
1100*7c478bd9Sstevel@tonic-gateint __rpc_negotiate_uid(int fd);
1101*7c478bd9Sstevel@tonic-gateint __rpc_get_local_uid(SVCXPRT *trans, uid_t *uid_out);
1102*7c478bd9Sstevel@tonic-gate
1103*7c478bd9Sstevel@tonic-gate/* xdr.c */
1104*7c478bd9Sstevel@tonic-gatevoid xdr_free(xdrproc_t proc, char *objp);
1105*7c478bd9Sstevel@tonic-gatebool_t xdr_void(void);
1106*7c478bd9Sstevel@tonic-gatebool_t xdr_int(XDR *xdrs, int *ip);
1107*7c478bd9Sstevel@tonic-gatebool_t xdr_u_int(XDR *xdrs, uint_t *up);
1108*7c478bd9Sstevel@tonic-gatebool_t xdr_long(XDR *xdrs, long *lp);
1109*7c478bd9Sstevel@tonic-gatebool_t xdr_u_long(XDR *xdrs, ulong_t *ulp);
1110*7c478bd9Sstevel@tonic-gatebool_t xdr_short(XDR *xdrs, short *sp);
1111*7c478bd9Sstevel@tonic-gatebool_t xdr_u_short(XDR *xdrs, ushort_t *sp);
1112*7c478bd9Sstevel@tonic-gatebool_t xdr_char(XDR *xdrs, char *cp);
1113*7c478bd9Sstevel@tonic-gatebool_t xdr_u_char(XDR *xdrs, uchar_t *cp);
1114*7c478bd9Sstevel@tonic-gatebool_t xdr_bool(XDR *xdrs, bool_t *bp);
1115*7c478bd9Sstevel@tonic-gatebool_t xdr_enum(XDR *xdrs, enum_t *ep);
1116*7c478bd9Sstevel@tonic-gatebool_t xdr_opaque(XDR *xdrs, caddr_t cp, uint_t cnt);
1117*7c478bd9Sstevel@tonic-gatebool_t xdr_bytes(XDR *xdrs, char **cpp, uint_t *sizep, uint_t maxsize);
1118*7c478bd9Sstevel@tonic-gatebool_t xdr_netobj(XDR *xdrs, struct netobj *np);
1119*7c478bd9Sstevel@tonic-gatebool_t xdr_union(XDR *xdrs, enum_t *dscmp, char *unp,
1120*7c478bd9Sstevel@tonic-gate			const struct xdr_discrim *choices, xdrproc_t dfault);
1121*7c478bd9Sstevel@tonic-gatebool_t xdr_string(XDR *xdrs, char **cpp, uint_t maxsize);
1122*7c478bd9Sstevel@tonic-gatebool_t xdr_hyper(XDR *xdrs, longlong_t *hp);
1123*7c478bd9Sstevel@tonic-gatebool_t xdr_u_hyper(XDR *xdrs, u_longlong_t *hp);
1124*7c478bd9Sstevel@tonic-gatebool_t xdr_longlong_t(XDR *xdrs, longlong_t *hp);
1125*7c478bd9Sstevel@tonic-gatebool_t xdr_u_longlong_t(XDR *xdrs, u_longlong_t *hp);
1126*7c478bd9Sstevel@tonic-gatebool_t xdr_ulonglong_t(XDR *xdrs, u_longlong_t *hp);
1127*7c478bd9Sstevel@tonic-gatebool_t xdr_wrapstring(XDR *xdrs, char **cpp);
1128*7c478bd9Sstevel@tonic-gate
1129*7c478bd9Sstevel@tonic-gate/* xdr_array.c */
1130*7c478bd9Sstevel@tonic-gatebool_t xdr_array(XDR *xdrs, caddr_t *addrp, uint_t *sizep, uint_t maxsize,
1131*7c478bd9Sstevel@tonic-gate				uint_t elsize, xdrproc_t elproc);
1132*7c478bd9Sstevel@tonic-gatebool_t xdr_vector(XDR *xdrs, char *basep, uint_t nelem, uint_t elemsize,
1133*7c478bd9Sstevel@tonic-gate				xdrproc_t xdr_elem);
1134*7c478bd9Sstevel@tonic-gate
1135*7c478bd9Sstevel@tonic-gate/* xdr_float.c */
1136*7c478bd9Sstevel@tonic-gatebool_t xdr_float(XDR *xdrs, float *fp);
1137*7c478bd9Sstevel@tonic-gatebool_t xdr_double(XDR *xdrs, double *dp);
1138*7c478bd9Sstevel@tonic-gatebool_t xdr_quadruple(XDR *xdrs, long double *fp);
1139*7c478bd9Sstevel@tonic-gate
1140*7c478bd9Sstevel@tonic-gate/* xdr_mem.c */
1141*7c478bd9Sstevel@tonic-gatevoid xdrmem_create(XDR *xdrs, caddr_t addr, uint_t size, enum xdr_op op);
1142*7c478bd9Sstevel@tonic-gate
1143*7c478bd9Sstevel@tonic-gate/* xdr_rec.c */
1144*7c478bd9Sstevel@tonic-gatevoid xdrrec_create(XDR *xdrs, uint_t sendsize, uint_t recvsize,
1145*7c478bd9Sstevel@tonic-gate			caddr_t tcp_handle, int (*readit)(), int (*writeit)());
1146*7c478bd9Sstevel@tonic-gate
1147*7c478bd9Sstevel@tonic-gateuint_t xdrrec_readbytes(XDR *xdrs, caddr_t addr, uint_t l);
1148*7c478bd9Sstevel@tonic-gatebool_t xdrrec_skiprecord(XDR *xdrs);
1149*7c478bd9Sstevel@tonic-gatebool_t xdrrec_eof(XDR *xdrs);
1150*7c478bd9Sstevel@tonic-gatebool_t xdrrec_endofrecord(XDR *xdrs, bool_t sendnow);
1151*7c478bd9Sstevel@tonic-gate
1152*7c478bd9Sstevel@tonic-gate/* xdr_refer.c */
1153*7c478bd9Sstevel@tonic-gatebool_t xdr_reference(XDR *xdrs, caddr_t *pp, uint_t size, xdrproc_t proc);
1154*7c478bd9Sstevel@tonic-gatebool_t xdr_pointer(XDR *xdrs, char **objpp, uint_t obj_size, xdrproc_t xdr_obj);
1155*7c478bd9Sstevel@tonic-gate
1156*7c478bd9Sstevel@tonic-gate/* xdr_sizeof.c */
1157*7c478bd9Sstevel@tonic-gateunsigned int xdr_sizeof(xdrproc_t func, void *data);
1158*7c478bd9Sstevel@tonic-gate
1159*7c478bd9Sstevel@tonic-gate/* xdr_stdio.c */
1160*7c478bd9Sstevel@tonic-gatevoid xdrstdio_create(XDR *xdrs, FILE *file, enum xdr_op op);
1161*7c478bd9Sstevel@tonic-gate
1162*7c478bd9Sstevel@tonic-gate/* svid_funcs.c */
1163*7c478bd9Sstevel@tonic-gate#undef	auth_destroy
1164*7c478bd9Sstevel@tonic-gate#undef	clnt_call
1165*7c478bd9Sstevel@tonic-gate#undef	clnt_control
1166*7c478bd9Sstevel@tonic-gate#undef	clnt_destroy
1167*7c478bd9Sstevel@tonic-gate#undef	clnt_freeres
1168*7c478bd9Sstevel@tonic-gate#undef	clnt_geterr
1169*7c478bd9Sstevel@tonic-gate#undef	svc_destroy
1170*7c478bd9Sstevel@tonic-gate#undef	svc_freeargs
1171*7c478bd9Sstevel@tonic-gate#undef	svc_getargs
1172*7c478bd9Sstevel@tonic-gate#undef	svc_getrpccaller
1173*7c478bd9Sstevel@tonic-gate#undef	xdr_destroy
1174*7c478bd9Sstevel@tonic-gate#undef	xdr_getpos
1175*7c478bd9Sstevel@tonic-gate#undef	xdr_inline
1176*7c478bd9Sstevel@tonic-gate#undef	xdr_setpos
1177*7c478bd9Sstevel@tonic-gatevoid auth_destroy(AUTH *auth);
1178*7c478bd9Sstevel@tonic-gateenum clnt_stat clnt_call(CLIENT *cl, rpcproc_t proc, xdrproc_t xargs,
1179*7c478bd9Sstevel@tonic-gate			caddr_t argsp, xdrproc_t xres, caddr_t resp,
1180*7c478bd9Sstevel@tonic-gate			struct timeval timeout);
1181*7c478bd9Sstevel@tonic-gatebool_t clnt_control(CLIENT *cl, uint_t rq, void *in);
1182*7c478bd9Sstevel@tonic-gatevoid clnt_destroy(CLIENT *cl);
1183*7c478bd9Sstevel@tonic-gatebool_t clnt_freeres(CLIENT *cl, xdrproc_t xres, caddr_t resp);
1184*7c478bd9Sstevel@tonic-gatevoid clnt_geterr(CLIENT *cl, struct rpc_err *errp);
1185*7c478bd9Sstevel@tonic-gatebool_t svc_control(SVCXPRT *xprt, const uint_t rq, void *in);
1186*7c478bd9Sstevel@tonic-gatebool_t svc_freeargs(SVCXPRT *xprt, xdrproc_t xargs, char *argsp);
1187*7c478bd9Sstevel@tonic-gatebool_t svc_getargs(SVCXPRT *xprt, xdrproc_t xargs, char *argsp);
1188*7c478bd9Sstevel@tonic-gatestruct netbuf *svc_getrpccaller(SVCXPRT *xprt);
1189*7c478bd9Sstevel@tonic-gatelong *xdr_inline(XDR *xdrs, int len);
1190*7c478bd9Sstevel@tonic-gatevoid xdr_destroy(XDR *xdrs);
1191*7c478bd9Sstevel@tonic-gateuint_t xdr_getpos(XDR *xdrs);
1192*7c478bd9Sstevel@tonic-gatebool_t xdr_setpos(XDR *xdrs, uint_t pos);
1193*7c478bd9Sstevel@tonic-gate
1194*7c478bd9Sstevel@tonic-gate/*
1195*7c478bd9Sstevel@tonic-gate * usr/src/lib/libnsl/saf routines
1196*7c478bd9Sstevel@tonic-gate */
1197*7c478bd9Sstevel@tonic-gate
1198*7c478bd9Sstevel@tonic-gate/* checkver.c */
1199*7c478bd9Sstevel@tonic-gateint check_version(int ver, char *fname);
1200*7c478bd9Sstevel@tonic-gate
1201*7c478bd9Sstevel@tonic-gate/* doconfig.c */
1202*7c478bd9Sstevel@tonic-gateint doconfig(int fd, char *script, long rflag);
1203*7c478bd9Sstevel@tonic-gate
1204*7c478bd9Sstevel@tonic-gate/*
1205*7c478bd9Sstevel@tonic-gate * usr/src/lib/libnsl/yp routines
1206*7c478bd9Sstevel@tonic-gate */
1207*7c478bd9Sstevel@tonic-gate
1208*7c478bd9Sstevel@tonic-gate/* dbm.c */
1209*7c478bd9Sstevel@tonic-gateint dbminit(char *file);
1210*7c478bd9Sstevel@tonic-gateint dbmclose(void);
1211*7c478bd9Sstevel@tonic-gatedatum fetch(datum key);
1212*7c478bd9Sstevel@tonic-gateint delete(datum key);
1213*7c478bd9Sstevel@tonic-gateint store(datum key, datum dat);
1214*7c478bd9Sstevel@tonic-gatedatum firstkey(void);
1215*7c478bd9Sstevel@tonic-gatedatum nextkey(datum key);
1216*7c478bd9Sstevel@tonic-gatedatum firsthash(long hash);
1217*7c478bd9Sstevel@tonic-gatedatum makdatum(char *buf, int n);
1218*7c478bd9Sstevel@tonic-gatelong hashinc(long hash);
1219*7c478bd9Sstevel@tonic-gatelong calchash(datum item);
1220*7c478bd9Sstevel@tonic-gate
1221*7c478bd9Sstevel@tonic-gate/* yp_all.c */
1222*7c478bd9Sstevel@tonic-gateint yp_all(char *domain, char *map, struct ypall_callback *callback);
1223*7c478bd9Sstevel@tonic-gateint __yp_all_rsvdport(char *domain, char *map, struct ypall_callback *callback);
1224*7c478bd9Sstevel@tonic-gate
1225*7c478bd9Sstevel@tonic-gate/* yp_b_clnt.c */
1226*7c478bd9Sstevel@tonic-gateenum ypbind_resptype {
1227*7c478bd9Sstevel@tonic-gate	YPBIND_SUCC_VAL = 1,
1228*7c478bd9Sstevel@tonic-gate	YPBIND_FAIL_VAL = 2
1229*7c478bd9Sstevel@tonic-gate};
1230*7c478bd9Sstevel@tonic-gatetypedef enum ypbind_resptype ypbind_resptype;
1231*7c478bd9Sstevel@tonic-gatestruct ypbind_resp {
1232*7c478bd9Sstevel@tonic-gate	ypbind_resptype ypbind_status;
1233*7c478bd9Sstevel@tonic-gate	union {
1234*7c478bd9Sstevel@tonic-gate		uint_t ypbind_error;
1235*7c478bd9Sstevel@tonic-gate		struct ypbind_binding *ypbind_bindinfo;
1236*7c478bd9Sstevel@tonic-gate	} ypbind_resp_u;
1237*7c478bd9Sstevel@tonic-gate};
1238*7c478bd9Sstevel@tonic-gatetypedef struct ypbind_resp ypbind_resp;
1239*7c478bd9Sstevel@tonic-gatestruct ypbind_domain {
1240*7c478bd9Sstevel@tonic-gate	char *ypbind_domainname;
1241*7c478bd9Sstevel@tonic-gate	rpcvers_t ypbind_vers;
1242*7c478bd9Sstevel@tonic-gate};
1243*7c478bd9Sstevel@tonic-gatetypedef struct ypbind_domain ypbind_domain;
1244*7c478bd9Sstevel@tonic-gatestruct ypbind_setdom {
1245*7c478bd9Sstevel@tonic-gate	char *ypsetdom_domain;
1246*7c478bd9Sstevel@tonic-gate	struct ypbind_binding *ypsetdom_bindinfo;
1247*7c478bd9Sstevel@tonic-gate};
1248*7c478bd9Sstevel@tonic-gatetypedef struct ypbind_setdom ypbind_setdom;
1249*7c478bd9Sstevel@tonic-gateypbind_resp *ypbindproc_domain_3(ypbind_domain *argp, CLIENT *clnt);
1250*7c478bd9Sstevel@tonic-gate
1251*7c478bd9Sstevel@tonic-gate/* yp_b_xdr.c */
1252*7c478bd9Sstevel@tonic-gatebool_t xdr_ypbind_domain(XDR *xdrs, ypbind_domain *objp);
1253*7c478bd9Sstevel@tonic-gatebool_t xdr_ypbind_resp(XDR *xdrs, ypbind_resp *objp);
1254*7c478bd9Sstevel@tonic-gatebool_t xdr_ypbind_setdom(XDR *xdrs, ypbind_setdom *objp);
1255*7c478bd9Sstevel@tonic-gatebool_t xdr_ypbind_resptype(XDR *xdrs, ypbind_resptype *objp);
1256*7c478bd9Sstevel@tonic-gate
1257*7c478bd9Sstevel@tonic-gate/* yp_bind.c */
1258*7c478bd9Sstevel@tonic-gatestruct dom_binding {
1259*7c478bd9Sstevel@tonic-gate	struct dom_binding *dom_pnext;
1260*7c478bd9Sstevel@tonic-gate	char *dom_domain;
1261*7c478bd9Sstevel@tonic-gate	struct ypbind_binding *dom_binding;
1262*7c478bd9Sstevel@tonic-gate	CLIENT *dom_client;
1263*7c478bd9Sstevel@tonic-gate	int cache_bad;
1264*7c478bd9Sstevel@tonic-gate	int fd;
1265*7c478bd9Sstevel@tonic-gate	dev_t rdev;
1266*7c478bd9Sstevel@tonic-gate	int ref_count;
1267*7c478bd9Sstevel@tonic-gate	int need_free;
1268*7c478bd9Sstevel@tonic-gate	mutex_t server_name_lock;
1269*7c478bd9Sstevel@tonic-gate};
1270*7c478bd9Sstevel@tonic-gateint __yp_dobind(char *domain, struct dom_binding **binding);
1271*7c478bd9Sstevel@tonic-gateint __yp_rel_binding(struct dom_binding *binding);
1272*7c478bd9Sstevel@tonic-gatevoid yp_unbind(char *domain);
1273*7c478bd9Sstevel@tonic-gateint __yp_add_binding(char *domain, char *addr);
1274*7c478bd9Sstevel@tonic-gateint yp_bind(char *domain);
1275*7c478bd9Sstevel@tonic-gateint yp_get_default_domain(char **domain);
1276*7c478bd9Sstevel@tonic-gateint usingypmap(char **ddn, char *map);
1277*7c478bd9Sstevel@tonic-gateCLIENT *__clnt_create_loopback(rpcprog_t prog, rpcvers_t vers, int err);
1278*7c478bd9Sstevel@tonic-gate
1279*7c478bd9Sstevel@tonic-gate/* yp_enum.c */
1280*7c478bd9Sstevel@tonic-gateint yp_first(char *domain, char *map, char **key, int *keylen,
1281*7c478bd9Sstevel@tonic-gate					char **val, int  *vallen);
1282*7c478bd9Sstevel@tonic-gateint yp_next(char *domain, char *map, char *inkey, int inkeylen,
1283*7c478bd9Sstevel@tonic-gate		char **outkey, int  *outkeylen, char **val, int *vallen);
1284*7c478bd9Sstevel@tonic-gate
1285*7c478bd9Sstevel@tonic-gate/* yp_master.c */
1286*7c478bd9Sstevel@tonic-gateint yp_master(char *domain, char *map, char **master);
1287*7c478bd9Sstevel@tonic-gateint __yp_master_rsvdport(char *domain, char *map, char **master);
1288*7c478bd9Sstevel@tonic-gate
1289*7c478bd9Sstevel@tonic-gate/* yp_match.c */
1290*7c478bd9Sstevel@tonic-gateint yp_match(char *domain, char *map, char *key, int keylen,
1291*7c478bd9Sstevel@tonic-gate						char **val, int  *vallen);
1292*7c478bd9Sstevel@tonic-gateint yp_match_rsvdport(char *domain, char *map, char *key, int keylen,
1293*7c478bd9Sstevel@tonic-gate						char **val, int  *vallen);
1294*7c478bd9Sstevel@tonic-gatevoid __empty_yp_cache(void);
1295*7c478bd9Sstevel@tonic-gate
1296*7c478bd9Sstevel@tonic-gate/* yp_order.c */
1297*7c478bd9Sstevel@tonic-gateint yp_order(char *domain, char *map, unsigned long *order);
1298*7c478bd9Sstevel@tonic-gate
1299*7c478bd9Sstevel@tonic-gate/* yp_rsvd.c */
1300*7c478bd9Sstevel@tonic-gateCLIENT *__yp_clnt_create_rsvdport(const char *hostname,
1301*7c478bd9Sstevel@tonic-gate			rpcprog_t prog, rpcvers_t vers,
1302*7c478bd9Sstevel@tonic-gate			const char *nettype,
1303*7c478bd9Sstevel@tonic-gate			const uint_t sendsz, const uint_t recvsz);
1304*7c478bd9Sstevel@tonic-gate
1305*7c478bd9Sstevel@tonic-gate/* yp_update.c */
1306*7c478bd9Sstevel@tonic-gateint yp_update(char *domain, char *map, unsigned op,
1307*7c478bd9Sstevel@tonic-gate			char *key, int keylen, char *data, int datalen);
1308*7c478bd9Sstevel@tonic-gate
1309*7c478bd9Sstevel@tonic-gate/* yp_xdr.c */
1310*7c478bd9Sstevel@tonic-gatebool xdr_datum(XDR * xdrs, datum *pdatum);
1311*7c478bd9Sstevel@tonic-gatebool xdr_ypdomain_wrap_string(XDR *xdrs, char **ppstring);
1312*7c478bd9Sstevel@tonic-gatebool xdr_ypmap_wrap_string(XDR *xdrs, char **ppstring);
1313*7c478bd9Sstevel@tonic-gatebool xdr_ypreq_key(XDR *xdrs, struct ypreq_key *ps);
1314*7c478bd9Sstevel@tonic-gatebool xdr_ypreq_nokey(XDR *xdrs, struct ypreq_nokey *ps);
1315*7c478bd9Sstevel@tonic-gatebool xdr_ypresp_val(XDR *xdrs, struct ypresp_val *ps);
1316*7c478bd9Sstevel@tonic-gatebool xdr_ypresp_key_val(XDR *xdrs, struct ypresp_key_val *ps);
1317*7c478bd9Sstevel@tonic-gatebool xdr_ypowner_wrap_string(XDR *xdrs, char **ppstring);
1318*7c478bd9Sstevel@tonic-gatebool xdr_ypmap_parms(XDR *xdrs, struct ypmap_parms *ps);
1319*7c478bd9Sstevel@tonic-gatebool xdr_ypresp_master(XDR *xdrs, struct ypresp_master *ps);
1320*7c478bd9Sstevel@tonic-gatebool xdr_ypresp_order(XDR * xdrs, struct ypresp_order *ps);
1321*7c478bd9Sstevel@tonic-gatebool xdr_ypresp_maplist(XDR *xdrs, struct ypresp_maplist *ps);
1322*7c478bd9Sstevel@tonic-gatebool xdr_yppushresp_xfr(XDR *xdrs, struct yppushresp_xfr *ps);
1323*7c478bd9Sstevel@tonic-gatebool xdr_ypreq_newxfr(XDR *xdrs, struct ypreq_newxfr *ps);
1324*7c478bd9Sstevel@tonic-gatebool xdr_ypreq_xfr(XDR *xdrs, struct ypreq_xfr *ps);
1325*7c478bd9Sstevel@tonic-gatebool xdr_ypall(XDR *xdrs, struct ypall_callback *callback);
1326*7c478bd9Sstevel@tonic-gate
1327*7c478bd9Sstevel@tonic-gate/* yperr_string.c */
1328*7c478bd9Sstevel@tonic-gatechar *yperr_string(int code);
1329*7c478bd9Sstevel@tonic-gate
1330*7c478bd9Sstevel@tonic-gate/* yppasswd_xdr.c */
1331*7c478bd9Sstevel@tonic-gatebool_t xdr_yppasswd(XDR *xdrsp, struct yppasswd *pp);
1332*7c478bd9Sstevel@tonic-gate
1333*7c478bd9Sstevel@tonic-gate/* ypprot_err.c */
1334*7c478bd9Sstevel@tonic-gateint ypprot_err(int yp_protocol_error);
1335*7c478bd9Sstevel@tonic-gate
1336*7c478bd9Sstevel@tonic-gate/* ypupd.c */
1337*7c478bd9Sstevel@tonic-gatebool_t xdr_yp_buf(XDR *xdrs, yp_buf *objp);
1338*7c478bd9Sstevel@tonic-gatebool_t xdr_ypupdate_args(XDR *xdrs, ypupdate_args *objp);
1339*7c478bd9Sstevel@tonic-gatebool_t xdr_ypdelete_args(XDR *xdrs, ypdelete_args *objp);
1340*7c478bd9Sstevel@tonic-gate
1341*7c478bd9Sstevel@tonic-gate/* nis_sec_mechs.c */
1342*7c478bd9Sstevel@tonic-gatechar *__nis_keyalg2authtype(keylen_t keylen, algtype_t algtype,
1343*7c478bd9Sstevel@tonic-gate	char *authtype, size_t authtype_len);
1344