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_ino_t
14typedef unsigned long	__kernel_ino_t;
15#endif
16
17#ifndef __kernel_mode_t
18typedef unsigned int	__kernel_mode_t;
19#endif
20
21#ifndef __kernel_nlink_t
22typedef unsigned long	__kernel_nlink_t;
23#endif
24
25#ifndef __kernel_pid_t
26typedef int		__kernel_pid_t;
27#endif
28
29#ifndef __kernel_ipc_pid_t
30typedef int		__kernel_ipc_pid_t;
31#endif
32
33#ifndef __kernel_uid_t
34typedef unsigned int	__kernel_uid_t;
35typedef unsigned int	__kernel_gid_t;
36#endif
37
38#ifndef __kernel_suseconds_t
39typedef long		__kernel_suseconds_t;
40#endif
41
42#ifndef __kernel_daddr_t
43typedef int		__kernel_daddr_t;
44#endif
45
46#ifndef __kernel_uid32_t
47typedef __kernel_uid_t	__kernel_uid32_t;
48typedef __kernel_gid_t	__kernel_gid32_t;
49#endif
50
51#ifndef __kernel_old_uid_t
52typedef __kernel_uid_t	__kernel_old_uid_t;
53typedef __kernel_gid_t	__kernel_old_gid_t;
54#endif
55
56#ifndef __kernel_old_dev_t
57typedef unsigned int	__kernel_old_dev_t;
58#endif
59
60/*
61 * Most 32 bit architectures use "unsigned int" size_t,
62 * and all 64 bit architectures use "unsigned long" size_t.
63 */
64#ifndef __kernel_size_t
65#if __BITS_PER_LONG != 64
66typedef unsigned int	__kernel_size_t;
67typedef int		__kernel_ssize_t;
68typedef int		__kernel_ptrdiff_t;
69#else
70typedef unsigned long	__kernel_size_t;
71typedef long		__kernel_ssize_t;
72typedef long		__kernel_ptrdiff_t;
73#endif
74#endif
75
76/*
77 * anything below here should be completely generic
78 */
79typedef long		__kernel_off_t;
80typedef long long	__kernel_loff_t;
81typedef long		__kernel_time_t;
82typedef long		__kernel_clock_t;
83typedef int		__kernel_timer_t;
84typedef int		__kernel_clockid_t;
85typedef char *		__kernel_caddr_t;
86typedef unsigned short	__kernel_uid16_t;
87typedef unsigned short	__kernel_gid16_t;
88
89typedef struct {
90	int	val[2];
91} __kernel_fsid_t;
92
93
94#endif /* __ASM_GENERIC_POSIX_TYPES_H */
95