48 |
|
|
49 |
|
extern char mg_ename[MG_NENTITIES][MG_MAXELEN]; |
50 |
|
|
51 |
< |
/* Handler routines for each entity */ |
51 |
> |
/* Handler routines for each entity and unknown ones */ |
52 |
|
|
53 |
|
#ifdef NOPROTO |
54 |
|
extern int (*mg_ehand[MG_NENTITIES])(); |
55 |
+ |
extern int (*mg_uhand)(); |
56 |
+ |
extern int mg_defuhand(); |
57 |
|
#else |
58 |
|
extern int (*mg_ehand[MG_NENTITIES])(int argc, char **argv); |
59 |
+ |
extern int (*mg_uhand)(int argc, char **argv); |
60 |
+ |
extern int mg_defuhand(int, char **); |
61 |
|
#endif |
62 |
|
|
63 |
+ |
extern unsigned mg_nunknown; /* count of unknown entities */ |
64 |
+ |
|
65 |
|
/* Error codes */ |
66 |
|
#define MG_OK 0 /* normal return value */ |
67 |
|
#define MG_EUNK 1 /* unknown entity */ |
77 |
|
|
78 |
|
#define MG_NERRS 11 |
79 |
|
|
80 |
< |
extern char *mg_err[MG_NERRS]; |
80 |
> |
extern char *mg_err[MG_NERRS]; /* list of error messages */ |
81 |
|
|
82 |
|
/* |
83 |
|
* The general process for running the parser is to fill in the mg_ehand |