1: /* 2: * Sun RPC is a product of Sun Microsystems, Inc. and is provided for 3: * unrestricted use provided that this legend is included on all tape 4: * media and as a part of the software program in whole or part. Users 5: * may copy or modify Sun RPC without charge, but are not authorized 6: * to license or distribute it to anyone else except as part of a product or 7: * program developed by the user. 8: * 9: * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE 10: * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR 11: * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. 12: * 13: * Sun RPC is provided with no support and without any obligation on the 14: * part of Sun Microsystems, Inc. to assist in its use, correction, 15: * modification or enhancement. 16: * 17: * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE 18: * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC 19: * OR ANY PART THEREOF. 20: * 21: * In no event will Sun Microsystems, Inc. be liable for any lost revenue 22: * or profits or other special, indirect and consequential damages, even if 23: * Sun has been advised of the possibility of such damages. 24: * 25: * Sun Microsystems, Inc. 26: * 2550 Garcia Avenue 27: * Mountain View, California 94043 28: */ 29: /* @(#)pmap_clnt.h 1.1 84/12/20 SMI */ 30: 31: /* 32: * portmap_clnt.h 33: * Supplies C routines to get to portmap services. 34: * 35: * Copyright (C) 1984, Sun Microsystems, Inc. 36: */ 37: 38: /* 39: * Usage: 40: * success = pmap_set(program, version, protocol, port); 41: * success = pmap_unset(program, version); 42: * port = pmap_getport(address, program, version, protocol); 43: * head = pmap_getmaps(address); 44: * clnt_stat = pmap_rmtcall(address, program, version, procedure, 45: * xdrargs, argsp, xdrres, resp, tout, port_ptr) 46: * (works for udp only.) 47: * clnt_stat = clnt_broadcast(program, version, procedure, 48: * xdrargs, argsp, xdrres, resp, eachresult) 49: * (like pmap_rmtcall, except the call is broadcasted to all 50: * locally connected nets. For each valid response received, 51: * the procedure eachresult is called. Its form is: 52: * done = eachresult(resp, raddr) 53: * bool_t done; 54: * caddr_t resp; 55: * struct sockaddr_in raddr; 56: * where resp points to the results of the call and raddr is the 57: * address if the responder to the broadcast. 58: */ 59: 60: extern bool_t pmap_set(); 61: extern bool_t pmap_unset(); 62: extern u_short pmap_getport(); 63: extern struct pmaplist *pmap_getmaps(); 64: enum clnt_stat pmap_rmtcall(); 65: enum clnt_stat clnt_broadcast();