#ifndef _ANNOPRIV #define _ANNOPRIV /* The Magic Number identifies the version of annotation format */ #define ldAnnoMagicHelp3_0 0x666d6201 #define ldAnnoMagicCur 0x666d6208 /* These macros convert the given MLA to/from Help 3.0 format if necessary */ #define ConvertQMLA(qmla, wVer) (((wVer) == wVersion3_0) ? \ ((qmla)->va.dword = VAToOffset30(&(qmla)->va)) : 0) #define ConvertOldQMLA(qmla, wVer) { if ((wVer) == wVersion3_0) \ OffsetToVA30(&(qmla)->va, (qmla)->va.dword) } typedef struct { LONG ldReserved; // Contains magic number UINT wHelpFileVersion; } ANVERSION; #define MAX_ANNO_TEXT (16 * 1024) // Limit on annotation text size + 1 #define wMaxNumAnnotations ((UINT16) 0xFFFF) // MAXINT for now // Memory Annotation Position Struct typedef GH HAPS; /* The following structure defines the disk record stored in the * annotation LINK file. In Help 3.0, this was defined as a TO * followed by a HASH. The to.ich field was always zero. * The HASH field was always zero. * * The Help 3.5 annotation file format has changed so that a TO has been * replaced by a VA and an OBJRG: i.e. a logical address. Help 3.0 will not * be able to read Help 3.6+ annotation files, and so the Magic Number has * been changed in the Annotation version file. Help 3.6+ will create/update * Help 3.0-format annotation files for Help 3.0 files; otherwise it will use * Help 3.6+ annotation files. */ typedef struct { MLA mla; LONG lReserved; } LINK, *QLINK; typedef struct { UINT16 wNumRecs; LINK link[1]; } APS, *QAPS; /* * Annotation "Document" : the file system which contains * the version file, link file, and zero or more annotation text files. */ typedef struct { FM fmFS; // The name of the fs UINT16 wVersion; HAPS haps; // Handle to sorted list of links } ADS, *QADS; #endif // _ANNOPRIV