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