1/* Public domain. */
2
3#ifndef _LINUX_TYPES_H
4#define _LINUX_TYPES_H
5
6#include <sys/types.h>
7#include <sys/stdint.h>
8/*
9 * sparc64 bus.h needs _null.h (indirect via param.h)
10 * sparc64 busop.h needs machine/ctlreg.h (indirect via param.h)
11 */
12#include <sys/param.h>
13#include <machine/bus.h>
14
15typedef int8_t   __s8;
16typedef uint8_t  __u8;
17typedef int16_t  __s16;
18typedef uint16_t __u16;
19typedef int32_t  __s32;
20typedef uint32_t __u32;
21typedef int64_t  __s64;
22typedef uint64_t __u64;
23
24typedef int8_t   s8;
25typedef uint8_t  u8;
26typedef int16_t  s16;
27typedef uint16_t u16;
28typedef int32_t  s32;
29typedef uint32_t u32;
30typedef int64_t  s64;
31typedef uint64_t u64;
32
33typedef uint16_t __le16;
34typedef uint16_t __be16;
35typedef uint32_t __le32;
36typedef uint32_t __be32;
37typedef uint64_t __le64;
38typedef uint64_t __be64;
39
40typedef uint64_t dma_addr_t;
41typedef paddr_t phys_addr_t;
42typedef paddr_t resource_size_t;
43
44typedef off_t loff_t;
45
46typedef __ptrdiff_t ptrdiff_t;
47
48typedef unsigned int gfp_t;
49
50typedef unsigned long pgoff_t;
51typedef int pgprot_t;
52
53typedef int atomic_t;
54
55struct list_head {
56	struct list_head *next, *prev;
57};
58
59struct hlist_node {
60	struct hlist_node *next, **prev;
61};
62
63struct hlist_head {
64	struct hlist_node *first;
65};
66
67#define DECLARE_BITMAP(x, y)	unsigned long x[BITS_TO_LONGS(y)];
68
69#define LINUX_PAGE_MASK		(~PAGE_MASK)
70
71#endif /* _LINUX_TYPES_H_ */
72