make vfs & filesystems use failable copying
[minix3.git] / servers / vfs / const.h
blob9fbb6d2d0813f2ffcaee5a082d19edc4b250f301
1 #ifndef __VFS_CONST_H__
2 #define __VFS_CONST_H__
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 */
11 #define NR_NONEDEVS NR_MNTS /* # slots in nonedev bitmap */
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 */
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_LOCK 2 /* susp'd on 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_OTHER 5 /* blocked on other process, check
24 fp_task to find out */
26 /* test if the process is blocked on something */
27 #define fp_is_blocked(fp) ((fp)->fp_blocked_on != FP_BLOCKED_ON_NONE)
29 #define INVALID_THREAD ((thread_t) -1) /* known-invalid thread ID */
31 #define SYMLOOP 16
33 #define LABEL_MAX 16 /* maximum label size (including '\0'). Should
34 * not be smaller than 16 or bigger than
35 * M3_LONG_STRING.
37 #define FSTYPE_MAX VFS_NAMELEN /* maximum file system type size */
39 /* possible select() operation types; read, write, errors */
40 #define SEL_RD CDEV_OP_RD
41 #define SEL_WR CDEV_OP_WR
42 #define SEL_ERR CDEV_OP_ERR
43 #define SEL_NOTIFY CDEV_NOTIFY /* not a real select operation */
45 /* special driver endpoint for CTTY_MAJOR; must be able to pass isokendpt() */
46 #define CTTY_ENDPT VFS_PROC_NR
48 #endif