📄 plumber.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 + -