master
  1/*	$NetBSD: clnt_soc.h,v 1.5 2016/01/23 02:34:09 dholland Exp $	*/
  2
  3/*
  4 * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
  5 * unrestricted use provided that this legend is included on all tape
  6 * media and as a part of the software program in whole or part.  Users
  7 * may copy or modify Sun RPC without charge, but are not authorized
  8 * to license or distribute it to anyone else except as part of a product or
  9 * program developed by the user.
 10 * 
 11 * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
 12 * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
 13 * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
 14 * 
 15 * Sun RPC is provided with no support and without any obligation on the
 16 * part of Sun Microsystems, Inc. to assist in its use, correction,
 17 * modification or enhancement.
 18 * 
 19 * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
 20 * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
 21 * OR ANY PART THEREOF.
 22 * 
 23 * In no event will Sun Microsystems, Inc. be liable for any lost revenue
 24 * or profits or other special, indirect and consequential damages, even if
 25 * Sun has been advised of the possibility of such damages.
 26 * 
 27 * Sun Microsystems, Inc.
 28 * 2550 Garcia Avenue
 29 * Mountain View, California  94043
 30 */
 31/*
 32 * Copyright (c) 1984 - 1991 by Sun Microsystems, Inc.
 33 */
 34
 35/*
 36 * clnt.h - Client side remote procedure call interface.
 37 */
 38
 39#ifndef _RPC_CLNT_SOC_H
 40#define _RPC_CLNT_SOC_H
 41
 42/* derived from clnt_soc.h 1.3 88/12/17 SMI     */
 43
 44/*
 45 * All the following declarations are only for backward compatibility
 46 * with TS-RPC.
 47 */
 48
 49#include <sys/cdefs.h>
 50
 51#define UDPMSGSIZE      8800    /* rpc imposed limit on udp msg size */  
 52
 53/*
 54 * TCP based rpc
 55 * CLIENT *
 56 * clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz)
 57 *	struct sockaddr_in *raddr;
 58 *	unsigned long prog;
 59 *	unsigned long version;
 60 *	int *sockp;
 61 *	unsigned sendsz;
 62 *	unsigned recvsz;
 63 */
 64__BEGIN_DECLS
 65extern CLIENT *clnttcp_create(struct sockaddr_in *,
 66				unsigned long,
 67				unsigned long,
 68				int *,
 69				unsigned int,
 70				unsigned int);
 71__END_DECLS
 72
 73/*
 74 * Raw (memory) rpc.
 75 */
 76__BEGIN_DECLS
 77extern CLIENT *clntraw_create  (unsigned long, unsigned long);
 78__END_DECLS
 79
 80
 81/*
 82 * UDP based rpc.
 83 * CLIENT *
 84 * clntudp_create(raddr, program, version, wait, sockp)
 85 *	struct sockaddr_in *raddr;
 86 *	unsigned long program;
 87 *	unsigned long version;
 88 *	struct timeval wait;
 89 *	int *sockp;
 90 *
 91 * Same as above, but you specify max packet sizes.
 92 * CLIENT *
 93 * clntudp_bufcreate(raddr, program, version, wait, sockp, sendsz, recvsz)
 94 *	struct sockaddr_in *raddr;
 95 *	unsigned long program;
 96 *	unsigned long version;
 97 *	struct timeval wait;
 98 *	int *sockp;
 99 *	unsigned sendsz;
100 *	unsigned recvsz;
101 */
102__BEGIN_DECLS
103extern CLIENT *clntudp_create(struct sockaddr_in *,
104				unsigned long,
105				unsigned long,
106				struct timeval,
107				int *);
108extern CLIENT *clntudp_bufcreate(struct sockaddr_in *,
109				     unsigned long,
110				     unsigned long,
111				     struct timeval,
112				     int *,
113				     unsigned int,
114				     unsigned int);
115__END_DECLS
116
117#endif /* _RPC_CLNT_SOC_H */