xref: /dragonfly/sys/sys/stdint.h (revision d4ef6694)
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