xref: /linux/fs/qnx4/qnx4.h (revision 3d0fe49454652117522f60bfbefb978ba0e5300b)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #include <linux/fs.h>
3 #include <linux/qnx4_fs.h>
4 
5 #define QNX4_DEBUG 0
6 
7 #if QNX4_DEBUG
8 #define QNX4DEBUG(X) printk X
9 #else
10 #define QNX4DEBUG(X) (void) 0
11 #endif
12 
13 struct qnx4_sb_info {
14 	unsigned int		Version;	/* may be useful */
15 	struct qnx4_inode_entry	*BitMap;	/* useful */
16 };
17 
18 struct qnx4_inode_info {
19 	struct qnx4_inode_entry raw;
20 	loff_t mmu_private;
21 	struct inode vfs_inode;
22 };
23 
24 extern struct inode *qnx4_iget(struct super_block *, unsigned long);
25 extern struct dentry *qnx4_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags);
26 extern unsigned long qnx4_count_free_blocks(struct super_block *sb);
27 extern unsigned long qnx4_block_map(struct inode *inode, long iblock);
28 
29 extern const struct inode_operations qnx4_dir_inode_operations;
30 extern const struct file_operations qnx4_dir_operations;
31 extern int qnx4_is_free(struct super_block *sb, long block);
32 
33 static inline struct qnx4_sb_info *qnx4_sb(struct super_block *sb)
34 {
35 	return sb->s_fs_info;
36 }
37 
38 static inline struct qnx4_inode_info *qnx4_i(struct inode *inode)
39 {
40 	return container_of(inode, struct qnx4_inode_info, vfs_inode);
41 }
42 
43 static inline struct qnx4_inode_entry *qnx4_raw_inode(struct inode *inode)
44 {
45 	return &qnx4_i(inode)->raw;
46 }
47