• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-arm-linux-2.6.36-uclibc-4.5.3/usr/include/sys/
1/* Copyright (C) 1991,1992,1994,1995,1996,1997,1998,1999,2000,2001,2002
2	Free Software Foundation, Inc.
3   This file is part of the GNU C Library.
4
5   The GNU C Library is free software; you can redistribute it and/or
6   modify it under the terms of the GNU Lesser General Public
7   License as published by the Free Software Foundation; either
8   version 2.1 of the License, or (at your option) any later version.
9
10   The GNU C Library is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13   Lesser General Public License for more details.
14
15   You should have received a copy of the GNU Lesser General Public
16   License along with the GNU C Library; if not, write to the Free
17   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18   02111-1307 USA.  */
19
20/*
21 *	POSIX Standard: 2.6 Primitive System Data Types	<sys/types.h>
22 */
23
24#ifndef	_SYS_TYPES_H
25#define	_SYS_TYPES_H	1
26
27#include <features.h>
28
29__BEGIN_DECLS
30
31#include <bits/types.h>
32
33#ifdef	__USE_BSD
34# ifndef __u_char_defined
35typedef __u_char u_char;
36typedef __u_short u_short;
37typedef __u_int u_int;
38typedef __u_long u_long;
39typedef __quad_t quad_t;
40typedef __u_quad_t u_quad_t;
41typedef __fsid_t fsid_t;
42#  define __u_char_defined
43# endif
44#endif
45
46typedef __loff_t loff_t;
47
48#ifndef __ino_t_defined
49# ifndef __USE_FILE_OFFSET64
50typedef __ino_t ino_t;
51# else
52typedef __ino64_t ino_t;
53# endif
54# define __ino_t_defined
55#endif
56#if defined __USE_LARGEFILE64 && !defined __ino64_t_defined
57typedef __ino64_t ino64_t;
58# define __ino64_t_defined
59#endif
60
61#ifndef __dev_t_defined
62typedef __dev_t dev_t;
63# define __dev_t_defined
64#endif
65
66#ifndef __gid_t_defined
67typedef __gid_t gid_t;
68# define __gid_t_defined
69#endif
70
71#ifndef __mode_t_defined
72typedef __mode_t mode_t;
73# define __mode_t_defined
74#endif
75
76#ifndef __nlink_t_defined
77typedef __nlink_t nlink_t;
78# define __nlink_t_defined
79#endif
80
81#ifndef __uid_t_defined
82typedef __uid_t uid_t;
83# define __uid_t_defined
84#endif
85
86#ifndef __off_t_defined
87# ifndef __USE_FILE_OFFSET64
88typedef __off_t off_t;
89# else
90typedef __off64_t off_t;
91# endif
92# define __off_t_defined
93#endif
94#if defined __USE_LARGEFILE64 && !defined __off64_t_defined
95typedef __off64_t off64_t;
96# define __off64_t_defined
97#endif
98
99#ifndef __pid_t_defined
100typedef __pid_t pid_t;
101# define __pid_t_defined
102#endif
103
104#if (defined __USE_SVID || defined __USE_XOPEN) && !defined __id_t_defined
105typedef __id_t id_t;
106# define __id_t_defined
107#endif
108
109#ifndef __ssize_t_defined
110typedef __ssize_t ssize_t;
111# define __ssize_t_defined
112#endif
113
114#ifdef	__USE_BSD
115# ifndef __daddr_t_defined
116typedef __daddr_t daddr_t;
117typedef __caddr_t caddr_t;
118#  define __daddr_t_defined
119# endif
120#endif
121
122#if (defined __USE_SVID || defined __USE_XOPEN) && !defined __key_t_defined
123typedef __key_t key_t;
124# define __key_t_defined
125#endif
126
127#ifdef __USE_XOPEN
128# define __need_clock_t
129#endif
130#define	__need_time_t
131#define __need_timer_t
132#define __need_clockid_t
133#include <time.h>
134
135#ifdef __USE_XOPEN
136# ifndef __useconds_t_defined
137typedef __useconds_t useconds_t;
138#  define __useconds_t_defined
139# endif
140# ifndef __suseconds_t_defined
141typedef __suseconds_t suseconds_t;
142#  define __suseconds_t_defined
143# endif
144#endif
145
146#define	__need_size_t
147#include <stddef.h>
148
149#ifdef __USE_MISC
150/* Old compatibility names for C types.  */
151typedef unsigned long int ulong;
152typedef unsigned short int ushort;
153typedef unsigned int uint;
154#endif
155
156/* These size-specific names are used by some of the inet code.  */
157
158#if !__GNUC_PREREQ (2, 7)
159
160/* These types are defined by the ISO C99 header <inttypes.h>. */
161# ifndef __int8_t_defined
162#  define __int8_t_defined
163typedef	char int8_t;
164typedef	short int int16_t;
165typedef	int int32_t;
166#  if __WORDSIZE == 64
167typedef long int int64_t;
168#  elif defined __GNUC__ || defined __ICC
169__extension__ typedef long long int int64_t;
170#  endif
171# endif
172
173/* But these were defined by ISO C without the first `_'.  */
174typedef	unsigned char u_int8_t;
175typedef	unsigned short int u_int16_t;
176typedef	unsigned int u_int32_t;
177# if __WORDSIZE == 64
178typedef unsigned long int u_int64_t;
179# elif defined __GNUC__ || defined __ICC
180__extension__ typedef unsigned long long int u_int64_t;
181# endif
182
183typedef int register_t;
184
185#else
186
187/* For GCC 2.7 and later, we can use specific type-size attributes.  */
188# define __intN_t(N, MODE) \
189  typedef int int##N##_t __attribute__ ((__mode__ (MODE)))
190# define __u_intN_t(N, MODE) \
191  typedef unsigned int u_int##N##_t __attribute__ ((__mode__ (MODE)))
192
193# ifndef __int8_t_defined
194#  define __int8_t_defined
195__intN_t (8, __QI__);
196__intN_t (16, __HI__);
197__intN_t (32, __SI__);
198__intN_t (64, __DI__);
199# endif
200
201__u_intN_t (8, __QI__);
202__u_intN_t (16, __HI__);
203__u_intN_t (32, __SI__);
204__u_intN_t (64, __DI__);
205
206typedef int register_t __attribute__ ((__mode__ (__word__)));
207
208
209/* Some code from BIND tests this macro to see if the types above are
210   defined.  */
211#endif
212#define __BIT_TYPES_DEFINED__	1
213
214
215#ifdef	__USE_BSD
216/* In BSD <sys/types.h> is expected to define BYTE_ORDER.  */
217# include <endian.h>
218
219/* It also defines `fd_set' and the FD_* macros for `select'.  */
220# include <sys/select.h>
221
222/* BSD defines these symbols, so we follow.  */
223# include <sys/sysmacros.h>
224#endif /* Use BSD.  */
225
226
227#if defined __USE_UNIX98 && !defined __blksize_t_defined
228typedef __blksize_t blksize_t;
229# define __blksize_t_defined
230#endif
231
232/* Types from the Large File Support interface.  */
233#ifndef __USE_FILE_OFFSET64
234# ifndef __blkcnt_t_defined
235typedef __blkcnt_t blkcnt_t;	 /* Type to count number of disk blocks.  */
236#  define __blkcnt_t_defined
237# endif
238# ifndef __fsblkcnt_t_defined
239typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks.  */
240#  define __fsblkcnt_t_defined
241# endif
242# ifndef __fsfilcnt_t_defined
243typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes.  */
244#  define __fsfilcnt_t_defined
245# endif
246#else
247# ifndef __blkcnt_t_defined
248typedef __blkcnt64_t blkcnt_t;	   /* Type to count number of disk blocks.  */
249#  define __blkcnt_t_defined
250# endif
251# ifndef __fsblkcnt_t_defined
252typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks.  */
253#  define __fsblkcnt_t_defined
254# endif
255# ifndef __fsfilcnt_t_defined
256typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes.  */
257#  define __fsfilcnt_t_defined
258# endif
259#endif
260
261#ifdef __USE_LARGEFILE64
262typedef __blkcnt64_t blkcnt64_t;     /* Type to count number of disk blocks. */
263typedef __fsblkcnt64_t fsblkcnt64_t; /* Type to count file system blocks.  */
264typedef __fsfilcnt64_t fsfilcnt64_t; /* Type to count file system inodes.  */
265#endif
266
267
268/* Now add the thread types.  */
269#if (defined __USE_POSIX199506 || defined __USE_UNIX98) && defined __UCLIBC_HAS_THREADS__
270# include <bits/pthreadtypes.h>
271#endif
272
273__END_DECLS
274
275#endif /* sys/types.h */
276