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