1/*
2 * Copyright 2017, NICTA
3 *
4 * This software may be distributed and modified according to the terms of
5 * the GNU General Public License version 2. Note that NO WARRANTY is provided.
6 * See "LICENSE_GPLv2.txt" for details.
7 *
8 * @TAG(NICTA_GPL)
9 */
10/*
11 * abstract-defns.h
12 * This file contains the abstract data type definitions that all linux kernel
13 * modules will need.
14 */
15
16#ifndef ABSTRACT_DEFNS_H_
17#define ABSTRACT_DEFNS_H_
18
19typedef int Int;
20typedef unsigned int UInt;
21typedef u8 * U8Ptr;
22
23typedef __le16 LE16;
24typedef __le32 LE32;
25typedef __le64 LE64;
26typedef __be16 BE16;
27typedef __be32 BE32;
28typedef __be64 BE64;
29
30typedef rwlock_t RWLock;
31typedef kuid_t KUID;
32typedef kgid_t KGID;
33typedef spinlock_t SpinLock;
34
35typedef struct rw_semaphore RWSemaphore;
36typedef struct mutex Mutex;
37typedef struct list_head ListHead;
38typedef struct quota DQuota;
39typedef struct buffer_head BufferHead;
40typedef struct buffer_head * BufferHeadPtr;
41typedef struct percpu_counter PerCPUCounter;
42typedef struct blockgroup_lock BlockGroupLock;
43typedef struct rb_root RBRoot;
44typedef struct mb_cache MBCache;
45typedef struct super_block VfsSuperBlock;
46typedef struct inode Inode;
47typedef struct dir_context DirContext;
48typedef struct page Page;
49typedef struct page PageBuffer;
50typedef struct address_space AddressSpace;
51
52typedef struct ubi_volume_desc UbiVolDesc;
53
54#endif  /* ABSTRACT_DEFNS_H_ */
55