~ubuntu-branches/ubuntu/karmic/iproute/karmic

« back to all changes in this revision

Viewing changes to include/linux/types.h

  • Committer: Bazaar Package Importer
  • Author(s): Fabio M. Di Nitto
  • Date: 2007-06-11 13:31:12 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20070611133112-0rtfv32yfs8loo0r
Tags: 20070313-1ubuntu1
* Merge from debian unstable, remaining changes:
  - linux-kernel-headers -> linux-libc-dev B-D rename.
  - MAX_ROUNDS patch to ip/ipaddress.c
  - Ubuntu maintainer foobar.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef _LINUX_TYPES_H
 
2
#define _LINUX_TYPES_H
 
3
 
 
4
 
 
5
#include <linux/posix_types.h>
 
6
#include <asm/types.h>
 
7
 
 
8
#ifndef __KERNEL_STRICT_NAMES
 
9
 
 
10
typedef __u32 __kernel_dev_t;
 
11
 
 
12
typedef __kernel_fd_set         fd_set;
 
13
typedef __kernel_dev_t          dev_t;
 
14
typedef __kernel_ino_t          ino_t;
 
15
typedef __kernel_mode_t         mode_t;
 
16
typedef __kernel_nlink_t        nlink_t;
 
17
typedef __kernel_off_t          off_t;
 
18
typedef __kernel_pid_t          pid_t;
 
19
typedef __kernel_daddr_t        daddr_t;
 
20
typedef __kernel_key_t          key_t;
 
21
typedef __kernel_suseconds_t    suseconds_t;
 
22
typedef __kernel_timer_t        timer_t;
 
23
typedef __kernel_clockid_t      clockid_t;
 
24
typedef __kernel_mqd_t          mqd_t;
 
25
 
 
26
typedef __kernel_uid_t          uid_t;
 
27
typedef __kernel_gid_t          gid_t;
 
28
 
 
29
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 
30
typedef __kernel_loff_t         loff_t;
 
31
#endif
 
32
 
 
33
/*
 
34
 * The following typedefs are also protected by individual ifdefs for
 
35
 * historical reasons:
 
36
 */
 
37
#ifndef _SIZE_T
 
38
#define _SIZE_T
 
39
typedef __kernel_size_t         size_t;
 
40
#endif
 
41
 
 
42
#ifndef _SSIZE_T
 
43
#define _SSIZE_T
 
44
typedef __kernel_ssize_t        ssize_t;
 
45
#endif
 
46
 
 
47
#ifndef _PTRDIFF_T
 
48
#define _PTRDIFF_T
 
49
typedef __kernel_ptrdiff_t      ptrdiff_t;
 
50
#endif
 
51
 
 
52
#ifndef _TIME_T
 
53
#define _TIME_T
 
54
typedef __kernel_time_t         time_t;
 
55
#endif
 
56
 
 
57
#ifndef _CLOCK_T
 
58
#define _CLOCK_T
 
59
typedef __kernel_clock_t        clock_t;
 
60
#endif
 
61
 
 
62
#ifndef _CADDR_T
 
63
#define _CADDR_T
 
64
typedef __kernel_caddr_t        caddr_t;
 
65
#endif
 
66
 
 
67
/* bsd */
 
68
typedef unsigned char           u_char;
 
69
typedef unsigned short          u_short;
 
70
typedef unsigned int            u_int;
 
71
typedef unsigned long           u_long;
 
72
 
 
73
/* sysv */
 
74
typedef unsigned char           unchar;
 
75
typedef unsigned short          ushort;
 
76
typedef unsigned int            uint;
 
77
typedef unsigned long           ulong;
 
78
 
 
79
#ifndef __BIT_TYPES_DEFINED__
 
80
#define __BIT_TYPES_DEFINED__
 
81
 
 
82
typedef         __u8            u_int8_t;
 
83
typedef         __s8            int8_t;
 
84
typedef         __u16           u_int16_t;
 
85
typedef         __s16           int16_t;
 
86
typedef         __u32           u_int32_t;
 
87
typedef         __s32           int32_t;
 
88
 
 
89
#endif /* !(__BIT_TYPES_DEFINED__) */
 
90
 
 
91
typedef         __u8            uint8_t;
 
92
typedef         __u16           uint16_t;
 
93
typedef         __u32           uint32_t;
 
94
 
 
95
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 
96
typedef         __u64           uint64_t;
 
97
typedef         __u64           u_int64_t;
 
98
typedef         __s64           int64_t;
 
99
#endif
 
100
 
 
101
/* this is a special 64bit data type that is 8-byte aligned */
 
102
#define aligned_u64 unsigned long long __attribute__((aligned(8)))
 
103
#define aligned_be64 __be64 __attribute__((aligned(8)))
 
104
#define aligned_le64 __le64 __attribute__((aligned(8)))
 
105
 
 
106
/**
 
107
 * The type used for indexing onto a disc or disc partition.
 
108
 *
 
109
 * Linux always considers sectors to be 512 bytes long independently
 
110
 * of the devices real block size.
 
111
 */
 
112
#ifdef CONFIG_LBD
 
113
typedef u64 sector_t;
 
114
#else
 
115
typedef unsigned long sector_t;
 
116
#endif
 
117
 
 
118
/*
 
119
 * The type of the inode's block count.
 
120
 */
 
121
#ifdef CONFIG_LSF
 
122
typedef u64 blkcnt_t;
 
123
#else
 
124
typedef unsigned long blkcnt_t;
 
125
#endif
 
126
 
 
127
/*
 
128
 * The type of an index into the pagecache.  Use a #define so asm/types.h
 
129
 * can override it.
 
130
 */
 
131
#ifndef pgoff_t
 
132
#define pgoff_t unsigned long
 
133
#endif
 
134
 
 
135
#endif /* __KERNEL_STRICT_NAMES */
 
136
 
 
137
/*
 
138
 * Below are truly Linux-specific types that should never collide with
 
139
 * any application/library that wants linux/types.h.
 
140
 */
 
141
 
 
142
#ifdef __CHECKER__
 
143
#define __bitwise__ __attribute__((bitwise))
 
144
#else
 
145
#define __bitwise__
 
146
#endif
 
147
#ifdef __CHECK_ENDIAN__
 
148
#define __bitwise __bitwise__
 
149
#else
 
150
#define __bitwise
 
151
#endif
 
152
 
 
153
typedef __u16 __bitwise __le16;
 
154
typedef __u16 __bitwise __be16;
 
155
typedef __u32 __bitwise __le32;
 
156
typedef __u32 __bitwise __be32;
 
157
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 
158
typedef __u64 __bitwise __le64;
 
159
typedef __u64 __bitwise __be64;
 
160
#endif
 
161
typedef __u16 __bitwise __sum16;
 
162
typedef __u32 __bitwise __wsum;
 
163
 
 
164
 
 
165
struct ustat {
 
166
        __kernel_daddr_t        f_tfree;
 
167
        __kernel_ino_t          f_tinode;
 
168
        char                    f_fname[6];
 
169
        char                    f_fpack[6];
 
170
};
 
171
 
 
172
#endif /* _LINUX_TYPES_H */