1/* 2 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights 7 * Reserved. This file contains Original Code and/or Modifications of 8 * Original Code as defined in and that are subject to the Apple Public 9 * Source License Version 1.1 (the "License"). You may not use this file 10 * except in compliance with the License. Please obtain a copy of the 11 * License at http://www.apple.com/publicsource and read it before using 12 * this file. 13 * 14 * The Original Code and all software distributed under the License are 15 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER 16 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 17 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 18 * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the 19 * License for the specific language governing rights and limitations 20 * under the License. 21 * 22 * @APPLE_LICENSE_HEADER_END@ 23 */ 24/* 25 * Sun RPC is a product of Sun Microsystems, Inc. and is provided for 26 * unrestricted use provided that this legend is included on all tape 27 * media and as a part of the software program in whole or part. Users 28 * may copy or modify Sun RPC without charge, but are not authorized 29 * to license or distribute it to anyone else except as part of a product or 30 * program developed by the user. 31 * 32 * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE 33 * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR 34 * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. 35 * 36 * Sun RPC is provided with no support and without any obligation on the 37 * part of Sun Microsystems, Inc. to assist in its use, correction, 38 * modification or enhancement. 39 * 40 * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE 41 * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC 42 * OR ANY PART THEREOF. 43 * 44 * In no event will Sun Microsystems, Inc. be liable for any lost revenue 45 * or profits or other special, indirect and consequential damages, even if 46 * Sun has been advised of the possibility of such damages. 47 * 48 * Sun Microsystems, Inc. 49 * 2550 Garcia Avenue 50 * Mountain View, California 94043 51 * 52 * from: @(#)pmap_clnt.h 1.11 88/02/08 SMI 53 * from: @(#)pmap_clnt.h 2.1 88/07/29 4.0 RPCSRC 54 * $Id: pmap_clnt.h,v 1.3 2004/10/28 21:58:22 emoy Exp $ 55 */ 56 57/* 58 * pmap_clnt.h 59 * Supplies C routines to get to portmap services. 60 * 61 * Copyright (C) 1984, Sun Microsystems, Inc. 62 */ 63 64/* 65 * Usage: 66 * success = pmap_set(program, version, protocol, port); 67 * success = pmap_unset(program, version); 68 * port = pmap_getport(address, program, version, protocol); 69 * head = pmap_getmaps(address); 70 * clnt_stat = pmap_rmtcall(address, program, version, procedure, 71 * xdrargs, argsp, xdrres, resp, tout, port_ptr) 72 * (works for udp only.) 73 * clnt_stat = clnt_broadcast(program, version, procedure, 74 * xdrargs, argsp, xdrres, resp, eachresult) 75 * (like pmap_rmtcall, except the call is broadcasted to all 76 * locally connected nets. For each valid response received, 77 * the procedure eachresult is called. Its form is: 78 * done = eachresult(resp, raddr) 79 * bool_t done; 80 * caddr_t resp; 81 * struct sockaddr_in raddr; 82 * where resp points to the results of the call and raddr is the 83 * address if the responder to the broadcast. 84 */ 85 86#ifndef _RPC_PMAPCLNT_H 87#define _RPC_PMAPCLNT_H 88#include <sys/cdefs.h> 89 90__BEGIN_DECLS 91#ifdef __LP64__ 92extern bool_t pmap_set __P((unsigned int, unsigned int, int, int)); 93extern bool_t pmap_unset __P((unsigned int, unsigned int)); 94extern enum clnt_stat pmap_rmtcall __P((struct sockaddr_in *, 95 unsigned int, unsigned int, unsigned int, 96 xdrproc_t, caddr_t, 97 xdrproc_t, caddr_t, 98 struct timeval, unsigned int *)); 99extern enum clnt_stat clnt_broadcast __P((unsigned int, unsigned int, unsigned int, 100 xdrproc_t, char *, 101 xdrproc_t, char *, 102 bool_t (*)())); 103extern unsigned short pmap_getport __P((struct sockaddr_in *, 104 unsigned int, unsigned int, unsigned int)); 105#else 106extern bool_t pmap_set __P((unsigned long, unsigned long, int, int)); 107extern bool_t pmap_unset __P((unsigned long, unsigned long)); 108extern enum clnt_stat pmap_rmtcall __P((struct sockaddr_in *, 109 unsigned long, unsigned long, unsigned long, 110 xdrproc_t, caddr_t, 111 xdrproc_t, caddr_t, 112 struct timeval, unsigned long *)); 113extern enum clnt_stat clnt_broadcast __P((unsigned long, unsigned long, unsigned long, 114 xdrproc_t, char *, 115 xdrproc_t, char *, 116 bool_t (*)())); 117extern unsigned short pmap_getport __P((struct sockaddr_in *, 118 unsigned long, unsigned long, unsigned int)); 119#endif 120extern struct pmaplist *pmap_getmaps __P((struct sockaddr_in *)); 121extern int getrpcport __P((char *, int, int, int)); 122__END_DECLS 123 124#endif /* !_RPC_PMAPCLNT_H */ 125