1 #ifndef __VFS_CONST_H__ 2 #define __VFS_CONST_H__ 3 4 /* Tables sizes */ 5 #define NR_FILPS 1024 /* # slots in filp table */ 6 #define NR_LOCKS 8 /* # slots in the file locking table */ 7 #define NR_MNTS 16 /* # slots in mount table */ 8 #define NR_VNODES 1024 /* # slots in vnode table */ 9 #define NR_WTHREADS 9 /* # slots in worker thread table */ 10 11 #define NR_NONEDEVS NR_MNTS /* # slots in nonedev bitmap */ 12 13 /* Miscellaneous constants */ 14 #define SU_UID ((uid_t) 0) /* super_user's uid_t */ 15 #define SYS_UID ((uid_t) 0) /* uid_t for system processes and INIT */ 16 #define SYS_GID ((gid_t) 0) /* gid_t for system processes and INIT */ 17 18 #define FP_BLOCKED_ON_NONE 0 /* not blocked */ 19 #define FP_BLOCKED_ON_PIPE 1 /* susp'd on pipe */ 20 #define FP_BLOCKED_ON_FLOCK 2 /* susp'd on file lock */ 21 #define FP_BLOCKED_ON_POPEN 3 /* susp'd on pipe open */ 22 #define FP_BLOCKED_ON_SELECT 4 /* susp'd on select */ 23 #define FP_BLOCKED_ON_CDEV 5 /* blocked on character device I/O */ 24 25 /* test if the process is blocked on something */ 26 #define fp_is_blocked(fp) ((fp)->fp_blocked_on != FP_BLOCKED_ON_NONE) 27 28 #define INVALID_THREAD ((thread_t) -1) /* known-invalid thread ID */ 29 30 #define SYMLOOP 16 31 32 #define LABEL_MAX 16 /* maximum label size (including '\0'). Should 33 * not be smaller than 16 or bigger than 34 * M_PATH_STRING_MAX. 35 */ 36 #define FSTYPE_MAX VFS_NAMELEN /* maximum file system type size */ 37 38 /* possible select() operation types; read, write, errors */ 39 #define SEL_RD CDEV_OP_RD 40 #define SEL_WR CDEV_OP_WR 41 #define SEL_ERR CDEV_OP_ERR 42 #define SEL_NOTIFY CDEV_NOTIFY /* not a real select operation */ 43 44 /* special driver endpoint for CTTY_MAJOR; must be able to pass isokendpt() */ 45 #define CTTY_ENDPT VFS_PROC_NR 46 47 #endif 48