xref: /openbmc/linux/fs/qnx4/qnx4.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2964f5369SAl Viro #include <linux/fs.h>
3964f5369SAl Viro #include <linux/qnx4_fs.h>
4964f5369SAl Viro 
5964f5369SAl Viro #define QNX4_DEBUG 0
6964f5369SAl Viro 
7964f5369SAl Viro #if QNX4_DEBUG
8964f5369SAl Viro #define QNX4DEBUG(X) printk X
9964f5369SAl Viro #else
10964f5369SAl Viro #define QNX4DEBUG(X) (void) 0
11964f5369SAl Viro #endif
12964f5369SAl Viro 
13964f5369SAl Viro struct qnx4_sb_info {
14964f5369SAl Viro 	unsigned int		Version;	/* may be useful */
15964f5369SAl Viro 	struct qnx4_inode_entry	*BitMap;	/* useful */
16964f5369SAl Viro };
17964f5369SAl Viro 
18964f5369SAl Viro struct qnx4_inode_info {
19964f5369SAl Viro 	struct qnx4_inode_entry raw;
20964f5369SAl Viro 	loff_t mmu_private;
21964f5369SAl Viro 	struct inode vfs_inode;
22964f5369SAl Viro };
23964f5369SAl Viro 
24964f5369SAl Viro extern struct inode *qnx4_iget(struct super_block *, unsigned long);
2500cd8dd3SAl Viro extern struct dentry *qnx4_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags);
26964f5369SAl Viro extern unsigned long qnx4_count_free_blocks(struct super_block *sb);
27964f5369SAl Viro extern unsigned long qnx4_block_map(struct inode *inode, long iblock);
28964f5369SAl Viro 
29964f5369SAl Viro extern const struct inode_operations qnx4_dir_inode_operations;
30964f5369SAl Viro extern const struct file_operations qnx4_dir_operations;
31964f5369SAl Viro extern int qnx4_is_free(struct super_block *sb, long block);
32964f5369SAl Viro 
qnx4_sb(struct super_block * sb)33964f5369SAl Viro static inline struct qnx4_sb_info *qnx4_sb(struct super_block *sb)
34964f5369SAl Viro {
35964f5369SAl Viro 	return sb->s_fs_info;
36964f5369SAl Viro }
37964f5369SAl Viro 
qnx4_i(struct inode * inode)38964f5369SAl Viro static inline struct qnx4_inode_info *qnx4_i(struct inode *inode)
39964f5369SAl Viro {
40964f5369SAl Viro 	return container_of(inode, struct qnx4_inode_info, vfs_inode);
41964f5369SAl Viro }
42964f5369SAl Viro 
qnx4_raw_inode(struct inode * inode)43964f5369SAl Viro static inline struct qnx4_inode_entry *qnx4_raw_inode(struct inode *inode)
44964f5369SAl Viro {
45964f5369SAl Viro 	return &qnx4_i(inode)->raw;
46964f5369SAl Viro }
47