/* EXTERN should be extern except for the table file */ #ifndef EXT2_GLO_H #define EXT2_GLO_H #ifdef _TABLE #undef EXTERN #define EXTERN #endif #include /* The following variables are used for returning results to the caller. */ EXTERN int err_code; /* temporary storage for error number */ EXTERN int rdwt_err; /* status of last disk i/o request */ EXTERN int cch[NR_INODES]; extern char dot1[2]; /* dot1 (&dot1[0]) and dot2 (&dot2[0]) have a special */ extern char dot2[3]; /* meaning to search_dir: no access permission check. */ extern int(*fs_call_vec[]) (void); EXTERN message fs_m_in; EXTERN message fs_m_out; EXTERN vfs_ucred_t credentials; EXTERN uid_t caller_uid; EXTERN gid_t caller_gid; EXTERN int req_nr; EXTERN endpoint_t SELF_E; EXTERN char user_path[PATH_MAX+1]; /* pathname to be processed */ EXTERN dev_t fs_dev; /* The device that is handled by this FS proc */ EXTERN char fs_dev_label[16]; /* Name of the device driver that is handled * by this FS proc. */ EXTERN int unmountdone; EXTERN int exitsignaled; /* our block size. */ EXTERN unsigned int fs_block_size; /* Buffer cache. */ EXTERN struct buf *buf; EXTERN struct buf **buf_hash; /* the buffer hash table */ EXTERN unsigned int nr_bufs; EXTERN int may_use_vmcache; /* Little hack for syncing group descriptors. */ EXTERN int group_descriptors_dirty; EXTERN struct opt opt; /* global options */ /* On ext2 metadata is stored in little endian format, so we shoud take * care about byte swapping, when have BE CPU. */ EXTERN int le_CPU; /* little/big endian, if TRUE do not swap bytes */ #endif /* EXT2_GLO_H */