unroff/src/event.h

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);