/* sgmldecl.h: SGML declaration parsing. */
#define QATTCNT 0
#define QATTSPLEN 1
#define QBSEQLEN 2
#define QDTAGLEN 3
#define QDTEMPLEN 4
#define QENTLVL 5
#define QGRPCNT 6
#define QGRPGTCNT 7
#define QGRPLVL 8
#define QLITLEN 9
#define QNAMELEN 10
#define QNORMSEP 11
#define QPILEN 12
#define QTAGLEN 13
#define QTAGLVL 14
#define NQUANTITY (QTAGLVL+1)
#define TOTALCAP 0
#define ENTCAP 1
#define ENTCHCAP 2
#define ELEMCAP 3
#define GRPCAP 4
#define EXGRPCAP 5
#define EXNMCAP 6
#define ATTCAP 7
#define ATTCHCAP 8
#define AVGRPCAP 9
#define NOTCAP 10
#define NOTCHCAP 11
#define IDCAP 12
#define IDREFCAP 13
#define MAPCAP 14
#define LKSETCAP 15
#define LKNMCAP 16
extern char *captab[];
struct sgmldecl {
long capacity[NCAPACITY];
long subdoc;
UNCH formal;
UNCH omittag;
UNCH shorttag;
UNCH shortref;
UNCH namecase[2]; /* case translation of general/entity names */
int quantity[NQUANTITY];
};
extern struct sgmldecl sd;
#define OMITTAG (sd.omittag)
#define SUBDOC (sd.subdoc)
#define SHORTTAG (sd.shorttag)
#define FORMAL (sd.formal)
#define ATTCNT (sd.quantity[QATTCNT])
#define ATTSPLEN (sd.quantity[QATTSPLEN])
#define BSEQLEN (sd.quantity[QBSEQLEN])
#define ENTLVL (sd.quantity[QENTLVL])
#define GRPGTCNT (sd.quantity[QGRPGTCNT])
#define GRPCNT (sd.quantity[QGRPCNT])
#define GRPLVL (sd.quantity[QGRPLVL])
#define LITLEN (sd.quantity[QLITLEN])
#define NAMELEN (sd.quantity[QNAMELEN])
#define NORMSEP (sd.quantity[QNORMSEP])
#define PILEN (sd.quantity[QPILEN])
#define TAGLEN (sd.quantity[QTAGLEN])
#define TAGLVL (sd.quantity[QTAGLVL])
#define NAMECASE (sd.namecase[0])
#define ENTCASE (sd.namecase[1])
#define YES 1
#define NO 0
#define UNUSED -1
#define UNKNOWN -2
#define UNDESC -3
#define UNKNOWN_SET -4
extern int asciicharset[];