plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

sys.h (2570B)


      1 /*
      2  * System dependent header files for research
      3  */
      4 
      5 #include <u.h>
      6 #include <libc.h>
      7 #include <regexp.h>
      8 #include <bio.h>
      9 #include <libString.h>
     10 
     11 /*
     12  *  for the lock routines in libsys.c
     13  */
     14 typedef struct Mlock	Mlock;
     15 struct Mlock {
     16 	int fd;
     17 	int pid;
     18 	String *name;
     19 };
     20 
     21 /*
     22  *  from config.c - call upasconfig() before using
     23  */
     24 extern char *_MAILROOT;	/* root of mail system */
     25 extern char *_UPASLOG;	/* log directory */
     26 extern char *_UPASLIB;	/* upas library directory */
     27 extern char *_UPASBIN;	/* upas binary directory */
     28 extern char *_UPASTMP;	/* temporary directory */
     29 extern char *_SHELL;	/* path name of shell */
     30 extern char *_POST;	/* path name of post server addresses */
     31 extern int MBOXMODE;	/* default mailbox protection mode */
     32 extern void upasconfig(void);
     33 
     34 /* forgive me */
     35 #define	MAILROOT	(upasconfig(), _MAILROOT)
     36 #define	UPASLOG	(upasconfig(), _UPASLOG)
     37 #define	UPASLIB	(upasconfig(), _UPASLIB)
     38 #define	UPASBIN	(upasconfig(), _UPASBIN)
     39 #define	UPASTMP	(upasconfig(), _UPASTMP)
     40 #define	SHELL	(upasconfig(), _SHELL)
     41 #define	POST	(upasconfig(), _POST)
     42 
     43 /*
     44  *  files in libsys.c
     45  */
     46 extern char	*sysname_read(void);
     47 extern char	*alt_sysname_read(void);
     48 extern char	*domainname_read(void);
     49 extern char	**sysnames_read(void);
     50 extern char	*getlog(void);
     51 extern char	*thedate(void);
     52 extern Biobuf	*sysopen(char*, char*, ulong);
     53 extern int	sysopentty(void);
     54 extern int	sysclose(Biobuf*);
     55 extern int	sysmkdir(char*, ulong);
     56 extern int	syschgrp(char*, char*);
     57 extern Mlock	*syslock(char *);
     58 extern void	sysunlock(Mlock *);
     59 extern void	syslockrefresh(Mlock *);
     60 extern int	e_nonexistent(void);
     61 extern int	e_locked(void);
     62 extern long	sysfilelen(Biobuf*);
     63 extern int	sysremove(char*);
     64 extern int	sysrename(char*, char*);
     65 extern int	sysexist(char*);
     66 extern int	sysisdir(char*);
     67 extern int	syskill(int);
     68 extern int	syskillpg(int);
     69 extern int	syscreate(char*, int, ulong);
     70 extern Mlock	*trylock(char *);
     71 extern void	pipesig(int*);
     72 extern void	pipesigoff(void);
     73 extern int	holdon(void);
     74 extern void	holdoff(int);
     75 extern int	syscreatelocked(char*, int, int);
     76 extern int	sysopenlocked(char*, int);
     77 extern int	sysunlockfile(int);
     78 extern int	sysfiles(void);
     79 extern int 	become(char**, char*);
     80 extern int	sysdetach(void);
     81 extern int	sysdirreadall(int, Dir**);
     82 extern String	*username(String*);
     83 extern char*	remoteaddr(int, char*);
     84 extern int	creatembox(char*, char*);
     85 
     86 extern String	*readlock(String*);
     87 extern char	*homedir(char*);
     88 extern String	*mboxname(char*, String*);
     89 extern String	*deadletter(String*);
     90 
     91 /*
     92  *  maximum size for a file path
     93  */
     94 #define MAXPATHLEN 128