linux/include/asm-generic/int-ll64.h
<<
>>
Prefs
   1/*
   2 * asm-generic/int-ll64.h
   3 *
   4 * Integer declarations for architectures which use "long long"
   5 * for 64-bit types.
   6 */
   7
   8#ifndef _ASM_GENERIC_INT_LL64_H
   9#define _ASM_GENERIC_INT_LL64_H
  10
  11#include <asm/bitsperlong.h>
  12
  13#ifndef __ASSEMBLY__
  14/*
  15 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
  16 * header files exported to user space
  17 */
  18
  19typedef __signed__ char __s8;
  20typedef unsigned char __u8;
  21
  22typedef __signed__ short __s16;
  23typedef unsigned short __u16;
  24
  25typedef __signed__ int __s32;
  26typedef unsigned int __u32;
  27
  28#ifdef __GNUC__
  29__extension__ typedef __signed__ long long __s64;
  30__extension__ typedef unsigned long long __u64;
  31#else
  32typedef __signed__ long long __s64;
  33typedef unsigned long long __u64;
  34#endif
  35
  36#endif /* __ASSEMBLY__ */
  37
  38#ifdef __KERNEL__
  39
  40#ifndef __ASSEMBLY__
  41
  42typedef signed char s8;
  43typedef unsigned char u8;
  44
  45typedef signed short s16;
  46typedef unsigned short u16;
  47
  48typedef signed int s32;
  49typedef unsigned int u32;
  50
  51typedef signed long long s64;
  52typedef unsigned long long u64;
  53
  54#define S8_C(x)  x
  55#define U8_C(x)  x ## U
  56#define S16_C(x) x
  57#define U16_C(x) x ## U
  58#define S32_C(x) x
  59#define U32_C(x) x ## U
  60#define S64_C(x) x ## LL
  61#define U64_C(x) x ## ULL
  62
  63#else /* __ASSEMBLY__ */
  64
  65#define S8_C(x)  x
  66#define U8_C(x)  x
  67#define S16_C(x) x
  68#define U16_C(x) x
  69#define S32_C(x) x
  70#define U32_C(x) x
  71#define S64_C(x) x
  72#define U64_C(x) x
  73
  74#endif /* __ASSEMBLY__ */
  75
  76#endif /* __KERNEL__ */
  77
  78#endif /* _ASM_GENERIC_INT_LL64_H */
  79