Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 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 "String.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
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
 
33
/*
34
 *  files in libsys.c
35
 */
36
extern char	*sysname_read(void);
37
extern char	*alt_sysname_read(void);
38
extern char	*domainname_read(void);
39
extern char	**sysnames_read(void);
40
extern char	*getlog(void);
41
extern char	*thedate(void);
42
extern Biobuf	*sysopen(char*, char*, ulong);
43
extern int	sysopentty(void);
44
extern int	sysclose(Biobuf*);
45
extern int	sysmkdir(char*, ulong);
46
extern int	syschgrp(char*, char*);
47
extern Mlock	*syslock(char *);
48
extern void	sysunlock(Mlock *);
49
extern void	syslockrefresh(Mlock *);
50
extern int	e_nonexistent(void);
51
extern int	e_locked(void);
52
extern long	sysfilelen(Biobuf*);
53
extern int	sysremove(char*);
54
extern int	sysrename(char*, char*);
55
extern int	sysexist(char*);
56
extern int	sysisdir(char*);
57
extern int	syskill(int);
58
extern int	syskillpg(int);
59
extern int	syscreate(char*, int, ulong);
60
extern Mlock	*trylock(char *);
61
extern void	exit(int);
62
extern void	pipesig(int*);
63
extern void	pipesigoff(void);
64
extern int	holdon(void);
65
extern void	holdoff(int);
66
extern int	syscreatelocked(char*, int, int);
67
extern int	sysopenlocked(char*, int);
68
extern int	sysunlockfile(int);
69
extern int	sysfiles(void);
70
extern int 	become(char**, char*);
71
extern int	sysdetach(void);
72
extern int	sysdirreadall(int, Dir**);
73
extern String	*username(String*);
74
extern char*	remoteaddr(int, char*);
75
extern int	creatembox(char*, char*);
76
 
77
extern String	*readlock(String*);
78
extern char	*homedir(char*);
79
extern String	*mboxname(char*, String*);
80
extern String	*deadletter(String*);
81
 
82
/*
83
 *  maximum size for a file path
84
 */
85
#define MAXPATHLEN 128