44 lines
991 B
C
44 lines
991 B
C
#ifndef _LINUX_TYPES_H
|
|
#define _LINUX_TYPES_H
|
|
|
|
#include <asm/types.h>
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#include <linux/posix_types.h>
|
|
|
|
|
|
/*
|
|
* Below are truly Linux-specific types that should never collide with
|
|
* any application/library that wants linux/types.h.
|
|
*/
|
|
|
|
#ifdef __CHECKER__
|
|
#define __bitwise__ __attribute__((bitwise))
|
|
#else
|
|
#define __bitwise__
|
|
#endif
|
|
#ifdef __CHECK_ENDIAN__
|
|
#define __bitwise __bitwise__
|
|
#else
|
|
#define __bitwise
|
|
#endif
|
|
|
|
typedef __u16 __bitwise __le16;
|
|
typedef __u16 __bitwise __be16;
|
|
typedef __u32 __bitwise __le32;
|
|
typedef __u32 __bitwise __be32;
|
|
typedef __u64 __bitwise __le64;
|
|
typedef __u64 __bitwise __be64;
|
|
|
|
typedef __u16 __bitwise __sum16;
|
|
typedef __u32 __bitwise __wsum;
|
|
|
|
/* this is a special 64bit data type that is 8-byte aligned */
|
|
#define __aligned_u64 __u64 __attribute__((aligned(8)))
|
|
#define __aligned_be64 __be64 __attribute__((aligned(8)))
|
|
#define __aligned_le64 __le64 __attribute__((aligned(8)))
|
|
|
|
#endif /* __ASSEMBLY__ */
|
|
#endif /* _LINUX_TYPES_H */
|