⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plumber.h

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 H
字号:
typedef struct Exec Exec;typedef struct Rule Rule;typedef struct Ruleset Ruleset;/* * Object */enum{	OArg,	OAttr,	OData,	ODst,	OPlumb,	OSrc,	OType,	OWdir,};/* * Verbs */enum{	VAdd,	/* apply to OAttr only */	VClient,	VDelete,	/* apply to OAttr only */	VIs,	VIsdir,	VIsfile,	VMatches,	VSet,	VStart,	VTo,};struct Rule{	int	obj;	int	verb;	char	*arg;		/* unparsed string of all arguments */	char	*qarg;	/* quote-processed arg string */	Reprog	*regex;};struct Ruleset{	int	npat;	int	nact;	Rule	**pat;	Rule	**act;	char	*port;};struct Exec{	Plumbmsg	*msg;	char			*match[10];	int			p0;		/* begin and end of match */	int			p1;	int			clearclick;	/* click was expanded; remove attribute */	int			setdata;	/* data should be set to $0 */	int			holdforclient;	/* exec'ing client; keep message until port is opened */	/* values of $variables */	char			*file;	char 			*dir;};void		parseerror(char*, ...);void		error(char*, ...);void*	emalloc(long);void*	erealloc(void*, long);char*	estrdup(char*);Ruleset**	readrules(char*, int);void		startfsys(void);Exec*	matchruleset(Plumbmsg*, Ruleset*);void		freeexec(Exec*);char*	startup(Ruleset*, Exec*);char*	printrules(void);void		addport(char*);char*	writerules(char*, int);char*	expand(Exec*, char*, char**);void		makeports(Ruleset*[]);void		printinputstack(void);int		popinput(void);Ruleset	**rules;char		*user;char		*home;jmp_buf	parsejmp;char		*lasterror;char		**ports;int		nports;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -