00001 #ifndef __MINIX_VFSIF_H
00002 #define __MINIX_VFSIF_H
00003
00004 #include <sys/types.h>
00005 #include <limits.h>
00006
00007
00008 #define REQ_ACTIME m9_l2
00009 #define REQ_COUNT m9_l2
00010 #define REQ_DEV m9_l5
00011 #define REQ_DEV2 m9_l1
00012 #define REQ_DIR_INO m9_l3
00013 #define REQ_DRIVER_E m9_l2
00014 #define REQ_FLAGS m9_s3
00015 #define REQ_GID m9_s1
00016 #define REQ_GRANT m9_l2
00017 #define REQ_GRANT2 m9_l1
00018 #define REQ_GRANT3 m9_l3
00019 #define REQ_INODE_NR m9_l1
00020 #define REQ_MEM_SIZE m9_l5
00021 #define REQ_MODE m9_s3
00022 #define REQ_MODTIME m9_l3
00023 #define REQ_NBYTES m9_l5
00024 #define REQ_PATH_LEN m9_s2
00025 #define REQ_PATH_SIZE m9_l5
00026 #define REQ_REN_GRANT_NEW m9_l1
00027 #define REQ_REN_GRANT_OLD m9_l2
00028 #define REQ_REN_LEN_NEW m9_s2
00029 #define REQ_REN_LEN_OLD m9_s1
00030 #define REQ_REN_NEW_DIR m9_l4
00031 #define REQ_REN_OLD_DIR m9_l3
00032 #define REQ_ROOT_INO m9_l4
00033 #define REQ_SEEK_POS_HI m9_l3
00034 #define REQ_SEEK_POS_LO m9_l4
00035 #define REQ_TRC_END_HI m9_l4
00036 #define REQ_TRC_END_LO m9_l5
00037 #define REQ_TRC_START_HI m9_l2
00038 #define REQ_TRC_START_LO m9_l3
00039 #define REQ_UCRED_SIZE m9_s4
00040 #define REQ_UID m9_s4
00041
00042
00043
00044 #define RES_DEV m9_l4
00045 #define RES_GID m9_s1
00046 #define RES_INODE_NR m9_l1
00047 #define RES_FILE_SIZE_HI m9_l2
00048 #define RES_FILE_SIZE_LO m9_l3
00049 #define RES_MODE m9_s2
00050 #define RES_NBYTES m9_l5
00051 #define RES_OFFSET m9_s2
00052 #define RES_SEEK_POS_HI m9_l3
00053 #define RES_SEEK_POS_LO m9_l4
00054 #define RES_SYMLOOP m9_s3
00055 #define RES_UID m9_s4
00056
00057
00058 #define REQ_RDONLY 001
00059 #define REQ_ISROOT 002
00060 #define PATH_NOFLAGS 000
00061 #define PATH_RET_SYMLINK 010
00062
00063
00064
00065 #define PATH_GET_UCRED 020
00066
00067
00068
00069
00070 #define EENTERMOUNT (-301)
00071 #define ELEAVEMOUNT (-302)
00072 #define ESYMLINK (-303)
00073
00074
00075
00076
00077 typedef struct {
00078 uid_t vu_uid;
00079 gid_t vu_gid;
00080 int vu_ngroups;
00081 gid_t vu_sgroups[NGROUPS_MAX];
00082 } vfs_ucred_t;
00083
00084
00085 #define REQ_GETNODE (VFS_BASE + 1)
00086 #define REQ_PUTNODE (VFS_BASE + 2)
00087 #define REQ_SLINK (VFS_BASE + 3)
00088 #define REQ_FTRUNC (VFS_BASE + 4)
00089 #define REQ_CHOWN (VFS_BASE + 5)
00090 #define REQ_CHMOD (VFS_BASE + 6)
00091 #define REQ_INHIBREAD (VFS_BASE + 7)
00092 #define REQ_STAT (VFS_BASE + 8)
00093 #define REQ_UTIME (VFS_BASE + 9)
00094 #define REQ_FSTATFS (VFS_BASE + 10)
00095 #define REQ_BREAD (VFS_BASE + 11)
00096 #define REQ_BWRITE (VFS_BASE + 12)
00097 #define REQ_UNLINK (VFS_BASE + 13)
00098 #define REQ_RMDIR (VFS_BASE + 14)
00099 #define REQ_UNMOUNT (VFS_BASE + 15)
00100 #define REQ_SYNC (VFS_BASE + 16)
00101 #define REQ_NEW_DRIVER (VFS_BASE + 17)
00102 #define REQ_FLUSH (VFS_BASE + 18)
00103 #define REQ_READ (VFS_BASE + 19)
00104 #define REQ_WRITE (VFS_BASE + 20)
00105 #define REQ_MKNOD (VFS_BASE + 21)
00106 #define REQ_MKDIR (VFS_BASE + 22)
00107 #define REQ_CREATE (VFS_BASE + 23)
00108 #define REQ_LINK (VFS_BASE + 24)
00109 #define REQ_RENAME (VFS_BASE + 25)
00110 #define REQ_LOOKUP (VFS_BASE + 26)
00111 #define REQ_MOUNTPOINT (VFS_BASE + 27)
00112 #define REQ_READSUPER (VFS_BASE + 28)
00113 #define REQ_NEWNODE (VFS_BASE + 29)
00114 #define REQ_RDLINK (VFS_BASE + 30)
00115 #define REQ_GETDENTS (VFS_BASE + 31)
00116
00117 #define NREQS 32
00118
00119 #endif
00120