linux-bk/include/linux/types.h
<<
>>
Prefs
   1#ifndef _LINUX_TYPES_H
   2#define _LINUX_TYPES_H
   3
   4#ifdef  __KERNEL__
   5#include <linux/config.h>
   6
   7#define bitmap_member(name,bits) \
   8        unsigned long name[((bits)+BITS_PER_LONG-1)/BITS_PER_LONG]
   9#endif
  10
  11#include <linux/posix_types.h>
  12#include <asm/types.h>
  13
  14#ifndef __KERNEL_STRICT_NAMES
  15
  16typedef __kernel_fd_set         fd_set;
  17typedef __kernel_dev_t          dev_t;
  18typedef __kernel_ino_t          ino_t;
  19typedef __kernel_mode_t         mode_t;
  20typedef __kernel_nlink_t        nlink_t;
  21typedef __kernel_off_t          off_t;
  22typedef __kernel_pid_t          pid_t;
  23typedef __kernel_daddr_t        daddr_t;
  24typedef __kernel_key_t          key_t;
  25typedef __kernel_suseconds_t    suseconds_t;
  26
  27#ifdef __KERNEL__
  28typedef __kernel_uid32_t        uid_t;
  29typedef __kernel_gid32_t        gid_t;
  30typedef __kernel_uid16_t        uid16_t;
  31typedef __kernel_gid16_t        gid16_t;
  32
  33#ifdef CONFIG_UID16
  34/* This is defined by include/asm-{arch}/posix_types.h */
  35typedef __kernel_old_uid_t      old_uid_t;
  36typedef __kernel_old_gid_t      old_gid_t;
  37#endif /* CONFIG_UID16 */
  38
  39/* libc5 includes this file to define uid_t, thus uid_t can never change
  40 * when it is included by non-kernel code
  41 */
  42#else
  43typedef __kernel_uid_t          uid_t;
  44typedef __kernel_gid_t          gid_t;
  45#endif /* __KERNEL__ */
  46
  47#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
  48typedef __kernel_loff_t         loff_t;
  49#endif
  50
  51/*
  52 * The following typedefs are also protected by individual ifdefs for
  53 * historical reasons:
  54 */
  55#ifndef _SIZE_T
  56#define _SIZE_T
  57typedef __kernel_size_t         size_t;
  58#endif
  59
  60#ifndef _SSIZE_T
  61#define _SSIZE_T
  62typedef __kernel_ssize_t        ssize_t;
  63#endif
  64
  65#ifndef _PTRDIFF_T
  66#define _PTRDIFF_T
  67typedef __kernel_ptrdiff_t      ptrdiff_t;
  68#endif
  69
  70#ifndef _TIME_T
  71#define _TIME_T
  72typedef __kernel_time_t         time_t;
  73#endif
  74
  75#ifndef _CLOCK_T
  76#define _CLOCK_T
  77typedef __kernel_clock_t        clock_t;
  78#endif
  79
  80#ifndef _CADDR_T
  81#define _CADDR_T
  82typedef __kernel_caddr_t        caddr_t;
  83#endif
  84
  85/* bsd */
  86typedef unsigned char           u_char;
  87typedef unsigned short          u_short;
  88typedef unsigned int            u_int;
  89typedef unsigned long           u_long;
  90
  91/* sysv */
  92typedef unsigned char           unchar;
  93typedef unsigned short          ushort;
  94typedef unsigned int            uint;
  95typedef unsigned long           ulong;
  96
  97#ifndef __BIT_TYPES_DEFINED__
  98#define __BIT_TYPES_DEFINED__
  99
 100typedef         __u8            u_int8_t;
 101typedef         __s8            int8_t;
 102typedef         __u16           u_int16_t;
 103typedef         __s16           int16_t;
 104typedef         __u32           u_int32_t;
 105typedef         __s32           int32_t;
 106
 107#endif /* !(__BIT_TYPES_DEFINED__) */
 108
 109typedef         __u8            uint8_t;
 110typedef         __u16           uint16_t;
 111typedef         __u32           uint32_t;
 112
 113#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 114typedef         __u64           uint64_t;
 115typedef         __u64           u_int64_t;
 116typedef         __s64           int64_t;
 117#endif
 118
 119/*
 120 * transition to 64-bit sector_t, possibly making it an option...
 121 */
 122#undef BLK_64BIT_SECTOR
 123
 124#ifdef BLK_64BIT_SECTOR
 125typedef u64 sector_t;
 126#else
 127typedef unsigned long sector_t;
 128#endif
 129
 130/*
 131 * The type of an index into the pagecache.  Use a #define so asm/types.h
 132 * can override it.
 133 */
 134#ifndef pgoff_t
 135#define pgoff_t unsigned long
 136#endif
 137
 138#endif /* __KERNEL_STRICT_NAMES */
 139
 140/*
 141 * Below are truly Linux-specific types that should never collide with
 142 * any application/library that wants linux/types.h.
 143 */
 144
 145struct ustat {
 146        __kernel_daddr_t        f_tfree;
 147        __kernel_ino_t          f_tinode;
 148        char                    f_fname[6];
 149        char                    f_fpack[6];
 150};
 151
 152#endif /* _LINUX_TYPES_H */
 153
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.