/************************************************/ /* */ /* H E L P F I L E - R E C O M P I L E R 1.0 */ /* */ /* Headerfile HELP_RC.H */ /* */ /* Autor: Volker Reichel */ /* Bhlstraže 8 */ /* 7507 Pfinztal 2 */ /* */ /* Letzte Žnderung: 31.01.1992 */ /************************************************/ /*-------- allgemeine Konstanten----------------*/ #define EOS 0x00 #define CR 0x0d #define LF 0x0a #define ESC_CHR 0x1d #define BACKSLASH '\\' /*-------- fr die Ausgabe von Meldungen -------*/ #define TO_SCREEN 0x01 #define TO_LOG 0x02 #define TO_ALL (TO_SCREEN + TO_LOG) #define NO_RAM 0 #define ILL_OPT 1 #define LOG_OPN_ERR 2 #define HLP_NF 3 #define NO_HF 4 #define HDR_SIZE_ERR 5 #define RD_SENS_TAB 6 #define RD_CAPS_TAB 7 #define RD_SCR_TAB 8 #define RD_SCR_ERR 9 #define RD_STR_TAB 10 #define RD_STR_ERR 11 #define RD_IDX 12 #define RD_IDX_ERR 13 #define SET_ATTR 14 #define SET_LINK 15 #define RECOMP 16 #define RECOMP_ERR 17 #define F_CREAT_ERR 18 #define FINAL 19 #define SCR_CNT 20 #define IDX_WARN 21 #define WR_NAME_TAB 22 #define WR_LINK_TAB 23 #define LINK_HEAD 24 #define LINK_CNT 25 #define ILL_CODE 26 #define ABORT 27 #define GLB_REF 28 #define NAME_TAB_HEAD 29 #define NAME_CNT 30 #define OPTION 31 #define MAKETEXT 32 #define HELP_RC1 33 #define HELP_RC2 34 #define HELP_RC3 35 #define BOLD_ON "\033E" #define BOLD_OFF "\033F" #define FORM_FEED "\f" /*---- Konstanten fr die Speicherzuteilung ----*/ #define TXTBUFSIZE 0x8000L #define MAXCODEDSIZE 0x4000L /*---- Konstanten fr die Dekodierung ----------*/ #define CHAR_DIR 0x0C #define STR_TABLE 0x0E /*---------- HC-versionsabh„ngige Konstanten ---*/ #define INDEX_SCR 1 /* 2. Eintrag ScreenTab */ #define HC_VERS "H2.0" /* HelpCompilerversion */ #define INDEX_CNT 27 /* Eintr„ge im INDEX */ /*---------- Attribute eines Namens ------------*/ #define SCR_NAME 0 /* ScreenName */ #define CAP_SENS 1 /* Grož/Klein-Unterscheid.*/ #define SENSITIVE 2 /* keine Unterscheidung */ #define LINK 3 /* ist ein \link-Name */ #define ATTR_CNT 4 /* Anzahl der Attribute */ /*--------- Typen von Suchworttabellen ---------*/ #define CAP_TABLE 0 #define SENS_TABLE 1 /*---- Header-Struktur einer Helpdatei ---------*/ #define HEADER_SIZE 0x30 /* L„nge des Headers */ typedef struct { long scr_tab_size; /* L„nge der Screen Tabelle*/ long str_offset; /* Stringtabellenanfang */ long str_size; /* L„nge in Bytes */ UBYTE char_table[12]; /* h„ufigste Zeichen */ long caps_offset; /* Start capsens-Tabelle */ long caps_size; /* L„nge in Bytes */ long caps_cnt; /* Anzahl Suchw”rter */ long sens_offset; /* Start sensitive-Tab. */ long sens_size; /* L„nge in Bytes */ long sens_cnt; /* Anzahl Suchw”rter */ } HLPHDR; /*--------- Beschreibung eines Indexeintrages --*/ typedef UWORD SUB_IDX_ENTRY; /*--------- Beschreibung eines Namens ----------*/ typedef struct name_entry { UWORD scr_code; /* Index-Code ScreenTab */ UBYTE name_attr; /* Attribut des Namens */ char *name; /* der Name selbst */ UWORD link_index; /* link-Index ScreenTab */ struct name_entry *next; /* Nachfolger */ } NAME_ENTRY; /*--------- Struktur der Keyword-Tabellen ------*/ typedef struct { ULONG pos; /* Wortanf. bei akt. Position+pos */ UWORD code; /* Wort hat diese Codierung */ } SRCHKEY_ENTRY; /*--------------- Ende HELP_RC.H ---------------*/