/*
* 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;
};