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