1951a39d68df598db08dfced8b4707755864a0492Ying Wang/****************************************************************************
2951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
3951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
4951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   This header was automatically generated from a Linux kernel header
5951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   of the same name, to make information necessary for userspace to
6951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   call into the kernel available to libc.  It contains only constants,
7951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   structures, and macros generated from the original header, and thus,
8951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   contains no copyrightable information.
9951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
10951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/
12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef __ARCH_I386_POSIX_TYPES_H
13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define __ARCH_I386_POSIX_TYPES_H
14951a39d68df598db08dfced8b4707755864a0492Ying Wang
15951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned long __kernel_ino_t;
16951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned short __kernel_mode_t;
17951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned short __kernel_nlink_t;
18951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef long __kernel_off_t;
19951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef int __kernel_pid_t;
20951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned short __kernel_ipc_pid_t;
21951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned short __kernel_uid_t;
22951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned short __kernel_gid_t;
23951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned int __kernel_size_t;
24951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef int __kernel_ssize_t;
25951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef int __kernel_ptrdiff_t;
26951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef long __kernel_time_t;
27951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef long __kernel_suseconds_t;
28951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef long __kernel_clock_t;
29951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef int __kernel_timer_t;
30951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef int __kernel_clockid_t;
31951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef int __kernel_daddr_t;
32951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef char * __kernel_caddr_t;
33951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned short __kernel_uid16_t;
34951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned short __kernel_gid16_t;
35951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned int __kernel_uid32_t;
36951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned int __kernel_gid32_t;
37951a39d68df598db08dfced8b4707755864a0492Ying Wang
38951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned short __kernel_old_uid_t;
39951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned short __kernel_old_gid_t;
40951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned short __kernel_old_dev_t;
41951a39d68df598db08dfced8b4707755864a0492Ying Wang
42951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifdef __GNUC__
43951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef long long __kernel_loff_t;
44951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
45951a39d68df598db08dfced8b4707755864a0492Ying Wang
46951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef struct {
47951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifdef __USE_ALL
48951a39d68df598db08dfced8b4707755864a0492Ying Wang int val[2];
49951a39d68df598db08dfced8b4707755864a0492Ying Wang#else
50951a39d68df598db08dfced8b4707755864a0492Ying Wang int __val[2];
51951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
52951a39d68df598db08dfced8b4707755864a0492Ying Wang} __kernel_fsid_t;
53951a39d68df598db08dfced8b4707755864a0492Ying Wang
54951a39d68df598db08dfced8b4707755864a0492Ying Wang#if !defined(__GLIBC__) || __GLIBC__ < 2
55951a39d68df598db08dfced8b4707755864a0492Ying Wang
56951a39d68df598db08dfced8b4707755864a0492Ying Wang#undef __FD_SET
57951a39d68df598db08dfced8b4707755864a0492Ying Wang#define __FD_SET(fd,fdsetp)   __asm__ __volatile__("btsl %1,%0":   "+m" (*(__kernel_fd_set *) (fdsetp)):"r" ((int) (fd)))
58951a39d68df598db08dfced8b4707755864a0492Ying Wang
59951a39d68df598db08dfced8b4707755864a0492Ying Wang#undef __FD_CLR
60951a39d68df598db08dfced8b4707755864a0492Ying Wang#define __FD_CLR(fd,fdsetp)   __asm__ __volatile__("btrl %1,%0":   "+m" (*(__kernel_fd_set *) (fdsetp)):"r" ((int) (fd)))
61951a39d68df598db08dfced8b4707755864a0492Ying Wang
62951a39d68df598db08dfced8b4707755864a0492Ying Wang#undef __FD_ISSET
63951a39d68df598db08dfced8b4707755864a0492Ying Wang#define __FD_ISSET(fd,fdsetp) (__extension__ ({   unsigned char __result;   __asm__ __volatile__("btl %1,%2 ; setb %0"   :"=q" (__result) :"r" ((int) (fd)),   "m" (*(__kernel_fd_set *) (fdsetp)));   __result; }))
64951a39d68df598db08dfced8b4707755864a0492Ying Wang
65951a39d68df598db08dfced8b4707755864a0492Ying Wang#undef __FD_ZERO
66951a39d68df598db08dfced8b4707755864a0492Ying Wang#define __FD_ZERO(fdsetp)  do {   int __d0, __d1;   __asm__ __volatile__("cld ; rep ; stosl"   :"=m" (*(__kernel_fd_set *) (fdsetp)),   "=&c" (__d0), "=&D" (__d1)   :"a" (0), "1" (__FDSET_LONGS),   "2" ((__kernel_fd_set *) (fdsetp)) : "memory");  } while (0)
67951a39d68df598db08dfced8b4707755864a0492Ying Wang
68951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
69951a39d68df598db08dfced8b4707755864a0492Ying Wang
70951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
71