xref: /minix3/minix/lib/libvtreefs/proto.h (revision eda6f5931d42c77e1480347b1fc3eef2f8d33806)
1 #ifndef _VTREEFS_PROTO_H
2 #define _VTREEFS_PROTO_H
3 
4 /* inode.c */
5 void init_inodes(unsigned int inodes, struct inode_stat *stat, index_t
6 	nr_indexed_entries);
7 void cleanup_inodes(void);
8 struct inode *find_inode(ino_t num);
9 struct inode *get_inode(ino_t num);
10 void put_inode(struct inode *node);
11 void ref_inode(struct inode *node);
12 int get_inode_number(struct inode *node);
13 int is_inode_deleted(struct inode *node);
14 int fs_putnode(ino_t ino_nr, unsigned int count);
15 
16 /* link.c */
17 ssize_t fs_rdlink(ino_t ino_nr, struct fsdriver_data *data, size_t bytes);
18 
19 /* mount.c */
20 int fs_mount(dev_t dev, unsigned int flags, struct fsdriver_node *root_node,
21 	unsigned int *res_flags);
22 void fs_unmount(void);
23 
24 /* main.c */
25 void fs_other(const message *m_ptr, int ipc_status);
26 
27 /* path.c */
28 int fs_lookup(ino_t dir_nr, char *name, struct fsdriver_node *node,
29 	int *is_mountpt);
30 
31 /* read.c */
32 ssize_t fs_read(ino_t ino_nr, struct fsdriver_data *data, size_t bytes,
33 	off_t pos, int call);
34 ssize_t fs_getdents(ino_t ino_nr, struct fsdriver_data *data, size_t bytes,
35 	off_t *pos);
36 
37 /* sdbm.c */
38 long sdbm_hash(char *str, int len);
39 
40 /* stadir.c */
41 int fs_stat(ino_t ino_nr, struct stat *buf);
42 int fs_statvfs(struct statvfs *buf);
43 
44 #endif /* _VTREEFS_PROTO_H */
45