1
2 #ifndef _JFS_COMPAT_H
3 #define _JFS_COMPAT_H
4
5 #include "kernel-list.h"
6 #include <errno.h>
7 #ifdef HAVE_NETINET_IN_H
8 #include <netinet/in.h>
9 #endif
10 #ifdef HAVE_WINSOCK_H
11 #include <winsock.h>
12 #else
13 #include <arpa/inet.h>
14 #endif
15 #include <stdbool.h>
16
17 #define printk printf
18 #define KERN_ERR ""
19 #define KERN_DEBUG ""
20
21 #define REQ_OP_READ 0
22 #define REQ_OP_WRITE 1
23
24 #define cpu_to_le16(x) ext2fs_cpu_to_le16(x)
25 #define cpu_to_be16(x) ext2fs_cpu_to_be16(x)
26 #define cpu_to_le32(x) ext2fs_cpu_to_le32(x)
27 #define cpu_to_be32(x) ext2fs_cpu_to_be32(x)
28 #define cpu_to_le64(x) ext2fs_cpu_to_le64(x)
29 #define cpu_to_be64(x) ext2fs_cpu_to_be64(x)
30
31 #define le16_to_cpu(x) ext2fs_le16_to_cpu(x)
32 #define be16_to_cpu(x) ext2fs_be16_to_cpu(x)
33 #define le32_to_cpu(x) ext2fs_le32_to_cpu(x)
34 #define be32_to_cpu(x) ext2fs_be32_to_cpu(x)
35 #define le64_to_cpu(x) ext2fs_le64_to_cpu(x)
36 #define be64_to_cpu(x) ext2fs_be64_to_cpu(x)
37
38 typedef unsigned int tid_t;
39 typedef struct journal_s journal_t;
40 typedef struct kdev_s *kdev_t;
41
42 struct buffer_head;
43 struct inode;
44
45 typedef unsigned int gfp_t;
46 #define GFP_KERNEL 0
47 #define GFP_NOFS 0
48 #define __GFP_NOFAIL 0
49 #define JBD2_TAG_SIZE32 JBD_TAG_SIZE32
50 #define JBD2_BARRIER 0
51 typedef __u64 u64;
52 #define put_bh(x) brelse(x)
53
jbd2_chksum(journal_t * j EXT2FS_ATTR ((unused)),__u32 crc,const void * address,unsigned int length)54 static inline __u32 jbd2_chksum(journal_t *j EXT2FS_ATTR((unused)),
55 __u32 crc, const void *address,
56 unsigned int length)
57 {
58 return ext2fs_crc32c_le(crc, address, length);
59 }
60 #define crc32_be(x, y, z) ext2fs_crc32_be((x), (y), (z))
61 #define spin_lock_init(x)
62 #define spin_lock(x)
63 #define spin_unlock(x)
64 #define SLAB_HWCACHE_ALIGN 0
65 #define SLAB_TEMPORARY 0
66 #define KMEM_CACHE(__struct, __flags) kmem_cache_create(#__struct,\
67 sizeof(struct __struct), __alignof__(struct __struct),\
68 (__flags), NULL)
69
70 #define blkdev_issue_flush(kdev) sync_blockdev(kdev)
71 #define is_power_of_2(x) ((x) != 0 && (((x) & ((x) - 1)) == 0))
72 #define pr_emerg(fmt)
73 #define pr_err(...)
74
75 enum passtype {PASS_SCAN, PASS_REVOKE, PASS_REPLAY};
76
77 #define JBD2_FC_REPLAY_STOP 0
78 #define JBD2_FC_REPLAY_CONTINUE 1
79
80 struct journal_s
81 {
82 unsigned long j_flags;
83 int j_errno;
84 struct buffer_head * j_sb_buffer;
85 struct journal_superblock_s *j_superblock;
86 int j_format_version;
87 unsigned long j_head;
88 unsigned long j_tail;
89 unsigned long j_fc_first;
90 unsigned long j_fc_off;
91 unsigned long j_fc_last;
92 unsigned long j_free;
93 unsigned long j_first, j_last;
94 kdev_t j_dev;
95 kdev_t j_fs_dev;
96 int j_blocksize;
97 unsigned int j_blk_offset;
98 unsigned int j_total_len;
99 struct inode * j_inode;
100 tid_t j_tail_sequence;
101 tid_t j_transaction_sequence;
102 __u8 j_uuid[16];
103 struct jbd2_revoke_table_s *j_revoke;
104 struct jbd2_revoke_table_s *j_revoke_table[2];
105 tid_t j_failed_commit;
106 __u32 j_csum_seed;
107 int (*j_fc_replay_callback)(struct journal_s *journal,
108 struct buffer_head *bh,
109 enum passtype pass, int off,
110 tid_t expected_tid);
111
112 };
113
114 #define is_journal_abort(x) 0
115
116 #define BUFFER_TRACE(bh, info) do {} while (0)
117
118 /* Need this so we can compile with configure --enable-gcc-wall */
119 #ifdef NO_INLINE_FUNCS
120 #define inline
121 #endif
122
123 #endif /* _JFS_COMPAT_H */
124