1 #ifndef __VFS_GLO_H__ 2 #define __VFS_GLO_H__ 3 4 /* EXTERN should be extern except for the table file */ 5 #ifdef _TABLE 6 #undef EXTERN 7 #define EXTERN 8 #endif 9 10 #include <minix/param.h> 11 12 /* File System global variables */ 13 EXTERN struct fproc *fp; /* pointer to caller's fproc struct */ 14 EXTERN int susp_count; /* number of procs suspended on pipe */ 15 EXTERN int nr_locks; /* number of locks currently in place */ 16 EXTERN int reviving; /* number of pipe processes to be revived */ 17 EXTERN int sending; 18 EXTERN int verbose; 19 20 EXTERN dev_t ROOT_DEV; /* device number of the root device */ 21 EXTERN int ROOT_FS_E; /* kernel endpoint of the root FS proc */ 22 EXTERN u32_t system_hz; /* system clock frequency. */ 23 24 /* The parameters of the call are kept here. */ 25 EXTERN message m_in; /* the input message itself */ 26 # define who_p ((int) (fp - fproc)) 27 # define fproc_addr(e) (&fproc[_ENDPOINT_P(e)]) 28 # define who_e (self != NULL ? fp->fp_endpoint : m_in.m_source) 29 # define call_nr (m_in.m_type) 30 # define job_m_in (self->w_m_in) 31 # define job_m_out (self->w_m_out) 32 # define job_call_nr (job_m_in.m_type) 33 # define super_user (fp->fp_effuid == SU_UID ? 1 : 0) 34 EXTERN struct worker_thread *self; 35 EXTERN int deadlock_resolving; 36 EXTERN mutex_t bsf_lock;/* Global lock for access to block special files */ 37 EXTERN struct worker_thread workers[NR_WTHREADS]; 38 EXTERN char mount_label[LABEL_MAX]; /* label of file system to mount */ 39 40 /* The following variables are used for returning results to the caller. */ 41 EXTERN int err_code; /* temporary storage for error number */ 42 43 /* Data initialized elsewhere. */ 44 extern int (* const call_vec[])(void); 45 46 #endif 47