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