4 /* EXTERN should be extern except for the table file */
10 #include <minix/param.h>
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 */
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. */
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 */
40 /* The following variables are used for returning results to the caller. */
41 EXTERN
int err_code
; /* temporary storage for error number */
43 /* Data initialized elsewhere. */
44 extern int (* const call_vec
[])(void);