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