Home | History | Annotate | Download | only in sys
      1      0     stevel /*
      2      0     stevel  * CDDL HEADER START
      3      0     stevel  *
      4      0     stevel  * The contents of this file are subject to the terms of the
      5  10616  Sebastien  * Common Development and Distribution License (the "License").
      6  10616  Sebastien  * You may not use this file except in compliance with the License.
      7      0     stevel  *
      8      0     stevel  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9      0     stevel  * or http://www.opensolaris.org/os/licensing.
     10      0     stevel  * See the License for the specific language governing permissions
     11      0     stevel  * and limitations under the License.
     12      0     stevel  *
     13      0     stevel  * When distributing Covered Code, include this CDDL HEADER in each
     14      0     stevel  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15      0     stevel  * If applicable, add the following below this CDDL HEADER, with the
     16      0     stevel  * fields enclosed by brackets "[]" replaced with your own identifying
     17      0     stevel  * information: Portions Copyright [yyyy] [name of copyright owner]
     18      0     stevel  *
     19      0     stevel  * CDDL HEADER END
     20      0     stevel  */
     21      0     stevel /*
     22  10616  Sebastien  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     23      0     stevel  * Use is subject to license terms.
     24      0     stevel  */
     25      0     stevel 
     26      0     stevel /*
     27      0     stevel  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
     28      0     stevel  *	  All Rights Reserved
     29      0     stevel  */
     30      0     stevel 
     31      0     stevel /*
     32      0     stevel  * University Copyright- Copyright (c) 1982, 1986, 1988
     33      0     stevel  * The Regents of the University of California
     34      0     stevel  * All Rights Reserved
     35      0     stevel  *
     36      0     stevel  * University Acknowledgment- Portions of this document are derived from
     37      0     stevel  * software developed by the University of California, Berkeley, and its
     38      0     stevel  * contributors.
     39      0     stevel  */
     40      0     stevel 
     41      0     stevel #ifndef	_SYS_TYPES_H
     42      0     stevel #define	_SYS_TYPES_H
     43      0     stevel 
     44      0     stevel /*
     45      0     stevel  * Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C
     46      0     stevel  * committee's working draft for the revision of the current ISO C standard,
     47      0     stevel  * ISO/IEC 9899:1990 Programming language - C.  These are not currently
     48      0     stevel  * required by any standard but constitute a useful, general purpose set
     49      0     stevel  * of type definitions which is namespace clean with respect to all standards.
     50      0     stevel  */
     51      0     stevel 
     52      0     stevel #include <sys/int_types.h>
     53      0     stevel #include <sys/feature_tests.h>
     54      0     stevel 
     55      0     stevel #ifdef __cplusplus
     56      0     stevel extern "C" {
     57      0     stevel #endif
     58      0     stevel 
     59      0     stevel #ifndef _ASM
     60      0     stevel 
     61      0     stevel /* From SunOS types.h */
     62      0     stevel #if defined(mc68000)
     63      0     stevel typedef	struct _physadr { short r[1]; } *physadr;
     64      0     stevel typedef	struct _label { int val[13]; } label_t;
     65      0     stevel #elif defined(__i386)
     66      0     stevel typedef	struct _physadr { short r[1]; } *physadr;
     67      0     stevel typedef	struct _label { int val[8]; } label_t;
     68      0     stevel #elif defined(__sparc)
     69      0     stevel typedef	struct _physadr { int r[1]; } *physadr;
     70      0     stevel typedef	struct _label { int val[2]; } label_t;
     71      0     stevel #else
     72      0     stevel typedef	struct _physadr { int r[1]; } *physadr;
     73      0     stevel typedef	struct _label { int val[10]; } label_t;
     74      0     stevel #endif
     75      0     stevel 
     76      0     stevel /* POSIX Extensions */
     77      0     stevel 
     78      0     stevel typedef unsigned char   uchar_t;
     79      0     stevel typedef unsigned short  ushort_t;
     80      0     stevel typedef unsigned int    uint_t;
     81      0     stevel typedef unsigned long   ulong_t;
     82      0     stevel 
     83      0     stevel 
     84      0     stevel /* For BSD compatibility */
     85      0     stevel typedef char 		*addr_t;	/* ?<core address> type */
     86      0     stevel 
     87      0     stevel typedef char 		*caddr_t;	/* ?<core address> type */
     88      0     stevel typedef long		daddr_t;	/* <disk address> type */
     89      0     stevel typedef short		cnt_t;		/* ?<count> type */
     90      0     stevel typedef ulong_t		pgcnt_t;	/* number of pages */
     91      0     stevel 
     92      0     stevel #ifdef _ILP32
     93      0     stevel typedef ulong_t 	paddr_t;	/* <physical address> type */
     94      0     stevel typedef	long		swblk_t;
     95      0     stevel #endif
     96      0     stevel 
     97      0     stevel typedef uchar_t 	use_t;		/* use count for swap.  */
     98      0     stevel typedef short		sysid_t;
     99      0     stevel typedef short		index_t;
    100      0     stevel typedef short		lock_t;		/* lock work for busy wait */
    101      0     stevel typedef enum boolean { B_FALSE, B_TRUE } boolean_t;
    102      0     stevel typedef ulong_t		l_dev_t;
    103      0     stevel 
    104      0     stevel /*
    105      0     stevel  * The following protects users who use other than Sun compilers
    106      0     stevel  * (eg, GNU C) that don't support long long, and need to include
    107      0     stevel  * this header file.
    108      0     stevel  */
    109      0     stevel #ifdef _LONGLONG_TYPE
    110      0     stevel typedef	long long		longlong_t;
    111      0     stevel typedef	unsigned long long	u_longlong_t;
    112      0     stevel #else
    113      0     stevel #ifdef GCC
    114      0     stevel typedef int64_t longlong_t;
    115      0     stevel typedef uint64_t u_longlong_t;
    116      0     stevel #else
    117      0     stevel /* used to reserve space and generate alignment */
    118      0     stevel typedef	union {
    119      0     stevel 	int32_t	l[2];
    120      0     stevel 	double	d;
    121      0     stevel } longlong_t;
    122      0     stevel typedef	union {
    123      0     stevel 	uint32_t	l[2];
    124      0     stevel 	double		d;
    125      0     stevel } u_longlong_t;
    126      0     stevel #endif	/* GCC */
    127      0     stevel #endif	/* _LONGLONG_TYPE */
    128      0     stevel 
    129      0     stevel /*
    130      0     stevel  * The {u,}pad64_t types can be used in structures such that those structures
    131      0     stevel  * may be accessed by code produced by compilation environments which don't
    132      0     stevel  * support a 64 bit integral datatype.  The intention is not to allow
    133      0     stevel  * use of these fields in such environments, but to maintain the alignment
    134      0     stevel  * and offsets of the structure.
    135      0     stevel  *
    136      0     stevel  * Similar comments for {u,}pad128_t.
    137      0     stevel  *
    138      0     stevel  * Note that these types do NOT generate any stronger alignment constraints
    139      0     stevel  * than those available in the underlying ABI.  See <sys/isa_list.h>
    140      0     stevel  */
    141      0     stevel #ifdef _LONGLONG_TYPE
    142      0     stevel typedef int64_t		pad64_t;
    143      0     stevel typedef	uint64_t	upad64_t;
    144      0     stevel #else
    145      0     stevel typedef union {
    146      0     stevel 	double   _d;
    147      0     stevel 	int32_t  _l[2];
    148      0     stevel } pad64_t;
    149      0     stevel 
    150      0     stevel typedef union {
    151      0     stevel 	double   _d;
    152      0     stevel 	uint32_t _l[2];
    153      0     stevel } upad64_t;
    154      0     stevel #endif /* _LONGLONG_TYPE */
    155      0     stevel 
    156      0     stevel typedef union {
    157      0     stevel 	long double	_q;
    158      0     stevel 	int32_t		_l[4];
    159      0     stevel } pad128_t;
    160      0     stevel 
    161      0     stevel typedef union {
    162      0     stevel 	long double	_q;
    163      0     stevel 	uint32_t	_l[4];
    164      0     stevel } upad128_t;
    165      0     stevel 
    166      0     stevel /*
    167      0     stevel  * attributes for threads, dynamically allocated by library
    168      0     stevel  */
    169      0     stevel typedef	struct {
    170      0     stevel 	void	*__pthread_attrp;
    171      0     stevel } pthread_attr_t;
    172      0     stevel 
    173      0     stevel /* types related to file sizes, counts, offsets, etc. */
    174      0     stevel #if defined(_LP64) || _FILE_OFFSET_BITS == 32
    175      0     stevel typedef long		off_t;		/* ?<offset> type */
    176      0     stevel typedef long		blkcnt_t;	/* counts file blocks */
    177      0     stevel typedef ulong_t		fsblkcnt_t;	/* counts file system blocks */
    178      0     stevel typedef ulong_t		fsfilcnt_t;	/* counts files */
    179      0     stevel typedef ulong_t		ino_t;		/* expanded inode type	*/
    180      0     stevel #elif _FILE_OFFSET_BITS == 64
    181      0     stevel typedef longlong_t	off_t;		/* offsets within files */
    182      0     stevel typedef longlong_t	blkcnt_t;	/* count of file blocks */
    183      0     stevel typedef u_longlong_t	fsblkcnt_t;	/* count of file system blocks */
    184      0     stevel typedef u_longlong_t	fsfilcnt_t;	/* count of files */
    185      0     stevel typedef u_longlong_t	ino_t;		/* expanded inode type */
    186      0     stevel #endif
    187      0     stevel 
    188      0     stevel #ifdef _LP64
    189      0     stevel typedef	int		blksize_t;	/* used for block sizes */
    190      0     stevel #else
    191      0     stevel typedef	long		blksize_t;	/* used for block sizes */
    192      0     stevel #endif
    193      0     stevel 
    194      0     stevel #ifdef _LARGEFILE64_SOURCE
    195      0     stevel #ifdef _LP64
    196      0     stevel typedef off_t		off64_t;
    197      0     stevel typedef blkcnt_t	blkcnt64_t;
    198      0     stevel typedef fsblkcnt_t	fsblkcnt64_t;
    199      0     stevel typedef fsfilcnt_t	fsfilcnt64_t;
    200      0     stevel typedef ino_t		ino64_t;
    201      0     stevel #else
    202      0     stevel typedef longlong_t	off64_t;	/* ?<offset> type */
    203      0     stevel typedef longlong_t	blkcnt64_t;	/* counts file blocks */
    204      0     stevel typedef u_longlong_t	fsblkcnt64_t;	/* counts file system blocks */
    205      0     stevel typedef u_longlong_t	fsfilcnt64_t;	/* counts files */
    206      0     stevel typedef u_longlong_t	ino64_t;	/* expanded inode type	*/
    207      0     stevel #endif
    208      0     stevel #endif
    209      0     stevel 
    210      0     stevel /*
    211      0     stevel  * The following type is for various kinds of identifiers.  The
    212      0     stevel  * actual type must be the same for all since some system calls
    213      0     stevel  * (such as sigsend) take arguments that may be any of these
    214      0     stevel  * types.  The enumeration type idtype_t defined in sys/procset.h
    215      0     stevel  * is used to indicate what type of id is being specified.
    216      0     stevel  */
    217      0     stevel 
    218      0     stevel typedef	longlong_t	offset_t;
    219      0     stevel typedef	u_longlong_t	u_offset_t;
    220      0     stevel typedef	longlong_t	diskaddr_t;
    221      0     stevel 
    222      0     stevel /*
    223      0     stevel  * These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had
    224      0     stevel  * to use them instead of int32_t and uint32_t because DEC had
    225      0     stevel  * shipped 64-bit wide.
    226      0     stevel  */
    227      0     stevel #if defined(_LP64) || defined(_I32LPx)
    228      0     stevel typedef int32_t		t_scalar_t;
    229      0     stevel typedef uint32_t	t_uscalar_t;
    230      0     stevel #else
    231      0     stevel typedef long		t_scalar_t;	/* historical versions */
    232      0     stevel typedef unsigned long	t_uscalar_t;
    233      0     stevel #endif	/* defined(_LP64) || defined(_I32LPx) */
    234      0     stevel 
    235      0     stevel /*
    236      0     stevel  * Partial support for 64-bit file offset enclosed herein,
    237      0     stevel  * specifically used to access devices greater than 2gb.
    238      0     stevel  * However, support for devices greater than 2gb requires compiler
    239      0     stevel  * support for long long.
    240      0     stevel  */
    241      0     stevel #ifdef _LONG_LONG_LTOH
    242      0     stevel typedef union lloff {
    243      0     stevel 	offset_t	_f;	/* Full 64 bit offset value */
    244      0     stevel 	struct {
    245      0     stevel 		int32_t _l;	/* lower 32 bits of offset value */
    246      0     stevel 		int32_t _u;	/* upper 32 bits of offset value */
    247      0     stevel 	} _p;
    248      0     stevel } lloff_t;
    249      0     stevel #endif
    250      0     stevel 
    251      0     stevel #ifdef _LONG_LONG_HTOL
    252      0     stevel typedef union lloff {
    253      0     stevel 	offset_t	_f;	/* Full 64 bit offset value */
    254      0     stevel 	struct {
    255      0     stevel 		int32_t _u;	/* upper 32 bits of offset value */
    256      0     stevel 		int32_t _l;	/* lower 32 bits of offset value */
    257      0     stevel 	} _p;
    258      0     stevel } lloff_t;
    259      0     stevel #endif
    260      0     stevel 
    261      0     stevel #ifdef _LONG_LONG_LTOH
    262      0     stevel typedef union lldaddr {
    263      0     stevel 	diskaddr_t	_f;	/* Full 64 bit disk address value */
    264      0     stevel 	struct {
    265      0     stevel 		int32_t _l;	/* lower 32 bits of disk address value */
    266      0     stevel 		int32_t _u;	/* upper 32 bits of disk address value */
    267      0     stevel 	} _p;
    268      0     stevel } lldaddr_t;
    269      0     stevel #endif
    270      0     stevel 
    271      0     stevel #ifdef _LONG_LONG_HTOL
    272      0     stevel typedef union lldaddr {
    273      0     stevel 	diskaddr_t	_f;	/* Full 64 bit disk address value */
    274      0     stevel 	struct {
    275      0     stevel 		int32_t _u;	/* upper 32 bits of disk address value */
    276      0     stevel 		int32_t _l;	/* lower 32 bits of disk address value */
    277      0     stevel 	} _p;
    278      0     stevel } lldaddr_t;
    279      0     stevel #endif
    280      0     stevel 
    281      0     stevel typedef ulong_t k_fltset_t;	/* kernel fault set type */
    282      0     stevel 
    283      0     stevel #if defined(_LP64) || defined(_I32LPx)
    284      0     stevel typedef int		id_t;		/* A process id,	*/
    285      0     stevel 					/* process group id,	*/
    286      0     stevel 					/* session id,		*/
    287      0     stevel 					/* scheduling class id, */
    288      0     stevel 					/* user id or group id. */
    289      0     stevel #else
    290      0     stevel typedef long		id_t;
    291      0     stevel #endif
    292      0     stevel 
    293      0     stevel typedef void	*timeout_id_t;
    294      0     stevel typedef void	*bufcall_id_t;
    295      0     stevel 
    296      0     stevel /* Typedefs for dev_t components */
    297      0     stevel 
    298      0     stevel #if !defined(_LP64) && defined(__cplusplus)
    299      0     stevel typedef ulong_t major_t;	/* major part of device number */
    300      0     stevel typedef ulong_t minor_t;	/* minor part of device number */
    301      0     stevel #else
    302      0     stevel typedef uint_t major_t;
    303      0     stevel typedef uint_t minor_t;
    304      0     stevel #endif
    305      0     stevel 
    306      0     stevel typedef short	pri_t;
    307      0     stevel 
    308      0     stevel /*
    309      0     stevel  * For compatibility reasons the following typedefs (prefixed o_)
    310      0     stevel  * can't grow regardless of the EFT definition. Although,
    311      0     stevel  * applications should not explicitly use these typedefs
    312      0     stevel  * they may be included via a system header definition.
    313      0     stevel  * WARNING: These typedefs may be removed in a future
    314      0     stevel  * release.
    315      0     stevel  *		ex. the definitions in s5inode.h (now obsoleted)
    316      0     stevel  *			remained small to preserve compatibility
    317      0     stevel  *			in the S5 file system type.
    318      0     stevel  */
    319      0     stevel typedef ushort_t o_mode_t;		/* old file attribute type */
    320      0     stevel typedef short	o_dev_t;		/* old device type	*/
    321      0     stevel typedef ushort_t o_uid_t;		/* old UID type		*/
    322      0     stevel typedef o_uid_t	o_gid_t;		/* old GID type		*/
    323      0     stevel typedef short	o_nlink_t;		/* old file link type	*/
    324      0     stevel typedef short	o_pid_t;		/* old process id type	*/
    325      0     stevel typedef ushort_t o_ino_t;		/* old inode type	*/
    326      0     stevel 
    327      0     stevel /* POSIX and XOPEN Declarations */
    328      0     stevel 
    329      0     stevel typedef int	key_t;			/* IPC key type */
    330      0     stevel #if !defined(_LP64) && defined(__cplusplus)
    331      0     stevel typedef ulong_t	mode_t;			/* file attribute type  */
    332      0     stevel #else
    333      0     stevel typedef uint_t	mode_t;
    334      0     stevel #endif
    335      0     stevel 
    336      0     stevel #ifndef	_UID_T
    337      0     stevel #define	_UID_T
    338      0     stevel #if !defined(_LP64) && defined(__cplusplus)
    339      0     stevel typedef long	uid_t;			/* UID type		*/
    340      0     stevel #else
    341      0     stevel typedef int	uid_t;
    342      0     stevel #endif
    343      0     stevel #endif
    344      0     stevel 
    345      0     stevel typedef uid_t	gid_t;			/* GID type		*/
    346      0     stevel typedef id_t	taskid_t;		/* task ID type		*/
    347      0     stevel typedef id_t	projid_t;		/* project ID type	*/
    348      0     stevel typedef	id_t	poolid_t;		/* pool ID type		*/
    349      0     stevel typedef id_t	zoneid_t;		/* zone ID type		*/
    350      0     stevel typedef id_t	ctid_t;			/* contract ID type	*/
    351      0     stevel 
    352  10616  Sebastien typedef uint32_t datalink_id_t;
    353  10616  Sebastien 
    354      0     stevel typedef ulong_t	dev_t;			/* expanded device type	*/
    355      0     stevel 
    356      0     stevel #if !defined(_LP64) && defined(__cplusplus)
    357      0     stevel typedef ulong_t	nlink_t;		/* file link type	*/
    358      0     stevel typedef long	pid_t;			/* process id type	*/
    359      0     stevel #else
    360      0     stevel typedef uint_t	nlink_t;
    361      0     stevel typedef int	pid_t;
    362      0     stevel #endif
    363      0     stevel 
    364      0     stevel #ifndef	_SIZE_T
    365      0     stevel #define	_SIZE_T
    366      0     stevel #if !defined(_LP64) && defined(__cplusplus)
    367      0     stevel typedef uint_t	size_t;
    368      0     stevel #else
    369      0     stevel typedef ulong_t	size_t;
    370      0     stevel #endif
    371      0     stevel #endif
    372      0     stevel 
    373      0     stevel #ifndef	_SSIZE_T
    374      0     stevel #define	_SSIZE_T
    375      0     stevel #if !defined(_LP64) && defined(__cplusplus)
    376      0     stevel typedef int	ssize_t;
    377      0     stevel #else
    378      0     stevel typedef long	ssize_t;	/* used by functions which return a */
    379      0     stevel 				/* count of bytes or an error indication */
    380      0     stevel #endif
    381      0     stevel #endif
    382      0     stevel 
    383      0     stevel #ifndef	_TIME_T
    384      0     stevel #define	_TIME_T
    385      0     stevel typedef long	time_t;		/* time of day in seconds */
    386      0     stevel #endif  /* _TIME_T */
    387      0     stevel 
    388      0     stevel #ifndef	_CLOCK_T
    389      0     stevel #define	_CLOCK_T
    390      0     stevel typedef long		clock_t; /* relative time in a specified resolution */
    391      0     stevel #endif	/* ifndef _CLOCK_T */
    392      0     stevel 
    393      0     stevel #if (defined(_KERNEL) || !defined(_POSIX_SOURCE))
    394      0     stevel 
    395      0     stevel /* BEGIN CSTYLED */
    396      0     stevel typedef unsigned char   unchar;
    397      0     stevel typedef unsigned int    uint;
    398      0     stevel typedef unsigned long   ulong;
    399      0     stevel /* END CSTYLED */
    400      0     stevel 
    401      0     stevel #if defined(_KERNEL)
    402      0     stevel 
    403      0     stevel #define	SHRT_MIN	-32768		/* min value of a "short int" */
    404      0     stevel #define	SHRT_MAX	32767		/* max value of a "short int" */
    405      0     stevel #define	USHRT_MAX	65535u		/* max value of "unsigned short int" */
    406      0     stevel #define	INT_MIN		(-2147483647-1)	/* min value of an "int" */
    407      0     stevel #define	INT_MAX		2147483647	/* max value of an "int" */
    408      0     stevel #define	UINT_MAX	4294967295u	/* max value of an "unsigned int" */
    409      0     stevel #if !defined(_LP64)
    410      0     stevel #define	LONG_MIN	(-2147483647L-1L)	/* min value of a "long int" */
    411      0     stevel #define	LONG_MAX	2147483647L	/* max value of a "long int" */
    412      0     stevel #define	ULONG_MAX	4294967295UL	/* max value of "unsigned long int" */
    413      0     stevel #else
    414      0     stevel #define	LONG_MIN	(-9223372036854775807L-1L)
    415      0     stevel #define	LONG_MAX	9223372036854775807L
    416      0     stevel #define	ULONG_MAX	18446744073709551615UL
    417      0     stevel #endif
    418      0     stevel 
    419      0     stevel #endif	/* defined(_KERNEL) */
    420      0     stevel 
    421      0     stevel 
    422      0     stevel #define	P_MYPID	((pid_t)0)
    423      0     stevel 
    424      0     stevel /*
    425      0     stevel  * The following is the value of type id_t to use to indicate the
    426      0     stevel  * caller's current id.  See procset.h for the type idtype_t
    427      0     stevel  * which defines which kind of id is being specified.
    428      0     stevel  */
    429      0     stevel 
    430      0     stevel #define	P_MYID	(-1)
    431      0     stevel #define	NOPID (pid_t)(-1)
    432      0     stevel 
    433      0     stevel #ifndef	NODEV
    434      0     stevel #define	NODEV (dev_t)(-1)
    435      0     stevel #endif
    436      0     stevel 
    437      0     stevel #ifdef _ILP32
    438      0     stevel /*
    439      0     stevel  * A host identifier is used to uniquely define a particular node
    440      0     stevel  * on an rfs network.  Its type is as follows.
    441      0     stevel  */
    442      0     stevel 
    443      0     stevel typedef	long	hostid_t;
    444      0     stevel 
    445      0     stevel /*
    446      0     stevel  * The following value of type hostid_t is used to indicate the
    447      0     stevel  * current host.  The actual hostid for each host is in the
    448      0     stevel  * kernel global variable rfs_hostid.
    449      0     stevel  */
    450      0     stevel 
    451      0     stevel #define	P_MYHOSTID	(-1)
    452      0     stevel #endif
    453      0     stevel 
    454      0     stevel #endif /* END (defined(_KERNEL) || !defined(_POSIX_SOURCE)) */
    455      0     stevel 
    456      0     stevel /* BEGIN CSTYLED */
    457      0     stevel typedef unsigned char	u_char;
    458      0     stevel typedef unsigned short	u_short;
    459      0     stevel typedef unsigned int	u_int;
    460      0     stevel typedef unsigned long	u_long;
    461      0     stevel typedef unsigned short	ushort;		/* sys III compat */
    462      0     stevel typedef struct _quad { int val[2]; } quad;	/* used by UFS */
    463      0     stevel /* END CSTYLED */
    464      0     stevel 
    465      0     stevel /*
    466      0     stevel  * These were added to allow non-ANSI compilers to compile the system.
    467      0     stevel  */
    468      0     stevel 
    469      0     stevel #ifdef	__STDC__
    470      0     stevel 
    471      0     stevel /* _VOID, const, volatile left in for source compatibility */
    472      0     stevel 
    473      0     stevel /* BEGIN CSTYLED */
    474      0     stevel #ifndef	_VOID
    475      0     stevel #define	_VOID	void
    476      0     stevel #endif
    477      0     stevel 
    478      0     stevel #else
    479      0     stevel 
    480      0     stevel #ifndef	_VOID
    481      0     stevel #define	_VOID	char
    482      0     stevel #endif
    483      0     stevel 
    484      0     stevel #ifndef	const
    485      0     stevel #define	const
    486      0     stevel #endif
    487      0     stevel 
    488      0     stevel #ifndef	volatile
    489      0     stevel #define	volatile
    490      0     stevel #endif
    491      0     stevel /* END CSTYLED */
    492      0     stevel 
    493      0     stevel #endif /* __STDC__ */
    494      0     stevel 
    495      0     stevel #endif /* _ASM */
    496      0     stevel 
    497      0     stevel /*
    498      0     stevel  * Nested include for BSD/sockets source compatibility.
    499      0     stevel  * (The select macros used to be defined here).
    500      0     stevel  */
    501      0     stevel #include <sys/select.h>
    502      0     stevel /*
    503      0     stevel  * Nested include for BSD compatibility.
    504      0     stevel  */
    505      0     stevel 
    506      0     stevel #define	AHZ 64
    507      0     stevel 
    508      0     stevel #include <sys/sysmacros.h>
    509      0     stevel 
    510      0     stevel #ifdef __cplusplus
    511      0     stevel }
    512      0     stevel #endif
    513      0     stevel 
    514      0     stevel #endif	/* _SYS_TYPES_H */
    515