kernel - Major signal path adjustments to fix races, tsleep race fixes, +more
[dragonfly.git] / sys / sys / stdint.h
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 typedef int             __wint_t;
33 typedef int             __rune_t;
34 typedef void            *__wctrans_t;
35 typedef void            *__wctype_t;
36
37 /*
38  * mbstate_t is an opaque object to keep conversion state, during multibyte
39  * stream conversions.  The content must not be referenced by user programs.
40  */
41 typedef union {
42         __uint8_t __mbstate8[128];
43         __int64_t __mbstateL;   /* for alignment */
44 } __mbstate_t;
45
46 typedef __int64_t       __off_t;
47 typedef __int32_t       __pid_t;
48
49 #endif  /* SYS_STDINT_H */