34 lines
1.3 KiB
C
34 lines
1.3 KiB
C
|
/* $Revision: 1.12 $
|
||
|
*/
|
||
|
|
||
|
/* Events:
|
||
|
*/
|
||
|
typedef enum _event {
|
||
|
EV_LINE, /* args: char|#f ret: */
|
||
|
EV_PROLOG, /* args: pathname basename ret: */
|
||
|
EV_EPILOG, /* args: pathname basename ret: */
|
||
|
EV_OPTION, /* args: name value ret: */
|
||
|
EV_START, /* args: ret: */
|
||
|
EV_EXIT, /* args: ret: */
|
||
|
EV_REQUEST, /* args: name args ret: stringable */
|
||
|
EV_MACRO, /* args: name args ret: stringable */
|
||
|
EV_STRING, /* args: name ret: stringable */
|
||
|
EV_NUMREG, /* args: name [sign] ret: stringable */
|
||
|
EV_SPECIAL, /* args: name ret: stringable */
|
||
|
EV_EQUATION, /* args: string ret: stringable */
|
||
|
EV_SENTENCE, /* args: char ret: stringable */
|
||
|
EV_ESCAPE, /* args: char [arg [sign]] ret: stringable */
|
||
|
EV_CHAR /* args: char ret: stringable */
|
||
|
} Event;
|
||
|
|
||
|
/* Flags stored in `requests' table
|
||
|
*/
|
||
|
#define RQ_STRING 1
|
||
|
#define RQ_MACRO 2
|
||
|
|
||
|
void init_event(void);
|
||
|
Elem *event_lookup(Event, char *, int);
|
||
|
char *event_exec(Event, char *, int, int *, int);
|
||
|
char *event_exec_fallback(Event, char *, int, int *);
|
||
|
void events_vec_exec(Event);
|