1 /* 2 * This file is in the public domain. 3 * $FreeBSD: src/sys/sys/inttypes.h,v 1.2 1999/08/28 00:51:47 peter Exp $ 4 * 5 * Note: since portions of these header files can be included with various 6 * other combinations of defines, we cannot surround the whole header file 7 * with an #ifndef sequence. Elements are individually protected. 8 */ 9 10 #include <sys/cdefs.h> 11 #include <machine/stdint.h> 12 13 #ifndef _SYS_STDINT_H_ 14 #define _SYS_STDINT_H_ 15 16 /* 17 * wchar_t and rune_t have to be of the same type. rune_t is meant 18 * for internal use only. 19 * 20 * wchar_t, wint_t and rune_t are signed, to allow EOF (-1) to naturally 21 * assigned. 22 * 23 * ANSI specifies ``int'' as argument for the is*() and to*() routines. 24 * Keeping wchar_t and rune_t as ``int'' instead of the more natural 25 * ``long'' helps ANSI conformance. ISO 10646 will most likely end up 26 * as 31 bit standard and all supported architectures have 27 * sizeof(int) >= 4. 28 */ 29 #ifndef __cplusplus 30 typedef int __wchar_t; 31 #endif 32 #ifndef ___WINT_T_DECLARED 33 typedef int __wint_t; 34 #define ___WINT_T_DECLARED 35 #endif 36 #ifndef ___RUNE_T_DECLARED 37 typedef int __rune_t; 38 #define ___RUNE_T_DECLARED 39 #endif 40 typedef void *__wctrans_t; 41 typedef void *__wctype_t; 42 43 /* 44 * mbstate_t is an opaque object to keep conversion state, during multibyte 45 * stream conversions. The content must not be referenced by user programs. 46 */ 47 typedef union { 48 __uint8_t __mbstate8[128]; 49 __int64_t __mbstateL; /* for alignment */ 50 } __mbstate_t; 51 52 typedef __int64_t __off_t; 53 typedef __int32_t __pid_t; 54 55 #endif /* SYS_STDINT_H */ 56