1/* 2 * asm-generic/int-l64.h 3 * 4 * Integer declarations for architectures which use "long" 5 * for 64-bit types. 6 */ 7 8#ifndef _ASM_GENERIC_INT_L64_H 9#define _ASM_GENERIC_INT_L64_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 28typedef __signed__ long __s64; 29typedef unsigned long __u64; 30 31#endif /* __ASSEMBLY__ */ 32 33#ifdef __KERNEL__ 34 35#ifndef __ASSEMBLY__ 36 37typedef signed char s8; 38typedef unsigned char u8; 39 40typedef signed short s16; 41typedef unsigned short u16; 42 43typedef signed int s32; 44typedef unsigned int u32; 45 46typedef signed long s64; 47typedef unsigned long u64; 48 49#define S8_C(x) x 50#define U8_C(x) x ## U 51#define S16_C(x) x 52#define U16_C(x) x ## U 53#define S32_C(x) x 54#define U32_C(x) x ## U 55#define S64_C(x) x ## L 56#define U64_C(x) x ## UL 57 58#else /* __ASSEMBLY__ */ 59 60#define S8_C(x) x 61#define U8_C(x) x 62#define S16_C(x) x 63#define U16_C(x) x 64#define S32_C(x) x 65#define U32_C(x) x 66#define S64_C(x) x 67#define U64_C(x) x 68 69#endif /* __ASSEMBLY__ */ 70 71#endif /* __KERNEL__ */ 72 73#endif /* _ASM_GENERIC_INT_L64_H */ 74