Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 #ifndef _ASM_X86_POSIX_TYPES_32_H
  2 #define _ASM_X86_POSIX_TYPES_32_H
  3 
  4 /*
  5  * This file is generally used by user-level software, so you need to
  6  * be a little careful about namespace pollution etc.  Also, we cannot
  7  * assume GCC is being used.
  8  */
  9 
 10 typedef unsigned long   __kernel_ino_t;
 11 typedef unsigned short  __kernel_mode_t;
 12 typedef unsigned short  __kernel_nlink_t;
 13 typedef long            __kernel_off_t;
 14 typedef int             __kernel_pid_t;
 15 typedef unsigned short  __kernel_ipc_pid_t;
 16 typedef unsigned short  __kernel_uid_t;
 17 typedef unsigned short  __kernel_gid_t;
 18 typedef unsigned int    __kernel_size_t;
 19 typedef int             __kernel_ssize_t;
 20 typedef int             __kernel_ptrdiff_t;
 21 typedef long            __kernel_time_t;
 22 typedef long            __kernel_suseconds_t;
 23 typedef long            __kernel_clock_t;
 24 typedef int             __kernel_timer_t;
 25 typedef int             __kernel_clockid_t;
 26 typedef int             __kernel_daddr_t;
 27 typedef char *          __kernel_caddr_t;
 28 typedef unsigned short  __kernel_uid16_t;
 29 typedef unsigned short  __kernel_gid16_t;
 30 typedef unsigned int    __kernel_uid32_t;
 31 typedef unsigned int    __kernel_gid32_t;
 32 
 33 typedef unsigned short  __kernel_old_uid_t;
 34 typedef unsigned short  __kernel_old_gid_t;
 35 typedef unsigned short  __kernel_old_dev_t;
 36 
 37 #ifdef __GNUC__
 38 typedef long long       __kernel_loff_t;
 39 #endif
 40 
 41 typedef struct {
 42         int     val[2];
 43 } __kernel_fsid_t;
 44 
 45 #if defined(__KERNEL__)
 46 
 47 #undef  __FD_SET
 48 #define __FD_SET(fd,fdsetp)                                     \
 49         asm volatile("btsl %1,%0":                              \
 50                      "+m" (*(__kernel_fd_set *)(fdsetp))        \
 51                      : "r" ((int)(fd)))
 52 
 53 #undef  __FD_CLR
 54 #define __FD_CLR(fd,fdsetp)                                     \
 55         asm volatile("btrl %1,%0":                              \
 56                      "+m" (*(__kernel_fd_set *)(fdsetp))        \
 57                      : "r" ((int) (fd)))
 58 
 59 #undef  __FD_ISSET
 60 #define __FD_ISSET(fd,fdsetp)                                   \
 61         (__extension__                                          \
 62          ({                                                     \
 63          unsigned char __result;                                \
 64          asm volatile("btl %1,%2 ; setb %0"                     \
 65                       : "=q" (__result)                         \
 66                       : "r" ((int)(fd)),                        \
 67                         "m" (*(__kernel_fd_set *)(fdsetp)));    \
 68          __result;                                              \
 69 }))
 70 
 71 #undef  __FD_ZERO
 72 #define __FD_ZERO(fdsetp)                                       \
 73 do {                                                            \
 74         int __d0, __d1;                                         \
 75         asm volatile("cld ; rep ; stosl"                        \
 76                      : "=m" (*(__kernel_fd_set *)(fdsetp)),     \
 77                        "=&c" (__d0), "=&D" (__d1)               \
 78                      : "a" (0), "1" (__FDSET_LONGS),            \
 79                        "2" ((__kernel_fd_set *)(fdsetp))        \
 80                      : "memory");                               \
 81 } while (0)
 82 
 83 #endif /* defined(__KERNEL__) */
 84 
 85 #endif /* _ASM_X86_POSIX_TYPES_32_H */
 86 
  This page was automatically generated by the LXR engine.