119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifndef _JFS_COMPAT_H
319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define _JFS_COMPAT_H
419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#include "kernel-list.h"
619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#include <errno.h>
719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifdef HAVE_NETINET_IN_H
819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#include <netinet/in.h>
919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif
1019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
1119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define printk printf
1219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define KERN_ERR ""
1319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define KERN_DEBUG ""
1419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
1519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define READ 0
1619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define WRITE 1
1719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
1819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define cpu_to_be32(n) htonl(n)
1919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define be32_to_cpu(n) ntohl(n)
2019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
2119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef unsigned int tid_t;
2219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecttypedef struct journal_s journal_t;
2319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
2419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectstruct buffer_head;
2519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectstruct inode;
2619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
2719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectstruct journal_s
2819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project{
2919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	unsigned long		j_flags;
3019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	int			j_errno;
3119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	struct buffer_head *	j_sb_buffer;
3219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	struct journal_superblock_s *j_superblock;
3319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	int			j_format_version;
3419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	unsigned long		j_head;
3519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	unsigned long		j_tail;
3619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	unsigned long		j_free;
3719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	unsigned long		j_first, j_last;
3819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	kdev_t			j_dev;
3919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	kdev_t			j_fs_dev;
4019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	int			j_blocksize;
4119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	unsigned int		j_blk_offset;
4219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	unsigned int		j_maxlen;
4319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	struct inode *		j_inode;
4419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	tid_t			j_tail_sequence;
4519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	tid_t			j_transaction_sequence;
4619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	__u8			j_uuid[16];
4719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	struct jbd_revoke_table_s *j_revoke;
483984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt	tid_t			j_failed_commit;
4919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project};
5019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
5119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define J_ASSERT(assert)						\
5219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	do { if (!(assert)) {						\
5319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project		printf ("Assertion failure in %s() at %s line %d: "	\
5419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project			"\"%s\"\n",					\
5519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project			__FUNCTION__, __FILE__, __LINE__, # assert);	\
5619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project		fatal_error(e2fsck_global_ctx, 0);			\
5719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project	} } while (0)
5819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
5919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define is_journal_abort(x) 0
6019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
6119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define BUFFER_TRACE(bh, info)	do {} while (0)
6219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
6319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* Need this so we can compile with configure --enable-gcc-wall */
6419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#ifdef NO_INLINE_FUNCS
6519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#define inline
6619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif
6719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project
6819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#endif /* _JFS_COMPAT_H */
69