/* * This file is part of the UCB release of Plan 9. It is subject to the license * terms in the LICENSE file found in the top-level directory of this * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No * part of the UCB release of Plan 9, including this file, may be copied, * modified, propagated, or distributed except according to the terms contained * in the LICENSE file. *//* * System dependent header files for research */#include <u.h>#include <libc.h>#include <regexp.h>#include <bio.h>#include "String.h"/* * for the lock routines in libsys.c */typedef struct Mlock Mlock;struct Mlock { int fd; int pid; String *name;};/* * from config.c */extern char *MAILROOT; /* root of mail system */extern char *UPASLOG; /* log directory */extern char *UPASLIB; /* upas library directory */extern char *UPASBIN; /* upas binary directory */extern char *UPASTMP; /* temporary directory */extern char *SHELL; /* path name of shell */extern char *POST; /* path name of post server addresses */extern int MBOXMODE; /* default mailbox protection mode *//* * files in libsys.c */extern char *sysname_read(void);extern char *alt_sysname_read(void);extern char *domainname_read(void);extern char **sysnames_read(void);extern char *getlog(void);extern char *thedate(void);extern Biobuf *sysopen(char*, char*, ulong);extern int sysopentty(void);extern int sysclose(Biobuf*);extern int sysmkdir(char*, ulong);extern int syschgrp(char*, char*);extern Mlock *syslock(char *);extern void sysunlock(Mlock *);extern void syslockrefresh(Mlock *);extern int e_nonexistent(void);extern int e_locked(void);extern long sysfilelen(Biobuf*);extern int sysremove(char*);extern int sysrename(char*, char*);extern int sysexist(char*);extern int sysisdir(char*);extern int syskill(int);extern int syskillpg(int);extern int syscreate(char*, int, ulong);extern Mlock *trylock(char *);extern void exit(int);extern void pipesig(int*);extern void pipesigoff(void);extern int holdon(void);extern void holdoff(int);extern int syscreatelocked(char*, int, int);extern int sysopenlocked(char*, int);extern int sysunlockfile(int);extern int sysfiles(void);extern int become(char**, char*);extern int sysdetach(void);extern int sysdirreadall(int, Dir**);extern String *username(String*);extern char* remoteaddr(int, char*);extern int creatembox(char*, char*);extern String *readlock(String*);extern char *homedir(char*);extern String *mboxname(char*, String*);extern String *deadletter(String*);/* * maximum size for a file path */#define MAXPATHLEN 128
/*
* This file is part of the UCB release of Plan 9. It is subject to the license
* terms in the LICENSE file found in the top-level directory of this
* distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
* part of the UCB release of Plan 9, including this file, may be copied,
* modified, propagated, or distributed except according to the terms contained
* in the LICENSE file.
*/
/*
* System dependent header files for research
*/
#include <u.h>
#include <libc.h>
#include <regexp.h>
#include <bio.h>
#include "String.h"
/*
* for the lock routines in libsys.c
*/
typedef struct Mlock Mlock;
struct Mlock {
int fd;
int pid;
String *name;
};
/*
* from config.c
*/
extern char *MAILROOT; /* root of mail system */
extern char *UPASLOG; /* log directory */
extern char *UPASLIB; /* upas library directory */
extern char *UPASBIN; /* upas binary directory */
extern char *UPASTMP; /* temporary directory */
extern char *SHELL; /* path name of shell */
extern char *POST; /* path name of post server addresses */
extern int MBOXMODE; /* default mailbox protection mode */
/*
* files in libsys.c
*/
extern char *sysname_read(void);
extern char *alt_sysname_read(void);
extern char *domainname_read(void);
extern char **sysnames_read(void);
extern char *getlog(void);
extern char *thedate(void);
extern Biobuf *sysopen(char*, char*, ulong);
extern int sysopentty(void);
extern int sysclose(Biobuf*);
extern int sysmkdir(char*, ulong);
extern int syschgrp(char*, char*);
extern Mlock *syslock(char *);
extern void sysunlock(Mlock *);
extern void syslockrefresh(Mlock *);
extern int e_nonexistent(void);
extern int e_locked(void);
extern long sysfilelen(Biobuf*);
extern int sysremove(char*);
extern int sysrename(char*, char*);
extern int sysexist(char*);
extern int sysisdir(char*);
extern int syskill(int);
extern int syskillpg(int);
extern int syscreate(char*, int, ulong);
extern Mlock *trylock(char *);
extern void exit(int);
extern void pipesig(int*);
extern void pipesigoff(void);
extern int holdon(void);
extern void holdoff(int);
extern int syscreatelocked(char*, int, int);
extern int sysopenlocked(char*, int);
extern int sysunlockfile(int);
extern int sysfiles(void);
extern int become(char**, char*);
extern int sysdetach(void);
extern int sysdirreadall(int, Dir**);
extern String *username(String*);
extern char* remoteaddr(int, char*);
extern int creatembox(char*, char*);
extern String *readlock(String*);
extern char *homedir(char*);
extern String *mboxname(char*, String*);
extern String *deadletter(String*);
/*
* maximum size for a file path
*/
#define MAXPATHLEN 128