Subversion Repositories shark

Rev

Rev 168 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
168 giacomo 1
#ifndef _LINUX_TYPES_H
2
#define _LINUX_TYPES_H
3
 
4
#ifdef  __KERNEL__
5
#include <linux/config.h>
6
#endif
7
 
8
#include <linux/posix_types.h>
9
#include <asm/types.h>
10
 
11
#ifndef __KERNEL_STRICT_NAMES
12
 
13
typedef __kernel_fd_set         fd_set;
14
typedef __kernel_dev_t          dev_t;
15
typedef __kernel_ino_t          ino_t;
16
typedef __kernel_mode_t         mode_t;
17
typedef __kernel_nlink_t        nlink_t;
18
typedef __kernel_off_t          off_t;
19
typedef __kernel_pid_t          pid_t;
20
typedef __kernel_daddr_t        daddr_t;
21
typedef __kernel_key_t          key_t;
22
typedef __kernel_suseconds_t    suseconds_t;
23
 
24
#ifdef __KERNEL__
25
typedef __kernel_uid32_t        uid_t;
26
typedef __kernel_gid32_t        gid_t;
27
typedef __kernel_uid16_t        uid16_t;
28
typedef __kernel_gid16_t        gid16_t;
29
 
30
#ifdef CONFIG_UID16
31
/* This is defined by include/asm-{arch}/posix_types.h */
32
typedef __kernel_old_uid_t      old_uid_t;
33
typedef __kernel_old_gid_t      old_gid_t;
34
#endif /* CONFIG_UID16 */
35
 
36
/* libc5 includes this file to define uid_t, thus uid_t can never change
37
 * when it is included by non-kernel code
38
 */
39
#else
40
typedef __kernel_uid_t          uid_t;
41
typedef __kernel_gid_t          gid_t;
42
#endif /* __KERNEL__ */
43
 
44
#if defined(__GNUC__)
45
typedef __kernel_loff_t         loff_t;
46
#endif
47
 
48
/*
49
 * The following typedefs are also protected by individual ifdefs for
50
 * historical reasons:
51
 */
52
#ifndef _SIZE_T
53
#define _SIZE_T
54
typedef __kernel_size_t         size_t;
55
#endif
56
 
57
#ifndef _SSIZE_T
58
#define _SSIZE_T
59
typedef __kernel_ssize_t        ssize_t;
60
#endif
61
 
62
#ifndef _PTRDIFF_T
63
#define _PTRDIFF_T
64
typedef __kernel_ptrdiff_t      ptrdiff_t;
65
#endif
66
 
67
#ifndef _TIME_T
68
#define _TIME_T
69
typedef __kernel_time_t         time_t;
70
#endif
71
 
72
#ifndef _CLOCK_T
73
#define _CLOCK_T
74
typedef __kernel_clock_t        clock_t;
75
#endif
76
 
77
#ifndef _CADDR_T
78
#define _CADDR_T
79
typedef __kernel_caddr_t        caddr_t;
80
#endif
81
 
82
/* bsd */
83
typedef unsigned char           u_char;
84
typedef unsigned short          u_short;
85
typedef unsigned int            u_int;
86
typedef unsigned long           u_long;
87
 
88
/* sysv */
89
typedef unsigned char           unchar;
90
typedef unsigned short          ushort;
91
typedef unsigned int            uint;
92
typedef unsigned long           ulong;
93
 
94
#ifndef __BIT_TYPES_DEFINED__
95
#define __BIT_TYPES_DEFINED__
96
 
97
typedef         __u8            u_int8_t;
98
typedef         __s8            int8_t;
99
typedef         __u16           u_int16_t;
100
typedef         __s16           int16_t;
101
typedef         __u32           u_int32_t;
102
typedef         __s32           int32_t;
103
 
104
#endif /* !(__BIT_TYPES_DEFINED__) */
105
 
106
typedef         __u8            uint8_t;
107
typedef         __u16           uint16_t;
108
typedef         __u32           uint32_t;
109
 
110
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
111
typedef         __u64           uint64_t;
112
typedef         __u64           u_int64_t;
113
typedef         __s64           int64_t;
114
#endif
115
 
116
#endif /* __KERNEL_STRICT_NAMES */
117
 
118
/*
119
 * Below are truly Linux-specific types that should never collide with
120
 * any application/library that wants linux/types.h.
121
 */
122
 
123
struct ustat {
124
        __kernel_daddr_t        f_tfree;
125
        __kernel_ino_t          f_tinode;
126
        char                    f_fname[6];
127
        char                    f_fpack[6];
128
};
129
 
130
#endif /* _LINUX_TYPES_H */