xref: /plan9/sys/src/cmd/upas/common/sys.h (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
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