Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature_tlsv12/sys/include/ape/lib9.h – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#ifndef __LIB9_H
2
#define __LIB9_H
3
#if !defined(_RESEARCH_SOURCE) && !defined(_PLAN9_SOURCE)
4
    This header file is an extension to ANSI/POSIX
5
#endif
6
#pragma lib "/$M/lib/ape/lib9.a"
7
 
8
#include <u.h>		/* ick; need Rune defined below */
9
 
10
#define	MORDER	0x0003	/* mask for bits defining order of mounting */
11
#define	MREPL	0x0000	/* mount replaces object */
12
#define	MBEFORE	0x0001	/* mount goes before others in union directory */
13
#define	MAFTER	0x0002	/* mount goes after others in union directory */
14
#define	MCREATE	0x0004	/* permit creation in mounted directory */
15
#define MRECOV	0x0008	/* perform recovery if mount channel is lost */
16
#define MCACHE	0x0010	/* cache some data */
17
#define	MMASK	0x0007	/* all bits on */
18
 
19
#define	FORKPG		1
20
#define	FORKEG		2
21
#define	FORKFD		4
22
 
23
#define	SG_RONLY	0040	/* read only */
24
#define	SG_CEXEC	0100	/* detach on exec */
25
 
26
enum
27
{
28
	RFNAMEG		= (1<<0),
29
	RFENVG		= (1<<1),
30
	RFFDG		= (1<<2),
31
	RFNOTEG		= (1<<3),
32
	RFPROC		= (1<<4),
33
	RFMEM		= (1<<5),
34
	RFNOWAIT	= (1<<6),
35
	RFCNAMEG	= (1<<10),
36
	RFCENVG		= (1<<11),
37
	RFCFDG		= (1<<12),
38
	RFREND		= (1<<13)
39
};
40
 
41
extern char *argv0;
42
#define	ARGBEGIN	for((argv0||(argv0=*argv)),argv++,argc--;\
43
			    argv[0] && argv[0][0]=='-' && argv[0][1];\
44
			    argc--, argv++) {\
45
				char *_args, *_argt;\
46
				Rune _argc;\
47
				_args = &argv[0][1];\
48
				if(_args[0]=='-' && _args[1]==0){\
49
					argc--; argv++; break;\
50
				}\
51
				_argc = 0;\
52
				while(*_args && (_args += chartorune(&_argc, _args)))\
53
				switch(_argc)
54
#define	ARGEND		SET(_argt);USED(_argt,_argc,_args);}USED(argv, argc);
55
#define	ARGF()		(_argt=_args, _args="",\
56
				(*_argt? _argt: argv[1]? (argc--, *++argv): 0))
57
#define	EARGF(x)	(_argt=_args, _args="",\
58
				(*_argt? _argt: argv[1]? (argc--, *++argv): ((x), abort(), (char*)0)))
59
 
60
#define	ARGC()		_argc
61
 
62
extern	int	errstr(char*, unsigned int);
63
extern	int	bind(char*, char*, int);
64
extern	int	mount(int, int, char*, int, char*);
65
extern	int	unmount(char*, char*);
66
extern	int	rfork(int);
67
extern	int	segattach(int, char*, void*, unsigned long);
68
extern	int	segbrk(void*, void*);
69
extern	int	segdetach(void*);
70
extern	int	segflush(void*, unsigned long);
71
extern	int	segfree(void*, unsigned long);
72
extern	unsigned long	rendezvous(unsigned long, unsigned long);
73
extern	unsigned long	getfcr(void);
74
extern	unsigned long	getfsr(void);
75
extern	void		setfcr(unsigned long);
76
extern	void		setfsr(unsigned long);
77
 
78
#endif