xref: /minix3/minix/lib/libfsdriver/table.c (revision 89c9de7d091f384bd4337bd6775fb15c93b8e8c6)
1*89c9de7dSDavid van Moolenbroek 
2*89c9de7dSDavid van Moolenbroek #include "fsdriver.h"
3*89c9de7dSDavid van Moolenbroek 
4*89c9de7dSDavid van Moolenbroek #define CALL(n) [((n) - FS_BASE)]
5*89c9de7dSDavid van Moolenbroek 
6*89c9de7dSDavid van Moolenbroek int (*fsdriver_callvec[NREQS])(const struct fsdriver * __restrict,
7*89c9de7dSDavid van Moolenbroek     const message * __restrict, message * __restrict) = {
8*89c9de7dSDavid van Moolenbroek 	CALL(REQ_PUTNODE)	= fsdriver_putnode,
9*89c9de7dSDavid van Moolenbroek 	CALL(REQ_SLINK)		= fsdriver_slink,
10*89c9de7dSDavid van Moolenbroek 	CALL(REQ_FTRUNC)	= fsdriver_trunc,
11*89c9de7dSDavid van Moolenbroek 	CALL(REQ_CHOWN)		= fsdriver_chown,
12*89c9de7dSDavid van Moolenbroek 	CALL(REQ_CHMOD)		= fsdriver_chmod,
13*89c9de7dSDavid van Moolenbroek 	CALL(REQ_INHIBREAD)	= fsdriver_inhibread,
14*89c9de7dSDavid van Moolenbroek 	CALL(REQ_STAT)		= fsdriver_stat,
15*89c9de7dSDavid van Moolenbroek 	CALL(REQ_UTIME)		= fsdriver_utime,
16*89c9de7dSDavid van Moolenbroek 	CALL(REQ_STATVFS)	= fsdriver_statvfs,
17*89c9de7dSDavid van Moolenbroek 	CALL(REQ_BREAD)		= fsdriver_bread,
18*89c9de7dSDavid van Moolenbroek 	CALL(REQ_BWRITE)	= fsdriver_bwrite,
19*89c9de7dSDavid van Moolenbroek 	CALL(REQ_UNLINK)	= fsdriver_unlink,
20*89c9de7dSDavid van Moolenbroek 	CALL(REQ_RMDIR)		= fsdriver_rmdir,
21*89c9de7dSDavid van Moolenbroek 	CALL(REQ_UNMOUNT)	= fsdriver_unmount,
22*89c9de7dSDavid van Moolenbroek 	CALL(REQ_SYNC)		= fsdriver_sync,
23*89c9de7dSDavid van Moolenbroek 	CALL(REQ_NEW_DRIVER)	= fsdriver_newdriver,
24*89c9de7dSDavid van Moolenbroek 	CALL(REQ_FLUSH)		= fsdriver_flush,
25*89c9de7dSDavid van Moolenbroek 	CALL(REQ_READ)		= fsdriver_read,
26*89c9de7dSDavid van Moolenbroek 	CALL(REQ_WRITE)		= fsdriver_write,
27*89c9de7dSDavid van Moolenbroek 	CALL(REQ_MKNOD)		= fsdriver_mknod,
28*89c9de7dSDavid van Moolenbroek 	CALL(REQ_MKDIR)		= fsdriver_mkdir,
29*89c9de7dSDavid van Moolenbroek 	CALL(REQ_CREATE)	= fsdriver_create,
30*89c9de7dSDavid van Moolenbroek 	CALL(REQ_LINK)		= fsdriver_link,
31*89c9de7dSDavid van Moolenbroek 	CALL(REQ_RENAME)	= fsdriver_rename,
32*89c9de7dSDavid van Moolenbroek 	CALL(REQ_LOOKUP)	= fsdriver_lookup,
33*89c9de7dSDavid van Moolenbroek 	CALL(REQ_MOUNTPOINT)	= fsdriver_mountpoint,
34*89c9de7dSDavid van Moolenbroek 	CALL(REQ_READSUPER)	= fsdriver_readsuper,
35*89c9de7dSDavid van Moolenbroek 	CALL(REQ_NEWNODE)	= fsdriver_newnode,
36*89c9de7dSDavid van Moolenbroek 	CALL(REQ_RDLINK)	= fsdriver_rdlink,
37*89c9de7dSDavid van Moolenbroek 	CALL(REQ_GETDENTS)	= fsdriver_getdents,
38*89c9de7dSDavid van Moolenbroek 	CALL(REQ_PEEK)		= fsdriver_peek,
39*89c9de7dSDavid van Moolenbroek 	CALL(REQ_BPEEK)		= fsdriver_bpeek
40*89c9de7dSDavid van Moolenbroek };
41