1#ifndef _LINUX_TYPES_H
2#define _LINUX_TYPES_H
3
4#ifdef __i386__
5#if defined(__KERNEL__) && !defined(STDC_HEADERS)
6#if ((__GNUC_MINOR__ >= 8) || (__GNUC_MAJOR >=3))
7#warning "This code is tested with gcc 2.7.2.x only. Using egcs/gcc 2.8.x needs"
8#warning "additional patches that have not been sufficiently tested to include by"
9#warning "default."
10#warning "See http://www.suse.de/~florian/kernel+egcs.html for more information"
11#error "Remove this if you have applied the gcc 2.8/egcs patches and wish to use them"
12#endif
13#endif
14#endif
15
16#include <linux/posix_types.h>
17#include <asm/types.h>
18
19#ifndef __KERNEL_STRICT_NAMES
20
21typedef __kernel_fd_set fd_set;
22typedef __kernel_dev_t dev_t;
23typedef __kernel_ino_t ino_t;
24typedef __kernel_mode_t mode_t;
25typedef __kernel_nlink_t nlink_t;
26typedef __kernel_off_t off_t;
27typedef __kernel_pid_t pid_t;
28typedef __kernel_uid_t uid_t;
29typedef __kernel_gid_t gid_t;
30typedef __kernel_daddr_t daddr_t;
31
32#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
33typedef __kernel_loff_t loff_t;
34#endif
35
36
37
38
39
40#ifndef _SIZE_T
41#define _SIZE_T
42typedef __kernel_size_t size_t;
43#endif
44
45#ifndef _SSIZE_T
46#define _SSIZE_T
47typedef __kernel_ssize_t ssize_t;
48#endif
49
50#ifndef _PTRDIFF_T
51#define _PTRDIFF_T
52typedef __kernel_ptrdiff_t ptrdiff_t;
53#endif
54
55#ifndef _TIME_T
56#define _TIME_T
57typedef __kernel_time_t time_t;
58#endif
59
60#ifndef _CLOCK_T
61#define _CLOCK_T
62typedef __kernel_clock_t clock_t;
63#endif
64
65#ifndef _CADDR_T
66#define _CADDR_T
67typedef __kernel_caddr_t caddr_t;
68#endif
69
70
71typedef unsigned char u_char;
72typedef unsigned short u_short;
73typedef unsigned int u_int;
74typedef unsigned long u_long;
75
76
77typedef unsigned char unchar;
78typedef unsigned short ushort;
79typedef unsigned int uint;
80typedef unsigned long ulong;
81
82#endif
83
84
85
86
87
88
89struct ustat {
90 __kernel_daddr_t f_tfree;
91 __kernel_ino_t f_tinode;
92 char f_fname[6];
93 char f_fpack[6];
94};
95
96#endif
97