windows-nt/Source/XPSP1/NT/sdktools/mep/help/inc/helpsys.h

93 lines
2.1 KiB
C
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/*
** helpsys.h - Help system internal definitions
**
** Copyright <C> 1987, Microsoft Corporation
**
** Purpose:
** Contains definitions used within the help system.
**
** Revision History:
**
** 12-Mar-1990 CloseFile -> HelpCloseFile
** 22-Jan-1990 MAXFILES from 50 to 100
** [] 14-Dec-1987 Created
**
*/
/*
** definitions
*/
#ifndef NULL
#define NULL 0
#endif
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif
#define ASCII 1 /* build with ASCII support */
#define MAXBACK 20 /* max number of back-up's */
#define MAXFILES 100 /* max number of open helpfiles */
#define FTCOMPRESSED 0x01 /* 1=compressed, 0=ascii */
#define FTFORMATTED 0x02 /* 1=formatted, 0=unformatted */
#define FTMERGED 0x04 /* 1=merged index, 0=normal */
#define REGISTER register
#define HIGHONLY(l) ((ulong)l & 0xffff0000)
#define HIGH(l) ((ushort)(HIGHONLY(l) >> 16))
#define LOW(l) ((ushort)((ulong)l & 0xffff))
/*
** Forward declarations for client application call-back routines
*/
#if rjsa
#define HelpDealloc(sel) DosFreeSeg(sel)
#define HelpLock(sel) ((void *)((ulong)sel << 16))
#define HelpUnlock(sel)
#else
#define HelpDealloc(x) free(x)
#define HelpLock(x) (x)
#define HelpUnlock(x)
#endif
void pascal HelpCloseFile(FILE *);
mh pascal HelpAlloc(ushort);
FILE * pascal OpenFileOnPath(char *, int);
ulong pascal ReadHelpFile(FILE *, ulong, char *, ushort);
/*
** intlineattr
** internal representation of lineattributes
*/
typedef struct intlineattr { /* ILA */
uchar attr; /* attribute index */
uchar cb; /* count of bytes */
} intlineattr;
/******************************************************************************
**
** PB maniputalors
** Macros for locking and unlocking handle:offsets, as appropriate.
*/
#ifdef HOFFSET
#define PBLOCK(ho) (((char *)HelpLock(HIGH(ho))) + LOW(ho))
#define PBUNLOCK(ho) HelpUnlock(HIGH(ho))
#else
#define PBLOCK(ho) ((void *)ho)
#define PBUNLOCK(ho)
#endif
PCHAR pascal hlp_locate (SHORT ln, PCHAR pTopic);
FILE *pathopen (char *name, char *buf, char *mode);