
- move primary I/O buffer into vtreefs; change read hook API; - add hooks for write, truncate, symlink, mknod, unlink, chmod/chown; - modernize message_hook; - change procfs, devman, gpio accordingly; Change-Id: I9f0669e41195efa3253032e95d93f0a78e9d68d6
57 lines
1.8 KiB
C
57 lines
1.8 KiB
C
#ifndef _VTREEFS_PROTO_H
|
|
#define _VTREEFS_PROTO_H
|
|
|
|
/* file.c */
|
|
int init_buf(size_t size);
|
|
void cleanup_buf(void);
|
|
ssize_t fs_read(ino_t ino_nr, struct fsdriver_data *data, size_t bytes,
|
|
off_t pos, int call);
|
|
ssize_t fs_write(ino_t ino_nr, struct fsdriver_data *data, size_t bytes,
|
|
off_t pos, int call);
|
|
int fs_trunc(ino_t ino_nr, off_t start_pos, off_t end_pos);
|
|
ssize_t fs_getdents(ino_t ino_nr, struct fsdriver_data *data, size_t bytes,
|
|
off_t *pos);
|
|
|
|
/* inode.c */
|
|
int init_inodes(unsigned int inodes, struct inode_stat *stat,
|
|
index_t nr_indexed_entries);
|
|
void cleanup_inodes(void);
|
|
struct inode *find_inode(ino_t num);
|
|
struct inode *get_inode(ino_t num);
|
|
void put_inode(struct inode *node);
|
|
void ref_inode(struct inode *node);
|
|
int get_inode_number(const struct inode *node);
|
|
int is_inode_deleted(const struct inode *node);
|
|
int fs_putnode(ino_t ino_nr, unsigned int count);
|
|
|
|
/* link.c */
|
|
ssize_t fs_rdlink(ino_t ino_nr, struct fsdriver_data *data, size_t bytes);
|
|
int fs_slink(ino_t dir_nr, char *name, uid_t uid, gid_t gid,
|
|
struct fsdriver_data *data, size_t bytes);
|
|
int fs_mknod(ino_t dir_nr, char *name, mode_t mode, uid_t uid, gid_t gid,
|
|
dev_t rdev);
|
|
int fs_unlink(ino_t dir_nr, char *name, int call);
|
|
|
|
/* mount.c */
|
|
int fs_mount(dev_t dev, unsigned int flags, struct fsdriver_node *root_node,
|
|
unsigned int *res_flags);
|
|
void fs_unmount(void);
|
|
|
|
/* main.c */
|
|
void fs_other(const message *m_ptr, int ipc_status);
|
|
|
|
/* path.c */
|
|
int fs_lookup(ino_t dir_nr, char *name, struct fsdriver_node *node,
|
|
int *is_mountpt);
|
|
|
|
/* sdbm.c */
|
|
long sdbm_hash(const char *str, int len);
|
|
|
|
/* stadir.c */
|
|
int fs_stat(ino_t ino_nr, struct stat *buf);
|
|
int fs_chmod(ino_t ino_nr, mode_t *mode);
|
|
int fs_chown(ino_t ino_nr, uid_t uid, gid_t gid, mode_t *mode);
|
|
int fs_statvfs(struct statvfs *buf);
|
|
|
|
#endif /* _VTREEFS_PROTO_H */
|