13e12c5d1SDavid du Colombier /* 23e12c5d1SDavid du Colombier * System dependent header files for research 33e12c5d1SDavid du Colombier */ 43e12c5d1SDavid du Colombier #include <u.h> 53e12c5d1SDavid du Colombier #include <libc.h> 63e12c5d1SDavid du Colombier #include <regexp.h> 73e12c5d1SDavid du Colombier #include <bio.h> 83e12c5d1SDavid du Colombier #include "../libString/String.h" 93e12c5d1SDavid du Colombier 103e12c5d1SDavid du Colombier /* 113e12c5d1SDavid du Colombier * for the lock foutines in libsys.c 123e12c5d1SDavid du Colombier */ 133e12c5d1SDavid du Colombier typedef struct Lock Lock; 143e12c5d1SDavid du Colombier struct Lock { 153e12c5d1SDavid du Colombier int fd; 163e12c5d1SDavid du Colombier String *name; 173e12c5d1SDavid du Colombier }; 183e12c5d1SDavid du Colombier 193e12c5d1SDavid du Colombier /* 203e12c5d1SDavid du Colombier * from config.c 213e12c5d1SDavid du Colombier */ 223e12c5d1SDavid du Colombier extern char *LOGROOT; /* root of log system */ 233e12c5d1SDavid du Colombier extern char *MAILROOT; /* root of mail system */ 243e12c5d1SDavid du Colombier extern char *UPASROOT; /* root of upas system */ 253e12c5d1SDavid du Colombier extern char *SMTPQROOT; /* root of smtpq directory */ 263e12c5d1SDavid du Colombier extern char *SYSALIAS; /* file system alias files are listed in */ 273e12c5d1SDavid du Colombier extern char *USERALIAS; /* file system alias files are listed in */ 283e12c5d1SDavid du Colombier extern int MBOXMODE; /* default mailbox protection mode */ 293e12c5d1SDavid du Colombier 303e12c5d1SDavid du Colombier /* 313e12c5d1SDavid du Colombier * files in libsys.c 323e12c5d1SDavid du Colombier */ 333e12c5d1SDavid du Colombier extern char *sysname_read(void); 34*219b2ee8SDavid du Colombier extern char *alt_sysname_read(void); 35*219b2ee8SDavid du Colombier extern char *domainname_read(void); 363e12c5d1SDavid du Colombier extern char *getlog(void); 373e12c5d1SDavid du Colombier extern char *thedate(void); 383e12c5d1SDavid du Colombier extern Biobuf *sysopen(char*, char*, ulong); 393e12c5d1SDavid du Colombier extern int sysclose(Biobuf*); 403e12c5d1SDavid du Colombier extern int sysmkdir(char*, ulong); 413e12c5d1SDavid du Colombier extern int syschgrp(char*, char*); 423e12c5d1SDavid du Colombier extern Lock *lock(char *); 433e12c5d1SDavid du Colombier extern void unlock(Lock *); 443e12c5d1SDavid du Colombier extern int e_nonexistant(void); 453e12c5d1SDavid du Colombier extern int e_locked(void); 463e12c5d1SDavid du Colombier extern ulong sysfilelen(Biobuf*); 473e12c5d1SDavid du Colombier extern int sysremove(char*); 483e12c5d1SDavid du Colombier extern int sysrename(char*, char*); 493e12c5d1SDavid du Colombier extern int sysexist(char*); 503e12c5d1SDavid du Colombier extern int syskill(int); 513e12c5d1SDavid du Colombier extern int syscreate(char*, int); 523e12c5d1SDavid du Colombier extern long sysmtime(char*); 533e12c5d1SDavid du Colombier extern Lock *trylock(char *); 543e12c5d1SDavid du Colombier extern void exit(int); 553e12c5d1SDavid du Colombier extern void pipesig(int*); 563e12c5d1SDavid du Colombier extern void pipesigoff(void); 573e12c5d1SDavid du Colombier extern void newprocgroup(void); 58bd389b36SDavid du Colombier extern void becomenone(void); 59*219b2ee8SDavid du Colombier extern char* csquery(char*, char*, char*); 60*219b2ee8SDavid du Colombier extern int holdon(void); 61*219b2ee8SDavid du Colombier extern void holdoff(int); 623e12c5d1SDavid du Colombier 633e12c5d1SDavid du Colombier extern int nsysfile; 643e12c5d1SDavid du Colombier extern int nofile; 653e12c5d1SDavid du Colombier 663e12c5d1SDavid du Colombier /* 673e12c5d1SDavid du Colombier * maximum size for a file path 683e12c5d1SDavid du Colombier */ 693e12c5d1SDavid du Colombier #define MAXPATHLEN 128 70