160 lines
4.5 KiB
C
160 lines
4.5 KiB
C
|
|
/* Fields of VFS/FS request messages */
|
|
#define REQ_INODE_NR m6_l1
|
|
#define REQ_CHROOT_NR m6_l2
|
|
#define REQ_UID m6_s1
|
|
#define REQ_GID m6_c1
|
|
#define REQ_MODE m6_s3
|
|
#define REQ_PATH m6_p1
|
|
#define REQ_PATH_LEN m6_s2
|
|
#define REQ_FLAGS m6_l3
|
|
#define REQ_DEV m6_l3
|
|
#define REQ_WHO_E m6_l3
|
|
#define REQ_GRANT m6_l3
|
|
#define REQ_USER_ADDR m6_p2
|
|
#define REQ_LENGTH m6_l3
|
|
#define REQ_SYMLOOP m6_c2
|
|
#define REQ_COUNT m6_l2
|
|
|
|
#define REQ_NEW_UID m6_s3
|
|
#define REQ_NEW_GID m6_c2
|
|
|
|
#define REQ_INODE_INDEX m6_l3
|
|
|
|
#define REQ_ACTIME m6_l2
|
|
#define REQ_MODTIME m6_l3
|
|
|
|
#define REQ_VMNT_IND m6_c2
|
|
#define REQ_SLINK_STORAGE m6_p1
|
|
#define REQ_BOOTTIME m6_l1
|
|
#define REQ_DRIVER_E m6_l2
|
|
#define REQ_READONLY m6_c1
|
|
#define REQ_ISROOT m6_c2
|
|
|
|
#define REQ_REMOUNT m6_c2
|
|
|
|
#define REQ_LINKED_FILE m6_l1
|
|
#define REQ_LINK_PARENT m6_l2
|
|
|
|
#define REQ_OLD_DIR m6_l2
|
|
#define REQ_NEW_DIR m6_l3
|
|
#define REQ_SLENGTH m6_s3
|
|
|
|
#define REQ_PIPE_POS m6_l1
|
|
|
|
#define REQ_FD_INODE_NR m2_i1
|
|
#define REQ_FD_WHO_E m2_i2
|
|
#define REQ_FD_POS m2_i3
|
|
#define REQ_FD_NBYTES m2_l1
|
|
#define REQ_FD_SEG m2_l2
|
|
#define REQ_FD_INODE_INDEX m2_s1
|
|
|
|
#define REQ_FD_USER_ADDR m2_p1
|
|
#define REQ_FD_LENGTH m2_i2
|
|
#define REQ_FD_START m2_i2
|
|
#define REQ_FD_END m2_i3
|
|
|
|
#define REQ_FD_BDRIVER_E m2_i1
|
|
|
|
#define REQ_XFD_BDEV m2_i1
|
|
#define REQ_XFD_WHO_E m2_i2
|
|
#define REQ_XFD_NBYTES m2_i3
|
|
#define REQ_XFD_POS_LO m2_l1
|
|
#define REQ_XFD_POS_HI m2_l2
|
|
#define REQ_XFD_USER_ADDR m2_p1
|
|
#define REQ_XFD_BLOCK_SIZE m2_s1
|
|
|
|
/* For REQ_GETDENTS */
|
|
#define REQ_GDE_INODE m2_i1
|
|
#define REQ_GDE_GRANT m2_i2
|
|
#define REQ_GDE_SIZE m2_i3
|
|
#define REQ_GDE_POS m2_l1
|
|
|
|
/* Fields of VFS/FS respons messages */
|
|
#define RES_MOUNTED m6_s1
|
|
#define RES_OFFSET m6_s2
|
|
#define RES_INODE_NR m6_l1
|
|
#define RES_MODE m6_s1
|
|
#define RES_FILE_SIZE m6_l2
|
|
#define RES_DEV m6_l3
|
|
#define RES_INODE_INDEX m6_s2
|
|
#define RES_NLINKS m6_s3
|
|
#define RES_SYMLOOP m6_c1
|
|
|
|
#define RES_UID m6_s3
|
|
#define RES_GID m6_c1
|
|
#define RES_CTIME m6_l3
|
|
|
|
#define RES_FD_POS m2_i1
|
|
#define RES_FD_CUM_IO m2_i2
|
|
#define RES_FD_SIZE m2_i3
|
|
|
|
#define RES_XFD_POS_LO m2_l1
|
|
#define RES_XFD_POS_HI m2_l2
|
|
#define RES_XFD_CUM_IO m2_i1
|
|
|
|
#define RES_DIR m6_l1
|
|
#define RES_FILE m6_l2
|
|
|
|
#define RES_MAXSIZE m6_l3
|
|
#define RES_BLOCKSIZE m6_s2
|
|
|
|
/* For REQ_GETDENTS */
|
|
#define RES_GDE_POS_CHANGE m2_l1
|
|
|
|
/* Request numbers (offset in the fs callvector) */
|
|
#define REQ_GETNODE 1
|
|
#define REQ_PUTNODE 2
|
|
#define REQ_OPEN 3
|
|
#define REQ_PIPE 4
|
|
#define REQ_READ 5
|
|
#define REQ_WRITE 6
|
|
#define REQ_CLONE_OPCL 7
|
|
#define REQ_FTRUNC 8
|
|
#define REQ_CHOWN 9
|
|
#define REQ_CHMOD 10
|
|
#define REQ_ACCESS 11
|
|
#define REQ_MKNOD 12
|
|
#define REQ_MKDIR 13
|
|
#define REQ_INHIBREAD 14
|
|
#define REQ_STAT 15
|
|
|
|
#define REQ_CREATE 16
|
|
|
|
#define REQ_UNLINK 17
|
|
#define REQ_RMDIR 18
|
|
#define REQ_UTIME 19
|
|
|
|
#define REQ_FSTATFS 21
|
|
|
|
#define REQ_LINK 25
|
|
|
|
#define REQ_SLINK 26
|
|
#define REQ_RDLINK 27
|
|
|
|
#define REQ_RENAME 28
|
|
|
|
#define REQ_MOUNTPOINT 30
|
|
#define REQ_READSUPER 31
|
|
#define REQ_UNMOUNT 32
|
|
#define REQ_TRUNC 33
|
|
#define REQ_SYNC 34
|
|
|
|
#define REQ_LOOKUP 35
|
|
#define REQ_STIME 36
|
|
#define REQ_NEW_DRIVER 37
|
|
|
|
#define REQ_BREAD 38
|
|
#define REQ_BWRITE 39
|
|
#define REQ_GETDENTS 40
|
|
#define REQ_FLUSH 41
|
|
|
|
#define NREQS 42
|
|
|
|
#define FS_READY 57
|
|
|
|
#define EENTERMOUNT 301
|
|
#define ELEAVEMOUNT 302
|
|
#define ESYMLINK 303
|
|
|