xref: /netbsd/common/include/rpc/types.h (revision 932411bd)
1*932411bdSandvar /*	$NetBSD: types.h,v 1.4 2021/08/02 12:56:22 andvar Exp $	*/
247857fd4Shannken 
347857fd4Shannken /*
447857fd4Shannken  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
547857fd4Shannken  * unrestricted use provided that this legend is included on all tape
647857fd4Shannken  * media and as a part of the software program in whole or part.  Users
747857fd4Shannken  * may copy or modify Sun RPC without charge, but are not authorized
847857fd4Shannken  * to license or distribute it to anyone else except as part of a product or
947857fd4Shannken  * program developed by the user.
1047857fd4Shannken  *
1147857fd4Shannken  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
1247857fd4Shannken  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
1347857fd4Shannken  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
1447857fd4Shannken  *
1547857fd4Shannken  * Sun RPC is provided with no support and without any obligation on the
1647857fd4Shannken  * part of Sun Microsystems, Inc. to assist in its use, correction,
1747857fd4Shannken  * modification or enhancement.
1847857fd4Shannken  *
1947857fd4Shannken  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
2047857fd4Shannken  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
2147857fd4Shannken  * OR ANY PART THEREOF.
2247857fd4Shannken  *
2347857fd4Shannken  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
2447857fd4Shannken  * or profits or other special, indirect and consequential damages, even if
2547857fd4Shannken  * Sun has been advised of the possibility of such damages.
2647857fd4Shannken  *
2747857fd4Shannken  * Sun Microsystems, Inc.
2847857fd4Shannken  * 2550 Garcia Avenue
2947857fd4Shannken  * Mountain View, California  94043
3047857fd4Shannken  *
3147857fd4Shannken  *	from: @(#)types.h 1.18 87/07/24 SMI
3247857fd4Shannken  *	@(#)types.h	2.3 88/08/15 4.0 RPCSRC
3347857fd4Shannken  */
3447857fd4Shannken 
3547857fd4Shannken /*
3647857fd4Shannken  * Rpc additions to <sys/types.h>
3747857fd4Shannken  */
3847857fd4Shannken #ifndef _RPC_TYPES_H_
3947857fd4Shannken #define _RPC_TYPES_H_
4047857fd4Shannken 
4147857fd4Shannken #include <sys/types.h>
4247857fd4Shannken 
4347857fd4Shannken typedef int32_t bool_t;
4447857fd4Shannken typedef int32_t enum_t;
4547857fd4Shannken 
4647857fd4Shannken typedef uint32_t rpcprog_t;
4747857fd4Shannken typedef uint32_t rpcvers_t;
4847857fd4Shannken typedef uint32_t rpcproc_t;
4947857fd4Shannken typedef uint32_t rpcprot_t;
5047857fd4Shannken typedef uint32_t rpcport_t;
5147857fd4Shannken typedef   int32_t rpc_inline_t;
5247857fd4Shannken 
5347857fd4Shannken #define __dontcare__	-1
5447857fd4Shannken 
5547857fd4Shannken #ifndef FALSE
5647857fd4Shannken #	define FALSE	(0)
5747857fd4Shannken #endif
5847857fd4Shannken #ifndef TRUE
5947857fd4Shannken #	define TRUE	(1)
6047857fd4Shannken #endif
6147857fd4Shannken #ifndef NULL
6247857fd4Shannken #	define NULL	0
6347857fd4Shannken #endif
6447857fd4Shannken 
6537b02f6fShannken #if defined(_KERNEL) || defined(_STANDALONE)
6637b02f6fShannken 
6737b02f6fShannken #define warn(msg,...) /**/
6837b02f6fShannken 
6937b02f6fShannken #include <sys/kmem.h>
7037b02f6fShannken 
7137b02f6fShannken #define mem_alloc(bsize)	kmem_alloc(bsize, KM_SLEEP)
7237b02f6fShannken #define mem_free(ptr, bsize)	kmem_free(ptr, bsize)
7337b02f6fShannken 
7437b02f6fShannken #else /* _KERNEL || _STANDALONE */
7537b02f6fShannken 
7647857fd4Shannken #define mem_alloc(bsize)	calloc((size_t)1, bsize)
7747857fd4Shannken #define mem_free(ptr, bsize)	free(ptr)
7847857fd4Shannken 
7947857fd4Shannken #include <sys/time.h>
8047857fd4Shannken #include <netconfig.h>
8147857fd4Shannken 
8247857fd4Shannken /*
8347857fd4Shannken  * The netbuf structure is defined here, because NetBSD only uses it inside
8447857fd4Shannken  * the RPC code. It's in <xti.h> on SVR4, but it would be confusing to
8547857fd4Shannken  * have an xti.h, since NetBSD does not support XTI/TLI.
8647857fd4Shannken  */
8747857fd4Shannken 
8847857fd4Shannken /*
8947857fd4Shannken  * The netbuf structure is used for transport-independent address storage.
9047857fd4Shannken  */
9147857fd4Shannken struct netbuf {
9247857fd4Shannken 	unsigned int maxlen;
9347857fd4Shannken 	unsigned int len;
9447857fd4Shannken 	void *buf;
9547857fd4Shannken };
9647857fd4Shannken 
9747857fd4Shannken /*
98*932411bdSandvar  * The format of the address and options arguments of the XTI t_bind call.
9947857fd4Shannken  * Only provided for compatibility, it should not be used.
10047857fd4Shannken  */
10147857fd4Shannken 
10247857fd4Shannken struct t_bind {
10347857fd4Shannken 	struct netbuf   addr;
10447857fd4Shannken 	unsigned int    qlen;
10547857fd4Shannken };
10647857fd4Shannken 
10747857fd4Shannken /*
10847857fd4Shannken  * Internal library and rpcbind use. This is not an exported interface, do
10947857fd4Shannken  * not use.
11047857fd4Shannken  */
11147857fd4Shannken struct __rpc_sockinfo {
11247857fd4Shannken 	int si_af;
11347857fd4Shannken 	int si_proto;
11447857fd4Shannken 	int si_socktype;
11547857fd4Shannken 	int si_alen;
11647857fd4Shannken };
11747857fd4Shannken 
11837b02f6fShannken #endif /* _KERNEL || _STANDALONE */
11937b02f6fShannken 
12047857fd4Shannken #endif /* !_RPC_TYPES_H_ */
121