posix_types.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
- #ifndef __ARCH_I386_POSIX_TYPES_H
- #define __ARCH_I386_POSIX_TYPES_H
- /*
- * This file is generally used by user-level software, so you need to
- * be a little careful about namespace pollution etc. Also, we cannot
- * assume GCC is being used.
- */
- typedef unsigned short __kernel_dev_t;
- typedef unsigned long __kernel_ino_t;
- typedef unsigned short __kernel_mode_t;
- typedef unsigned short __kernel_nlink_t;
- typedef long __kernel_off_t;
- typedef int __kernel_pid_t;
- typedef unsigned short __kernel_ipc_pid_t;
- typedef unsigned short __kernel_uid_t;
- typedef unsigned short __kernel_gid_t;
- typedef unsigned int __kernel_size_t;
- typedef int __kernel_ssize_t;
- typedef int __kernel_ptrdiff_t;
- typedef long __kernel_time_t;
- typedef long __kernel_suseconds_t;
- typedef long __kernel_clock_t;
- typedef int __kernel_daddr_t;
- typedef char * __kernel_caddr_t;
- typedef unsigned short __kernel_uid16_t;
- typedef unsigned short __kernel_gid16_t;
- typedef unsigned int __kernel_uid32_t;
- typedef unsigned int __kernel_gid32_t;
- typedef unsigned short __kernel_old_uid_t;
- typedef unsigned short __kernel_old_gid_t;
- #ifdef __GNUC__
- typedef long long __kernel_loff_t;
- #endif
- typedef struct {
- #if defined(__KERNEL__) || defined(__USE_ALL)
- int val[2];
- #else /* !defined(__KERNEL__) && !defined(__USE_ALL) */
- int __val[2];
- #endif /* !defined(__KERNEL__) && !defined(__USE_ALL) */
- } __kernel_fsid_t;
- #if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
- #undef __FD_SET
- #define __FD_SET(fd,fdsetp)
- __asm__ __volatile__("btsl %1,%0":
- "=m" (*(__kernel_fd_set *) (fdsetp)):"r" ((int) (fd)))
- #undef __FD_CLR
- #define __FD_CLR(fd,fdsetp)
- __asm__ __volatile__("btrl %1,%0":
- "=m" (*(__kernel_fd_set *) (fdsetp)):"r" ((int) (fd)))
- #undef __FD_ISSET
- #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; }))
- #undef __FD_ZERO
- #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)
- #endif /* defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) */
- #endif