4 #define Tfile Tfilescsi /* avoid name conflict */
13 #define CHAT(cp) ((cons.flags&chatflag) || \
14 ((cp) && (((Chan*)(cp))->flags&chatflag)))
15 #define QID9P1(a,b) (Qid9p1){a,b}
18 #define MINUTE(n) ((n)*SECOND(60))
19 #define HOUR(n) ((n)*MINUTE(60))
20 #define DAY(n) ((n)*HOUR(24))
42 char* errstr9p[MAXERR];
58 /* from config block */
59 char service[50]; /* my name */
60 Filsys filsys[30]; /* named file systems */
62 * these are only documentation, but putting them in the config block makes
63 * them visible. the real values are compiled into cwfs.
65 typedef struct Fspar Fspar;
68 long actual; /* compiled-in value */
76 int noattach; /* attach is disabled */
77 int noauth; /* auth is disable */
78 int nonone; /* attach as none disabled */
79 int noatime; /* atime is disabled */
80 int noatimeset; /* noatime was changed (reset after dump) */
81 int allowed; /* allow wstat and disable permission checks
82 * for user or anyone when -1 */
83 int duallow; /* single user to allow du */
84 int readonly; /* disable writes if true */
85 int rawreadok; /* allow reading raw data */
87 File* flist[5003]; /* base of file structures */
88 Lock flock; /* manipulate flist */
100 extern char statecall[];
101 extern char* wormscode[];
102 extern char* tagnames[];