xref: /minix3/minix/lib/libfsdriver/fsdriver.h (revision 289b04677a1b234d09a045a727f5e614a6c8d716)
189c9de7dSDavid van Moolenbroek #ifndef _LIBFSDRIVER_FSDRIVER_H
289c9de7dSDavid van Moolenbroek #define _LIBFSDRIVER_FSDRIVER_H
389c9de7dSDavid van Moolenbroek 
489c9de7dSDavid van Moolenbroek #include <minix/drivers.h>
589c9de7dSDavid van Moolenbroek #include <minix/fsdriver.h>
689c9de7dSDavid van Moolenbroek #include <minix/vfsif.h>
789c9de7dSDavid van Moolenbroek 
889c9de7dSDavid van Moolenbroek #define ROOT_UID	0	/* user ID of superuser */
989c9de7dSDavid van Moolenbroek 
1089c9de7dSDavid van Moolenbroek extern int fsdriver_putnode(const struct fsdriver * __restrict,
1189c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
1289c9de7dSDavid van Moolenbroek extern int fsdriver_slink(const struct fsdriver * __restrict,
1389c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
1489c9de7dSDavid van Moolenbroek extern int fsdriver_trunc(const struct fsdriver * __restrict,
1589c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
1689c9de7dSDavid van Moolenbroek extern int fsdriver_chown(const struct fsdriver * __restrict,
1789c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
1889c9de7dSDavid van Moolenbroek extern int fsdriver_chmod(const struct fsdriver * __restrict,
1989c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
2089c9de7dSDavid van Moolenbroek extern int fsdriver_inhibread(const struct fsdriver * __restrict,
2189c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
2289c9de7dSDavid van Moolenbroek extern int fsdriver_stat(const struct fsdriver * __restrict,
2389c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
2489c9de7dSDavid van Moolenbroek extern int fsdriver_utime(const struct fsdriver * __restrict,
2589c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
2689c9de7dSDavid van Moolenbroek extern int fsdriver_statvfs(const struct fsdriver * __restrict,
2789c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
2889c9de7dSDavid van Moolenbroek extern int fsdriver_bread(const struct fsdriver * __restrict,
2989c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
3089c9de7dSDavid van Moolenbroek extern int fsdriver_bwrite(const struct fsdriver * __restrict,
3189c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
3289c9de7dSDavid van Moolenbroek extern int fsdriver_unlink(const struct fsdriver * __restrict,
3389c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
3489c9de7dSDavid van Moolenbroek extern int fsdriver_rmdir(const struct fsdriver * __restrict,
3589c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
3689c9de7dSDavid van Moolenbroek extern int fsdriver_unmount(const struct fsdriver * __restrict,
3789c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
3889c9de7dSDavid van Moolenbroek extern int fsdriver_sync(const struct fsdriver * __restrict,
3989c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
4089c9de7dSDavid van Moolenbroek extern int fsdriver_newdriver(const struct fsdriver * __restrict,
4189c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
4289c9de7dSDavid van Moolenbroek extern int fsdriver_flush(const struct fsdriver * __restrict,
4389c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
4489c9de7dSDavid van Moolenbroek extern int fsdriver_read(const struct fsdriver * __restrict,
4589c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
4689c9de7dSDavid van Moolenbroek extern int fsdriver_write(const struct fsdriver * __restrict,
4789c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
4889c9de7dSDavid van Moolenbroek extern int fsdriver_mknod(const struct fsdriver * __restrict,
4989c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
5089c9de7dSDavid van Moolenbroek extern int fsdriver_mkdir(const struct fsdriver * __restrict,
5189c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
5289c9de7dSDavid van Moolenbroek extern int fsdriver_create(const struct fsdriver * __restrict,
5389c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
5489c9de7dSDavid van Moolenbroek extern int fsdriver_link(const struct fsdriver * __restrict,
5589c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
5689c9de7dSDavid van Moolenbroek extern int fsdriver_rename(const struct fsdriver * __restrict,
5789c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
5889c9de7dSDavid van Moolenbroek extern int fsdriver_lookup(const struct fsdriver * __restrict,
5989c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
6089c9de7dSDavid van Moolenbroek extern int fsdriver_mountpoint(const struct fsdriver * __restrict,
6189c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
6289c9de7dSDavid van Moolenbroek extern int fsdriver_readsuper(const struct fsdriver * __restrict,
6389c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
6489c9de7dSDavid van Moolenbroek extern int fsdriver_newnode(const struct fsdriver * __restrict,
6589c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
6689c9de7dSDavid van Moolenbroek extern int fsdriver_rdlink(const struct fsdriver * __restrict,
6789c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
6889c9de7dSDavid van Moolenbroek extern int fsdriver_getdents(const struct fsdriver * __restrict,
6989c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
7089c9de7dSDavid van Moolenbroek extern int fsdriver_peek(const struct fsdriver * __restrict,
7189c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
7289c9de7dSDavid van Moolenbroek extern int fsdriver_bpeek(const struct fsdriver * __restrict,
7389c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
7489c9de7dSDavid van Moolenbroek 
7589c9de7dSDavid van Moolenbroek extern int fsdriver_getname(endpoint_t endpt, cp_grant_id_t grant, size_t len,
7689c9de7dSDavid van Moolenbroek 	char *name, size_t size, int not_empty);
7789c9de7dSDavid van Moolenbroek 
78*289b0467SDavid van Moolenbroek extern dev_t fsdriver_device;
7989c9de7dSDavid van Moolenbroek extern ino_t fsdriver_root;
8089c9de7dSDavid van Moolenbroek extern int fsdriver_mounted;
8189c9de7dSDavid van Moolenbroek extern int (*fsdriver_callvec[])(const struct fsdriver * __restrict,
8289c9de7dSDavid van Moolenbroek 	const message * __restrict, message * __restrict);
8389c9de7dSDavid van Moolenbroek 
8489c9de7dSDavid van Moolenbroek #endif /* !_LIBFSDRIVER_FSDRIVER_H */
85