chiark / gitweb /
volume_id: provide libvolume_id.a file
[elogind.git] / klibc / include / sys / types.h
1 /*
2  * sys/types.h
3  */
4
5 #ifndef _SYS_TYPES_H
6 #define _SYS_TYPES_H
7
8 #include <klibc/compiler.h>
9 #include <stddef.h>
10 #include <stdint.h>
11
12 #define _SSIZE_T
13 typedef ptrdiff_t ssize_t;
14
15 #include <linux/posix_types.h>
16 #include <asm/types.h>
17
18 /* Keeps linux/types.h from getting included elsewhere */
19 #define _LINUX_TYPES_H          
20
21 typedef __kernel_fd_set         fd_set;
22 typedef uint32_t                dev_t;
23 typedef __kernel_ino_t          ino_t;
24 typedef __kernel_mode_t         mode_t;
25 typedef __kernel_nlink_t        nlink_t;
26 typedef __kernel_loff_t         off_t;
27 typedef __kernel_loff_t         loff_t;
28 typedef __kernel_pid_t          pid_t;
29 typedef __kernel_daddr_t        daddr_t;
30 typedef __kernel_key_t          key_t;
31 typedef __kernel_suseconds_t    suseconds_t;
32 /* typedef __kernel_timer_t     timer_t; */
33 typedef int                     timer_t;
34
35 typedef __kernel_uid32_t        uid_t;
36 typedef __kernel_gid32_t        gid_t;
37
38 typedef __kernel_fsid_t         fsid_t;
39
40 /*
41  * The following typedefs are also protected by individual ifdefs for
42  * historical reasons:
43  */
44 #ifndef _SIZE_T
45 #define _SIZE_T
46 typedef __kernel_size_t         size_t;
47 #endif
48
49 #ifndef _SSIZE_T
50 #define _SSIZE_T
51 typedef __kernel_ssize_t        ssize_t;
52 #endif
53
54 #ifndef _PTRDIFF_T
55 #define _PTRDIFF_T
56 typedef __kernel_ptrdiff_t      ptrdiff_t;
57 #endif
58
59 #ifndef _TIME_T
60 #define _TIME_T
61 typedef __kernel_time_t         time_t;
62 #endif
63
64 #ifndef _CLOCK_T
65 #define _CLOCK_T
66 typedef __kernel_clock_t        clock_t;
67 #endif
68
69 #ifndef _CADDR_T
70 #define _CADDR_T
71 typedef __kernel_caddr_t        caddr_t;
72 #endif
73
74 /* bsd */
75 typedef unsigned char           u_char;
76 typedef unsigned short          u_short;
77 typedef unsigned int            u_int;
78 typedef unsigned long           u_long;
79
80 /* sysv */
81 typedef unsigned char           unchar;
82 typedef unsigned short          ushort;
83 typedef unsigned int            uint;
84 typedef unsigned long           ulong;
85
86 /* Linux-specific? */
87 typedef uint8_t                 u_int8_t;
88 typedef uint16_t                u_int16_t;
89 typedef uint32_t                u_int32_t;
90 typedef uint64_t                u_int64_t;
91
92 typedef uint16_t __bitwise      __le16;
93 typedef uint16_t __bitwise      __be16;
94 typedef uint32_t __bitwise      __le32;
95 typedef uint32_t __bitwise      __be32;
96 typedef uint64_t __bitwise      __le64;
97 typedef uint64_t __bitwise      __be64;
98
99 /*
100  * Some apps want this in <sys/types.h>
101  */
102 #include <sys/sysmacros.h>
103
104 #endif