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 */
21 EXTERN dev_t ROOT_DEV
; /* device number of the root device */
22 EXTERN
int ROOT_FS_E
; /* kernel endpoint of the root FS proc */
23 EXTERN u32_t system_hz
; /* system clock frequency. */
25 /* The parameters of the call are kept here. */
26 EXTERN message m_in
; /* the input message itself */
27 # define who_p ((int) (fp - fproc))
28 # define fproc_addr(e) (&fproc[_ENDPOINT_P(e)])
29 # define who_e (self != NULL ? fp->fp_endpoint : m_in.m_source)
30 # define call_nr (m_in.m_type)
31 # define job_m_in (self->w_m_in)
32 # define job_m_out (self->w_m_out)
33 # define job_call_nr (job_m_in.m_type)
34 # define super_user (fp->fp_effuid == SU_UID ? 1 : 0)
35 # define scratch(p) (scratchpad[((int) ((p) - fproc))])
36 EXTERN
struct worker_thread
*self
;
37 EXTERN
int deadlock_resolving
;
38 EXTERN mutex_t bsf_lock
;/* Global lock for access to block special files */
39 EXTERN
struct worker_thread workers
[NR_WTHREADS
];
40 EXTERN
char mount_label
[LABEL_MAX
]; /* label of file system to mount */
42 /* The following variables are used for returning results to the caller. */
43 EXTERN
int err_code
; /* temporary storage for error number */
45 /* Data initialized elsewhere. */
46 extern int (* const call_vec
[])(void);
48 EXTERN
struct kinfo kinfo
; /* kernel information */