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