xref: /plan9-contrib/sys/src/cmd/upas/common/sys.h (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
1 /*
2  * System dependent header files for research
3  */
4 #include <u.h>
5 #include <libc.h>
6 #include <regexp.h>
7 #include <bio.h>
8 #include "../libString/String.h"
9 
10 /*
11  *  for the lock foutines in libsys.c
12  */
13 typedef struct Lock	Lock;
14 struct Lock {
15 	int fd;
16 	String *name;
17 };
18 
19 /*
20  *  from config.c
21  */
22 extern char *LOGROOT;	/* root of log system */
23 extern char *MAILROOT;	/* root of mail system */
24 extern char *UPASROOT;	/* root of upas system */
25 extern char *SMTPQROOT; /* root of smtpq directory */
26 extern char *SYSALIAS;	/* file system alias files are listed in */
27 extern char *USERALIAS;	/* file system alias files are listed in */
28 extern int MBOXMODE;	/* default mailbox protection mode */
29 
30 /*
31  *  files in libsys.c
32  */
33 extern char	*sysname_read(void);
34 extern char	*alt_sysname_read(void);
35 extern char	*domainname_read(void);
36 extern char	*getlog(void);
37 extern char	*thedate(void);
38 extern Biobuf	*sysopen(char*, char*, ulong);
39 extern int	sysclose(Biobuf*);
40 extern int	sysmkdir(char*, ulong);
41 extern int	syschgrp(char*, char*);
42 extern Lock	*lock(char *);
43 extern void	unlock(Lock *);
44 extern int	e_nonexistant(void);
45 extern int	e_locked(void);
46 extern ulong	sysfilelen(Biobuf*);
47 extern int	sysremove(char*);
48 extern int	sysrename(char*, char*);
49 extern int	sysexist(char*);
50 extern int	syskill(int);
51 extern int	syscreate(char*, int);
52 extern long	sysmtime(char*);
53 extern Lock	*trylock(char *);
54 extern void	exit(int);
55 extern void	pipesig(int*);
56 extern void	pipesigoff(void);
57 extern void	newprocgroup(void);
58 extern void	becomenone(void);
59 extern char*	csquery(char*, char*, char*);
60 extern int	holdon(void);
61 extern void	holdoff(int);
62 
63 extern int nsysfile;
64 extern int nofile;
65 
66 /*
67  *  maximum size for a file path
68  */
69 #define MAXPATHLEN 128
70