1#ifndef __ASM_GENERIC_POSIX_TYPES_H
2#define __ASM_GENERIC_POSIX_TYPES_H
3
4#include <asm/bitsperlong.h>
5/*
6 * This file is generally used by user-level software, so you need to
7 * be a little careful about namespace pollution etc.
8 *
9 * First the types that are often defined in different ways across
10 * architectures, so that you can override them.
11 */
12
13#ifndef __kernel_long_t
14typedef long __kernel_long_t;
15typedef unsigned long __kernel_ulong_t;
16#endif
17
18#ifndef __kernel_ino_t
19typedef __kernel_ulong_t __kernel_ino_t;
20#endif
21
22#ifndef __kernel_mode_t
23typedef unsigned int __kernel_mode_t;
24#endif
25
26#ifndef __kernel_pid_t
27typedef int __kernel_pid_t;
28#endif
29
30#ifndef __kernel_ipc_pid_t
31typedef int __kernel_ipc_pid_t;
32#endif
33
34#ifndef __kernel_uid_t
35typedef unsigned int __kernel_uid_t;
36typedef unsigned int __kernel_gid_t;
37#endif
38
39#ifndef __kernel_suseconds_t
40typedef __kernel_long_t __kernel_suseconds_t;
41#endif
42
43#ifndef __kernel_daddr_t
44typedef int __kernel_daddr_t;
45#endif
46
47#ifndef __kernel_uid32_t
48typedef unsigned int __kernel_uid32_t;
49typedef unsigned int __kernel_gid32_t;
50#endif
51
52#ifndef __kernel_old_uid_t
53typedef __kernel_uid_t __kernel_old_uid_t;
54typedef __kernel_gid_t __kernel_old_gid_t;
55#endif
56
57#ifndef __kernel_old_dev_t
58typedef unsigned int __kernel_old_dev_t;
59#endif
60
61/*
62 * Most 32 bit architectures use "unsigned int" size_t,
63 * and all 64 bit architectures use "unsigned long" size_t.
64 */
65#ifndef __kernel_size_t
66#if __BITS_PER_LONG != 64
67typedef unsigned int __kernel_size_t;
68typedef int __kernel_ssize_t;
69typedef int __kernel_ptrdiff_t;
70#else
71typedef __kernel_ulong_t __kernel_size_t;
72typedef __kernel_long_t __kernel_ssize_t;
73typedef __kernel_long_t __kernel_ptrdiff_t;
74#endif
75#endif
76
77#ifndef __kernel_fsid_t
78typedef struct {
79 int val[2];
80} __kernel_fsid_t;
81#endif
82
83/*
84 * anything below here should be completely generic
85 */
86typedef __kernel_long_t __kernel_off_t;
87typedef long long __kernel_loff_t;
88typedef __kernel_long_t __kernel_time_t;
89typedef __kernel_long_t __kernel_clock_t;
90typedef int __kernel_timer_t;
91typedef int __kernel_clockid_t;
92typedef char * __kernel_caddr_t;
93typedef unsigned short __kernel_uid16_t;
94typedef unsigned short __kernel_gid16_t;
95
96#endif /* __ASM_GENERIC_POSIX_TYPES_H */
97