-;;/*++ BUILD Version: 0004 // Increment this if a change has global effects
-;;
-;;Copyright (c) 1985-91, Microsoft Corporation
-;;
-;;Module Name:
-;;
-;; wingdi.h
-;;
-;;Abstract:
-;;
-;; Procedure declarations, constant definitions and macros for the GDI
-;; component.
-;;
-;;--*/
-;;
-;;#ifndef _WINGDI_
-;;#define _WINGDI_
-;;
-;;#ifdef __cplusplus
-;;extern "C" {
-;;#endif
-;;
-;;#ifndef NOGDI
-;;
-;;#ifndef NORASTEROPS
-;;
-;;/* Binary raster ops */
-(define-integrable R2_BLACK 1 ) ; /* 0 */
-(define-integrable R2_NOTMERGEPEN 2 ) ; /* DPon */
-(define-integrable R2_MASKNOTPEN 3 ) ; /* DPna */
-(define-integrable R2_NOTCOPYPEN 4 ) ; /* PN */
-(define-integrable R2_MASKPENNOT 5 ) ; /* PDna */
-(define-integrable R2_NOT 6 ) ; /* Dn */
-(define-integrable R2_XORPEN 7 ) ; /* DPx */
-(define-integrable R2_NOTMASKPEN 8 ) ; /* DPan */
-(define-integrable R2_MASKPEN 9 ) ; /* DPa */
-(define-integrable R2_NOTXORPEN 10) ; /* DPxn */
-(define-integrable R2_NOP 11) ; /* D */
-(define-integrable R2_MERGENOTPEN 12) ; /* DPno */
-(define-integrable R2_COPYPEN 13) ; /* P */
-(define-integrable R2_MERGEPENNOT 14) ; /* PDno */
-(define-integrable R2_MERGEPEN 15) ; /* DPo */
-(define-integrable R2_WHITE 16) ; /* 1 */
+#| -*-Scheme-*-
+
+$Id: wingdi.scm,v 1.2 1999/01/09 03:37:18 cph Exp $
+
+Copyright (c) 1993, 1999 Massachusetts Institute of Technology
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+|#
+
+;;Binary raster ops
+(define-integrable R2_BLACK 1 ) ;0
+(define-integrable R2_NOTMERGEPEN 2 ) ;DPon
+(define-integrable R2_MASKNOTPEN 3 ) ;DPna
+(define-integrable R2_NOTCOPYPEN 4 ) ;PN
+(define-integrable R2_MASKPENNOT 5 ) ;PDna
+(define-integrable R2_NOT 6 ) ;Dn
+(define-integrable R2_XORPEN 7 ) ;DPx
+(define-integrable R2_NOTMASKPEN 8 ) ;DPan
+(define-integrable R2_MASKPEN 9 ) ;DPa
+(define-integrable R2_NOTXORPEN 10) ;DPxn
+(define-integrable R2_NOP 11) ;D
+(define-integrable R2_MERGENOTPEN 12) ;DPno
+(define-integrable R2_COPYPEN 13) ;P
+(define-integrable R2_MERGEPENNOT 14) ;PDno
+(define-integrable R2_MERGEPEN 15) ;DPo
+(define-integrable R2_WHITE 16) ;1
(define-integrable R2_LAST 16)
-;;/* Ternary raster operations */
-(define-integrable SRCCOPY #x00CC0020) ;/* dest = source */
-(define-integrable SRCPAINT #x00EE0086) ;/* dest = source OR dest */
-(define-integrable SRCAND #x008800C6) ;/* dest = source AND dest */
-(define-integrable SRCINVERT #x00660046) ;/* dest = source XOR dest */
-(define-integrable SRCERASE #x00440328) ;/* dest = source AND (NOT dest ) */
-(define-integrable NOTSRCCOPY #x00330008) ;/* dest = (NOT source) */
-(define-integrable NOTSRCERASE #x001100A6) ;/* dest = (NOT src) AND (NOT dest) */
-(define-integrable MERGECOPY #x00C000CA) ;/* dest = (source AND pattern) */
-(define-integrable MERGEPAINT #x00BB0226) ;/* dest = (NOT source) OR dest */
-(define-integrable PATCOPY #x00F00021) ;/* dest = pattern */
-(define-integrable PATPAINT #x00FB0A09) ;/* dest = DPSnoo */
-(define-integrable PATINVERT #x005A0049) ;/* dest = pattern XOR dest */
-(define-integrable DSTINVERT #x00550009) ;/* dest = (NOT dest) */
-(define-integrable BLACKNESS #x00000042) ;/* dest = BLACK */
-(define-integrable WHITENESS #x00FF0062) ;/* dest = WHITE */
-;;#endif /* NORASTEROPS */
-;;
+;; Ternary raster operations
+(define-integrable SRCCOPY #x00CC0020) ;dest = source
+(define-integrable SRCPAINT #x00EE0086) ;dest = source OR dest
+(define-integrable SRCAND #x008800C6) ;dest = source AND dest
+(define-integrable SRCINVERT #x00660046) ;dest = source XOR dest
+(define-integrable SRCERASE #x00440328) ;dest = source AND (NOT dest )
+(define-integrable NOTSRCCOPY #x00330008) ;dest = (NOT source)
+(define-integrable NOTSRCERASE #x001100A6) ;dest = (NOT src) AND (NOT dest)
+(define-integrable MERGECOPY #x00C000CA) ;dest = (source AND pattern)
+(define-integrable MERGEPAINT #x00BB0226) ;dest = (NOT source) OR dest
+(define-integrable PATCOPY #x00F00021) ;dest = pattern
+(define-integrable PATPAINT #x00FB0A09) ;dest = DPSnoo
+(define-integrable PATINVERT #x005A0049) ;dest = pattern XOR dest
+(define-integrable DSTINVERT #x00550009) ;dest = (NOT dest)
+(define-integrable BLACKNESS #x00000042) ;dest = BLACK
+(define-integrable WHITENESS #x00FF0062) ;dest = WHITE
+
(define-integrable GDI_ERROR #xFFFFFFFF)
-(define-integrable HGDI_ERROR #xFFFFFFFF) ;#define HGDI_ERROR ((HANDLE)(0xFFFFFFFFL))
+(define-integrable HGDI_ERROR #xFFFFFFFF)
-;;/* Region Flags */
+;;Region Flags
(define-integrable ERROR 0)
(define-integrable NULLREGION 1)
(define-integrable SIMPLEREGION 2)
(define-integrable COMPLEXREGION 3)
(define-integrable RGN_ERROR ERROR)
-;;/* CombineRgn() Styles */
+;;CombineRgn() Styles
(define-integrable RGN_AND 1)
(define-integrable RGN_OR 2)
(define-integrable RGN_XOR 3)
(define-integrable RGN_MIN RGN_AND)
(define-integrable RGN_MAX RGN_COPY)
-;;/* StretchBlt() Modes */
+;;StretchBlt() Modes
(define-integrable BLACKONWHITE 1)
(define-integrable WHITEONBLACK 2)
(define-integrable COLORONCOLOR 3)
(define-integrable HALFTONE 4)
(define-integrable MAXSTRETCHBLTMODE 4)
-;;/* PolyFill() Modes */
+;;PolyFill() Modes
(define-integrable ALTERNATE 1)
(define-integrable WINDING 2)
(define-integrable POLYFILL_LAST 2)
-;;/* Text Alignment Options */
+;;Text Alignment Options
(define-integrable TA_NOUPDATECP 0)
(define-integrable TA_UPDATECP 1)
(define-integrable ASPECT_FILTERING #x0001)
-;;/* Bounds Accumulation APIs */
+;;Bounds Accumulation APIs
(define-integrable DCB_RESET #x0001)
(define-integrable DCB_ACCUMULATE #x0002)
(define-integrable DCB_ENABLE #x0004)
(define-integrable DCB_DISABLE #x0008)
-;;#ifndef NOMETAFILE
-;;
-;;/* Metafile Functions */
+;;Metafile Functions
(define-integrable META_SETBKCOLOR #x0201)
(define-integrable META_SETBKMODE #x0102)
(define-integrable META_SETMAPMODE #x0103)
(define-integrable META_CREATEBRUSHINDIRECT #x02FC)
(define-integrable META_CREATEREGION #x06FF)
-;;#endif /* NOMETAFILE */
-;;
-;;/* GDI Escapes */
+;;GDI Escapes
(define-integrable NEWFRAME 1)
(define-integrable ABORTDOC 2)
(define-integrable NEXTBAND 3)
(define-integrable SET_BOUNDS 4109)
(define-integrable SET_MIRROR_MODE 4110)
-;;/* Spooler Error Codes */
+;;Spooler Error Codes
(define-integrable SP_NOTREPORTED #x4000)
(define-integrable SP_ERROR -1)
(define-integrable SP_APPABORT -2)
(define-integrable PR_JOBSTATUS #x0000)
-;;/* Object Definitions for EnumObjects() */
+;;Object Definitions for EnumObjects
(define-integrable OBJ_PEN 1)
(define-integrable OBJ_BRUSH 2)
(define-integrable OBJ_DC 3)
(define-integrable OBJ_ENHMETADC 12)
(define-integrable OBJ_ENHMETAFILE 13)
-;;/* xform stuff */
+;;xform stuff
(define-integrable MWT_IDENTITY 1)
(define-integrable MWT_LEFTMULTIPLY 2)
(define-integrable MWT_RIGHTMULTIPLY 3)
(define-integrable MWT_MIN MWT_IDENTITY)
(define-integrable MWT_MAX MWT_RIGHTMULTIPLY)
-;;#define _XFORM_
-;;typedef struct tagXFORM
-;; {
-;; FLOAT eM11;
-;; FLOAT eM12;
-;; FLOAT eM21;
-;; FLOAT eM22;
-;; FLOAT eDx;
-;; FLOAT eDy;
-;; } XFORM, *PXFORM, FAR *LPXFORM;
-;;
-;;/* Bitmap Header Definition */
-;;typedef struct tagBITMAP
-;; {
-;; LONG bmType;
-;; LONG bmWidth;
-;; LONG bmHeight;
-;; LONG bmWidthBytes;
-;; WORD bmPlanes;
-;; WORD bmBitsPixel;
-;; LPVOID bmBits;
-;; } BITMAP, *PBITMAP, NEAR *NPBITMAP, FAR *LPBITMAP;
-;;
-;;typedef struct tagRGBTRIPLE {
-;; BYTE rgbtBlue;
-;; BYTE rgbtGreen;
-;; BYTE rgbtRed;
-;;} RGBTRIPLE;
-;;
-;;typedef struct tagRGBQUAD {
-;; BYTE rgbBlue;
-;; BYTE rgbGreen;
-;; BYTE rgbRed;
-;; BYTE rgbReserved;
-;;} RGBQUAD;
-;;
-;;/* structures for defining DIBs */
-;;typedef struct tagBITMAPCOREHEADER {
-;; DWORD bcSize; /* used to get to color table */
-;; WORD bcWidth;
-;; WORD bcHeight;
-;; WORD bcPlanes;
-;; WORD bcBitCount;
-;;} BITMAPCOREHEADER, FAR *LPBITMAPCOREHEADER, *PBITMAPCOREHEADER;
-;;
-;;
-;;typedef struct tagBITMAPINFOHEADER{
-;; DWORD biSize;
-;; LONG biWidth;
-;; LONG biHeight;
-;; WORD biPlanes;
-;; WORD biBitCount;
-;; DWORD biCompression;
-;; DWORD biSizeImage;
-;; LONG biXPelsPerMeter;
-;; LONG biYPelsPerMeter;
-;; DWORD biClrUsed;
-;; DWORD biClrImportant;
-;;} BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER;
-;;
-;;/* constants for the biCompression field */
+;;constants for the biCompression field
(define-integrable BI_RGB 0)
(define-integrable BI_RLE8 1)
(define-integrable BI_RLE4 2)
(define-integrable BI_BITFIELDS 3)
-;;typedef struct tagBITMAPINFO {
-;; BITMAPINFOHEADER bmiHeader;
-;; RGBQUAD bmiColors[1];
-;;} BITMAPINFO, FAR *LPBITMAPINFO, *PBITMAPINFO;
-;;
-;;typedef struct tagBITMAPCOREINFO {
-;; BITMAPCOREHEADER bmciHeader;
-;; RGBTRIPLE bmciColors[1];
-;;} BITMAPCOREINFO, FAR *LPBITMAPCOREINFO, *PBITMAPCOREINFO;
-;;
-;;#pragma pack(2)
-;;typedef struct tagBITMAPFILEHEADER {
-;; WORD bfType;
-;; DWORD bfSize;
-;; WORD bfReserved1;
-;; WORD bfReserved2;
-;; DWORD bfOffBits;
-;;} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;
-;;#pragma pack()
-;;
-;;#define MAKEPOINTS(l) (*((POINTS FAR *)&(l)))
-;;
-;;#ifndef NOMETAFILE
-;;
-;;/* Clipboard Metafile Picture Structure */
-;;typedef struct tagHANDLETABLE
-;; {
-;; HGDIOBJ objectHandle[1];
-;; } HANDLETABLE, *PHANDLETABLE, FAR *LPHANDLETABLE;
-;;
-;;typedef struct tagMETARECORD
-;; {
-;; DWORD rdSize;
-;; WORD rdFunction;
-;; WORD rdParm[1];
-;; } METARECORD;
-;;typedef struct tagMETARECORD UNALIGNED *PMETARECORD;
-;;typedef struct tagMETARECORD UNALIGNED FAR *LPMETARECORD;
-;;
-;;typedef struct tagMETAFILEPICT
-;; {
-;; LONG mm;
-;; LONG xExt;
-;; LONG yExt;
-;; HMETAFILE hMF;
-;; } METAFILEPICT, FAR *LPMETAFILEPICT;
-;;
-;;#pragma pack(2)
-;;typedef struct tagMETAHEADER
-;;{
-;; WORD mtType;
-;; WORD mtHeaderSize;
-;; WORD mtVersion;
-;; DWORD mtSize;
-;; WORD mtNoObjects;
-;; DWORD mtMaxRecord;
-;; WORD mtNoParameters;
-;;} METAHEADER;
-;;typedef struct tagMETAHEADER UNALIGNED *PMETAHEADER;
-;;typedef struct tagMETAHEADER UNALIGNED FAR *LPMETAHEADER;
-;;
-;;#pragma pack()
-;;
-;;/* Enhanced Metafile structures */
-;;typedef struct tagENHMETARECORD
-;;{
-;; DWORD iType; // Record type MR_XXX
-;; DWORD nSize; // Record size in bytes
-;; DWORD dParm[1]; // Parameters
-;;} ENHMETARECORD, *PENHMETARECORD, *LPENHMETARECORD;
-;;
-;;typedef struct tagENHMETAHEADER
-;;{
-;; DWORD iType; // Record type MR_METAFILE
-;; DWORD nSize; // Record size in bytes. This may be greater
-;; // than the sizeof(ENHMETAHEADER).
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; RECTL rclFrame; // Inclusive-inclusive Picture Frame of metafile in .01 mm units
-;; DWORD dSignature; // Signature. Must be ENHMETA_SIGNATURE.
-;; DWORD nVersion; // Version number
-;; DWORD nBytes; // Size of the metafile in bytes
-;; DWORD nRecords; // Number of records in the metafile
-;; WORD nHandles; // Number of handles in the handle table
-;; // Handle index zero is reserved.
-;; WORD sReserved; // Reserved. Must be zero.
-;; DWORD nDescription; // Number of chars in the unicode description string
-;; // This is 0 if there is no description string
-;; DWORD offDescription; // Offset to the metafile description record.
-;; // This is 0 if there is no description string
-;; DWORD nPalEntries; // Number of entries in the metafile palette.
-;; SIZEL szlDevice; // Size of the reference device in pels
-;; SIZEL szlMillimeters; // Size of the reference device in millimeters
-;;} ENHMETAHEADER, *PENHMETAHEADER, *LPENHMETAHEADER;
-;;
-;;#endif /* NOMETAFILE */
-;;
-;;#ifndef NOTEXTMETRIC
-;;
-;;/* tmPitchAntFamily flags */
+;;tmPitchAntFamily flags
(define-integrable TMPF_FIXED_PITCH #x01)
(define-integrable TMPF_VECTOR #x02)
(define-integrable TMPF_DEVICE #x08)
(define-integrable TMPF_TRUETYPE #x04)
-;;typedef struct tagTEXTMETRICA
-;;{
-;; LONG tmHeight;
-;; LONG tmAscent;
-;; LONG tmDescent;
-;; LONG tmInternalLeading;
-;; LONG tmExternalLeading;
-;; LONG tmAveCharWidth;
-;; LONG tmMaxCharWidth;
-;; LONG tmWeight;
-;; LONG tmOverhang;
-;; LONG tmDigitizedAspectX;
-;; LONG tmDigitizedAspectY;
-;; BYTE tmFirstChar;
-;; BYTE tmLastChar;
-;; BYTE tmDefaultChar;
-;; BYTE tmBreakChar;
-;; BYTE tmItalic;
-;; BYTE tmUnderlined;
-;; BYTE tmStruckOut;
-;; BYTE tmPitchAndFamily;
-;; BYTE tmCharSet;
-;;} TEXTMETRICA, *PTEXTMETRICA, NEAR *NPTEXTMETRICA, FAR *LPTEXTMETRICA;
-;;typedef struct tagTEXTMETRICW
-;;{
-;; LONG tmHeight;
-;; LONG tmAscent;
-;; LONG tmDescent;
-;; LONG tmInternalLeading;
-;; LONG tmExternalLeading;
-;; LONG tmAveCharWidth;
-;; LONG tmMaxCharWidth;
-;; LONG tmWeight;
-;; LONG tmOverhang;
-;; LONG tmDigitizedAspectX;
-;; LONG tmDigitizedAspectY;
-;; WCHAR tmFirstChar;
-;; WCHAR tmLastChar;
-;; WCHAR tmDefaultChar;
-;; WCHAR tmBreakChar;
-;; BYTE tmItalic;
-;; BYTE tmUnderlined;
-;; BYTE tmStruckOut;
-;; BYTE tmPitchAndFamily;
-;; BYTE tmCharSet;
-;;} TEXTMETRICW, *PTEXTMETRICW, NEAR *NPTEXTMETRICW, FAR *LPTEXTMETRICW;
-;;#ifdef UNICODE
-;;typedef TEXTMETRICW TEXTMETRIC;
-;;typedef PTEXTMETRICW PTEXTMETRIC;
-;;typedef NPTEXTMETRICW NPTEXTMETRIC;
-;;typedef LPTEXTMETRICW LPTEXTMETRIC;
-;;#else
-;;typedef TEXTMETRICA TEXTMETRIC;
-;;typedef PTEXTMETRICA PTEXTMETRIC;
-;;typedef NPTEXTMETRICA NPTEXTMETRIC;
-;;typedef LPTEXTMETRICA LPTEXTMETRIC;
-;;#endif // UNICODE
-;;
-;;/* ntmFlags field flags */
+;;ntmFlags field flags
(define-integrable NTM_REGULAR #x00000040)
(define-integrable NTM_BOLD #x00000020)
(define-integrable NTM_ITALIC #x00000001)
-;;
-;;typedef struct tagNEWTEXTMETRICA
-;;{
-;; LONG tmHeight;
-;; LONG tmAscent;
-;; LONG tmDescent;
-;; LONG tmInternalLeading;
-;; LONG tmExternalLeading;
-;; LONG tmAveCharWidth;
-;; LONG tmMaxCharWidth;
-;; LONG tmWeight;
-;; LONG tmOverhang;
-;; LONG tmDigitizedAspectX;
-;; LONG tmDigitizedAspectY;
-;; BYTE tmFirstChar;
-;; BYTE tmLastChar;
-;; BYTE tmDefaultChar;
-;; BYTE tmBreakChar;
-;; BYTE tmItalic;
-;; BYTE tmUnderlined;
-;; BYTE tmStruckOut;
-;; BYTE tmPitchAndFamily;
-;; BYTE tmCharSet;
-;; DWORD ntmFlags;
-;; UINT ntmSizeEM;
-;; UINT ntmCellHeight;
-;; UINT ntmAvgWidth;
-;;} NEWTEXTMETRICA, *PNEWTEXTMETRICA, NEAR *NPNEWTEXTMETRICA, FAR *LPNEWTEXTMETRICA;
-;;typedef struct tagNEWTEXTMETRICW
-;;{
-;; LONG tmHeight;
-;; LONG tmAscent;
-;; LONG tmDescent;
-;; LONG tmInternalLeading;
-;; LONG tmExternalLeading;
-;; LONG tmAveCharWidth;
-;; LONG tmMaxCharWidth;
-;; LONG tmWeight;
-;; LONG tmOverhang;
-;; LONG tmDigitizedAspectX;
-;; LONG tmDigitizedAspectY;
-;; WCHAR tmFirstChar;
-;; WCHAR tmLastChar;
-;; WCHAR tmDefaultChar;
-;; WCHAR tmBreakChar;
-;; BYTE tmItalic;
-;; BYTE tmUnderlined;
-;; BYTE tmStruckOut;
-;; BYTE tmPitchAndFamily;
-;; BYTE tmCharSet;
-;; DWORD ntmFlags;
-;; UINT ntmSizeEM;
-;; UINT ntmCellHeight;
-;; UINT ntmAvgWidth;
-;;} NEWTEXTMETRICW, *PNEWTEXTMETRICW, NEAR *NPNEWTEXTMETRICW, FAR *LPNEWTEXTMETRICW;
-;;#ifdef UNICODE
-;;typedef NEWTEXTMETRICW NEWTEXTMETRIC;
-;;typedef PNEWTEXTMETRICW PNEWTEXTMETRIC;
-;;typedef NPNEWTEXTMETRICW NPNEWTEXTMETRIC;
-;;typedef LPNEWTEXTMETRICW LPNEWTEXTMETRIC;
-;;#else
-;;typedef NEWTEXTMETRICA NEWTEXTMETRIC;
-;;typedef PNEWTEXTMETRICA PNEWTEXTMETRIC;
-;;typedef NPNEWTEXTMETRICA NPNEWTEXTMETRIC;
-;;typedef LPNEWTEXTMETRICA LPNEWTEXTMETRIC;
-;;#endif // UNICODE
-;;
-;;#endif /* NOTEXTMETRIC */
-;;/* GDI Logical Objects: */
-;;
-;;/* Pel Array */
-;;typedef struct tagPELARRAY
-;; {
-;; LONG paXCount;
-;; LONG paYCount;
-;; LONG paXExt;
-;; LONG paYExt;
-;; BYTE paRGBs;
-;; } PELARRAY, *PPELARRAY, NEAR *NPPELARRAY, FAR *LPPELARRAY;
-;;
-;;/* Logical Brush (or Pattern) */
-;;typedef struct tagLOGBRUSH
-;; {
-;; UINT lbStyle;
-;; COLORREF lbColor;
-;; LONG lbHatch;
-;; } LOGBRUSH, *PLOGBRUSH, NEAR *NPLOGBRUSH, FAR *LPLOGBRUSH;
-;;
-;;typedef LOGBRUSH PATTERN;
-;;typedef PATTERN *PPATTERN;
-;;typedef PATTERN NEAR *NPPATTERN;
-;;typedef PATTERN FAR *LPPATTERN;
-;;
-;;/* Logical Pen */
-;;typedef struct tagLOGPEN
-;; {
-;; UINT lopnStyle;
-;; POINT lopnWidth;
-;; COLORREF lopnColor;
-;; } LOGPEN, *PLOGPEN, NEAR *NPLOGPEN, FAR *LPLOGPEN;
-;;
-;;typedef struct tagEXTLOGPEN {
-;; DWORD elpPenStyle;
-;; DWORD elpWidth;
-;; UINT elpBrushStyle;
-;; COLORREF elpColor;
-;; LONG elpHatch;
-;; DWORD elpNumEntries;
-;; DWORD elpStyleEntry[1];
-;;} EXTLOGPEN, *PEXTLOGPEN, NEAR *NPEXTLOGPEN, FAR *LPEXTLOGPEN;
-;;
-;;typedef struct tagPALETTEENTRY {
-;; BYTE peRed;
-;; BYTE peGreen;
-;; BYTE peBlue;
-;; BYTE peFlags;
-;;} PALETTEENTRY, *PPALETTEENTRY, FAR *LPPALETTEENTRY;
-;;
-;;/* Logical Palette */
-;;typedef struct tagLOGPALETTE {
-;; WORD palVersion;
-;; WORD palNumEntries;
-;; PALETTEENTRY palPalEntry[1];
-;;} LOGPALETTE, *PLOGPALETTE, NEAR *NPLOGPALETTE, FAR *LPLOGPALETTE;
-;;
-;;
-;;/* Logical Font */
-;;#define LF_FACESIZE 32
-;;
-;;typedef struct tagLOGFONTA
-;;{
-;; LONG lfHeight;
-;; LONG lfWidth;
-;; LONG lfEscapement;
-;; LONG lfOrientation;
-;; LONG lfWeight;
-;; BYTE lfItalic;
-;; BYTE lfUnderline;
-;; BYTE lfStrikeOut;
-;; BYTE lfCharSet;
-;; BYTE lfOutPrecision;
-;; BYTE lfClipPrecision;
-;; BYTE lfQuality;
-;; BYTE lfPitchAndFamily;
-;; CHAR lfFaceName[LF_FACESIZE];
-;;} LOGFONTA, *PLOGFONTA, NEAR *NPLOGFONTA, FAR *LPLOGFONTA;
-;;typedef struct tagLOGFONTW
-;;{
-;; LONG lfHeight;
-;; LONG lfWidth;
-;; LONG lfEscapement;
-;; LONG lfOrientation;
-;; LONG lfWeight;
-;; BYTE lfItalic;
-;; BYTE lfUnderline;
-;; BYTE lfStrikeOut;
-;; BYTE lfCharSet;
-;; BYTE lfOutPrecision;
-;; BYTE lfClipPrecision;
-;; BYTE lfQuality;
-;; BYTE lfPitchAndFamily;
-;; WCHAR lfFaceName[LF_FACESIZE];
-;;} LOGFONTW, *PLOGFONTW, NEAR *NPLOGFONTW, FAR *LPLOGFONTW;
-;;#ifdef UNICODE
-;;typedef LOGFONTW LOGFONT;
-;;typedef PLOGFONTW PLOGFONT;
-;;typedef NPLOGFONTW NPLOGFONT;
-;;typedef LPLOGFONTW LPLOGFONT;
-;;#else
-;;typedef LOGFONTA LOGFONT;
-;;typedef PLOGFONTA PLOGFONT;
-;;typedef NPLOGFONTA NPLOGFONT;
-;;typedef LPLOGFONTA LPLOGFONT;
-;;#endif // UNICODE
-;;
+
(define-integrable LF_FULLFACESIZE 64)
-;;
-;;/* Structure passed to FONTENUMPROC */
-;;typedef struct tagENUMLOGFONTA
-;;{
-;; LOGFONTA elfLogFont;
-;; BYTE elfFullName[LF_FULLFACESIZE];
-;; BYTE elfStyle[LF_FACESIZE];
-;;} ENUMLOGFONTA, FAR* LPENUMLOGFONTA;
-;;/* Structure passed to FONTENUMPROC */
-;;typedef struct tagENUMLOGFONTW
-;;{
-;; LOGFONTW elfLogFont;
-;; WCHAR elfFullName[LF_FULLFACESIZE];
-;; WCHAR elfStyle[LF_FACESIZE];
-;;} ENUMLOGFONTW, FAR* LPENUMLOGFONTW;
-;;#ifdef UNICODE
-;;typedef ENUMLOGFONTW ENUMLOGFONT;
-;;typedef LPENUMLOGFONTW LPENUMLOGFONT;
-;;#else
-;;typedef ENUMLOGFONTA ENUMLOGFONT;
-;;typedef LPENUMLOGFONTA LPENUMLOGFONT;
-;;#endif // UNICODE
-;;
+
(define-integrable OUT_DEFAULT_PRECIS 0)
(define-integrable OUT_STRING_PRECIS 1)
(define-integrable OUT_CHARACTER_PRECIS 2)
(define-integrable CHINESEBIG5_CHARSET 136)
(define-integrable OEM_CHARSET 255)
-;;/* Font Families */
-(define-integrable FF_DONTCARE (fix:lsh 0 4)) ;/* Don't care or don't know. */
-(define-integrable FF_ROMAN (fix:lsh 1 4)) ;/* Variable stroke width, serifed. */
- ;/* Times Roman, Century Schoolbook, etc. */
-(define-integrable FF_SWISS (fix:lsh 2 4)) ;/* Variable stroke width, sans-serifed. */
- ;/* Helvetica, Swiss, etc. */
-(define-integrable FF_MODERN (fix:lsh 3 4)) ;/* Constant stroke width, serifed or sans-serifed. */
- ;/* Pica, Elite, Courier, etc. */
-(define-integrable FF_SCRIPT (fix:lsh 4 4)) ;/* Cursive, etc. */
-(define-integrable FF_DECORATIVE (fix:lsh 5 4)) ;/* Old English, etc. */
-
-;;/* Font Weights */
+;;Font Families
+(define-integrable FF_DONTCARE (fix:lsh 0 4)) ;Don't care or don't know.
+(define-integrable FF_ROMAN (fix:lsh 1 4)) ;Variable stroke width, serifed.
+ ;Times Roman, Century Schoolbook, etc.
+(define-integrable FF_SWISS (fix:lsh 2 4)) ;Variable stroke width, sans-serifed.
+ ;Helvetica, Swiss, etc.
+(define-integrable FF_MODERN (fix:lsh 3 4)) ;Constant stroke width, serifed or sans-serifed.
+ ;Pica, Elite, Courier, etc.
+(define-integrable FF_SCRIPT (fix:lsh 4 4)) ;Cursive, etc.
+(define-integrable FF_DECORATIVE (fix:lsh 5 4)) ;Old English, etc.
+
+;;Font Weights
(define-integrable FW_DONTCARE 0)
(define-integrable FW_THIN 100)
(define-integrable FW_EXTRALIGHT 200)
(define-integrable PAN_CULTURE_LATIN 0)
-;;typedef struct tagPANOSE
-;;{
-;; BYTE bFamilyType;
-;; BYTE bSerifStyle;
-;; BYTE bWeight;
-;; BYTE bProportion;
-;; BYTE bContrast;
-;; BYTE bStrokeVariation;
-;; BYTE bArmStyle;
-;; BYTE bLetterform;
-;; BYTE bMidline;
-;; BYTE bXHeight;
-;;} PANOSE, * LPPANOSE;
-
-(define-integrable PAN_ANY 0);/* Any */
-(define-integrable PAN_NO_FIT 1);/* No Fit */
-
-(define-integrable PAN_FAMILY_TEXT_DISPLAY 2);/* Text and Display */
-(define-integrable PAN_FAMILY_SCRIPT 3);/* Script */
-(define-integrable PAN_FAMILY_DECORATIVE 4);/* Decorative */
-(define-integrable PAN_FAMILY_PICTORIAL 5);/* Pictorial */
-
-(define-integrable PAN_SERIF_COVE 2);/* Cove */
-(define-integrable PAN_SERIF_OBTUSE_COVE 3);/* Obtuse Cove */
-(define-integrable PAN_SERIF_SQUARE_COVE 4);/* Square Cove */
-(define-integrable PAN_SERIF_OBTUSE_SQUARE_COVE 5);/* Obtuse Square Cove */
-(define-integrable PAN_SERIF_SQUARE 6);/* Square */
-(define-integrable PAN_SERIF_THIN 7);/* Thin */
-(define-integrable PAN_SERIF_BONE 8);/* Bone */
-(define-integrable PAN_SERIF_EXAGGERATED 9);/* Exaggerated */
-(define-integrable PAN_SERIF_TRIANGLE 10);/* Triangle */
-(define-integrable PAN_SERIF_NORMAL_SANS 11);/* Normal Sans */
-(define-integrable PAN_SERIF_OBTUSE_SANS 12);/* Obtuse Sans */
-(define-integrable PAN_SERIF_PERP_SANS 13);/* Prep Sans */
-(define-integrable PAN_SERIF_FLARED 14);/* Flared */
-(define-integrable PAN_SERIF_ROUNDED 15);/* Rounded */
-
-(define-integrable PAN_WEIGHT_VERY_LIGHT 2);/* Very Light */
-(define-integrable PAN_WEIGHT_LIGHT 3);/* Light */
-(define-integrable PAN_WEIGHT_THIN 4);/* Thin */
-(define-integrable PAN_WEIGHT_BOOK 5);/* Book */
-(define-integrable PAN_WEIGHT_MEDIUM 6);/* Medium */
-(define-integrable PAN_WEIGHT_DEMI 7);/* Demi */
-(define-integrable PAN_WEIGHT_BOLD 8);/* Bold */
-(define-integrable PAN_WEIGHT_HEAVY 9);/* Heavy */
-(define-integrable PAN_WEIGHT_BLACK 10);/* Black */
-(define-integrable PAN_WEIGHT_NORD 11);/* Nord */
-
-(define-integrable PAN_PROP_OLD_STYLE 2);/* Old Style */
-(define-integrable PAN_PROP_MODERN 3);/* Modern */
-(define-integrable PAN_PROP_EVEN_WIDTH 4);/* Even Width */
-(define-integrable PAN_PROP_EXPANDED 5);/* Expanded */
-(define-integrable PAN_PROP_CONDENSED 6);/* Condensed */
-(define-integrable PAN_PROP_VERY_EXPANDED 7);/* Very Expanded */
-(define-integrable PAN_PROP_VERY_CONDENSED 8);/* Very Condensed */
-(define-integrable PAN_PROP_MONOSPACED 9);/* Monospaced */
-
-(define-integrable PAN_CONTRAST_NONE 2);/* None */
-(define-integrable PAN_CONTRAST_VERY_LOW 3);/* Very Low */
-(define-integrable PAN_CONTRAST_LOW 4);/* Low */
-(define-integrable PAN_CONTRAST_MEDIUM_LOW 5);/* Medium Low */
-(define-integrable PAN_CONTRAST_MEDIUM 6);/* Medium */
-(define-integrable PAN_CONTRAST_MEDIUM_HIGH 7);/* Mediim High */
-(define-integrable PAN_CONTRAST_HIGH 8);/* High */
-(define-integrable PAN_CONTRAST_VERY_HIGH 9);/* Very High */
-
-(define-integrable PAN_STROKE_GRADUAL_DIAG 2);/* Gradual/Diagonal */
-(define-integrable PAN_STROKE_GRADUAL_TRAN 3);/* Gradual/Transitional */
-(define-integrable PAN_STROKE_GRADUAL_VERT 4);/* Gradual/Vertical */
-(define-integrable PAN_STROKE_GRADUAL_HORZ 5);/* Gradual/Horizontal */
-(define-integrable PAN_STROKE_RAPID_VERT 6);/* Rapid/Vertical */
-(define-integrable PAN_STROKE_RAPID_HORZ 7);/* Rapid/Horizontal */
-(define-integrable PAN_STROKE_INSTANT_VERT 8);/* Instant/Vertical */
-
-(define-integrable PAN_STRAIGHT_ARMS_HORZ 2);/* Straight Arms/Horizontal */
-(define-integrable PAN_STRAIGHT_ARMS_WEDGE 3);/* Straight Arms/Wedge */
-(define-integrable PAN_STRAIGHT_ARMS_VERT 4);/* Straight Arms/Vertical */
-(define-integrable PAN_STRAIGHT_ARMS_SINGLE_SERIF 5);/* Straight Arms/Single-Serif */
-(define-integrable PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6);/* Straight Arms/Double-Serif */
-(define-integrable PAN_BENT_ARMS_HORZ 7);/* Non-Straight Arms/Horizontal */
-(define-integrable PAN_BENT_ARMS_WEDGE 8);/* Non-Straight Arms/Wedge */
-(define-integrable PAN_BENT_ARMS_VERT 9);/* Non-Straight Arms/Vertical */
-(define-integrable PAN_BENT_ARMS_SINGLE_SERIF 10);/* Non-Straight Arms/Single-Serif */
-(define-integrable PAN_BENT_ARMS_DOUBLE_SERIF 11);/* Non-Straight Arms/Double-Serif */
-
-(define-integrable PAN_LETT_NORMAL_CONTACT 2);/* Normal/Contact */
-(define-integrable PAN_LETT_NORMAL_WEIGHTED 3);/* Normal/Weighted */
-(define-integrable PAN_LETT_NORMAL_BOXED 4);/* Normal/Boxed */
-(define-integrable PAN_LETT_NORMAL_FLATTENED 5);/* Normal/Flattened */
-(define-integrable PAN_LETT_NORMAL_ROUNDED 6);/* Normal/Rounded */
-(define-integrable PAN_LETT_NORMAL_OFF_CENTER 7);/* Normal/Off Center */
-(define-integrable PAN_LETT_NORMAL_SQUARE 8);/* Normal/Square */
-(define-integrable PAN_LETT_OBLIQUE_CONTACT 9);/* Oblique/Contact */
-(define-integrable PAN_LETT_OBLIQUE_WEIGHTED 10);/* Oblique/Weighted */
-(define-integrable PAN_LETT_OBLIQUE_BOXED 11);/* Oblique/Boxed */
-(define-integrable PAN_LETT_OBLIQUE_FLATTENED 12);/* Oblique/Flattened */
-(define-integrable PAN_LETT_OBLIQUE_ROUNDED 13);/* Oblique/Rounded */
-(define-integrable PAN_LETT_OBLIQUE_OFF_CENTER 14);/* Oblique/Off Center */
-(define-integrable PAN_LETT_OBLIQUE_SQUARE 15);/* Oblique/Square */
-
-(define-integrable PAN_MIDLINE_STANDARD_TRIMMED 2);/* Standard/Trimmed */
-(define-integrable PAN_MIDLINE_STANDARD_POINTED 3);/* Standard/Pointed */
-(define-integrable PAN_MIDLINE_STANDARD_SERIFED 4);/* Standard/Serifed */
-(define-integrable PAN_MIDLINE_HIGH_TRIMMED 5);/* High/Trimmed */
-(define-integrable PAN_MIDLINE_HIGH_POINTED 6);/* High/Pointed */
-(define-integrable PAN_MIDLINE_HIGH_SERIFED 7);/* High/Serifed */
-(define-integrable PAN_MIDLINE_CONSTANT_TRIMMED 8);/* Constant/Trimmed */
-(define-integrable PAN_MIDLINE_CONSTANT_POINTED 9);/* Constant/Pointed */
-(define-integrable PAN_MIDLINE_CONSTANT_SERIFED 10);/* Constant/Serifed */
-(define-integrable PAN_MIDLINE_LOW_TRIMMED 11);/* Low/Trimmed */
-(define-integrable PAN_MIDLINE_LOW_POINTED 12);/* Low/Pointed */
-(define-integrable PAN_MIDLINE_LOW_SERIFED 13);/* Low/Serifed */
-
-(define-integrable PAN_XHEIGHT_CONSTANT_SMALL 2);/* Constant/Small */
-(define-integrable PAN_XHEIGHT_CONSTANT_STD 3);/* Constant/Standard */
-(define-integrable PAN_XHEIGHT_CONSTANT_LARGE 4);/* Constant/Large */
-(define-integrable PAN_XHEIGHT_DUCKING_SMALL 5);/* Ducking/Small */
-(define-integrable PAN_XHEIGHT_DUCKING_STD 6);/* Ducking/Standard */
-(define-integrable PAN_XHEIGHT_DUCKING_LARGE 7);/* Ducking/Large */
-
+(define-integrable PAN_ANY 0);Any
+(define-integrable PAN_NO_FIT 1);No Fit
+
+(define-integrable PAN_FAMILY_TEXT_DISPLAY 2);Text and Display
+(define-integrable PAN_FAMILY_SCRIPT 3);Script
+(define-integrable PAN_FAMILY_DECORATIVE 4);Decorative
+(define-integrable PAN_FAMILY_PICTORIAL 5);Pictorial
+
+(define-integrable PAN_SERIF_COVE 2);Cove
+(define-integrable PAN_SERIF_OBTUSE_COVE 3);Obtuse Cove
+(define-integrable PAN_SERIF_SQUARE_COVE 4);Square Cove
+(define-integrable PAN_SERIF_OBTUSE_SQUARE_COVE 5);Obtuse Square Cove
+(define-integrable PAN_SERIF_SQUARE 6);Square
+(define-integrable PAN_SERIF_THIN 7);Thin
+(define-integrable PAN_SERIF_BONE 8);Bone
+(define-integrable PAN_SERIF_EXAGGERATED 9);Exaggerated
+(define-integrable PAN_SERIF_TRIANGLE 10);Triangle
+(define-integrable PAN_SERIF_NORMAL_SANS 11);Normal Sans
+(define-integrable PAN_SERIF_OBTUSE_SANS 12);Obtuse Sans
+(define-integrable PAN_SERIF_PERP_SANS 13);Prep Sans
+(define-integrable PAN_SERIF_FLARED 14);Flared
+(define-integrable PAN_SERIF_ROUNDED 15);Rounded
+
+(define-integrable PAN_WEIGHT_VERY_LIGHT 2);Very Light
+(define-integrable PAN_WEIGHT_LIGHT 3);Light
+(define-integrable PAN_WEIGHT_THIN 4);Thin
+(define-integrable PAN_WEIGHT_BOOK 5);Book
+(define-integrable PAN_WEIGHT_MEDIUM 6);Medium
+(define-integrable PAN_WEIGHT_DEMI 7);Demi
+(define-integrable PAN_WEIGHT_BOLD 8);Bold
+(define-integrable PAN_WEIGHT_HEAVY 9);Heavy
+(define-integrable PAN_WEIGHT_BLACK 10);Black
+(define-integrable PAN_WEIGHT_NORD 11);Nord
+
+(define-integrable PAN_PROP_OLD_STYLE 2);Old Style
+(define-integrable PAN_PROP_MODERN 3);Modern
+(define-integrable PAN_PROP_EVEN_WIDTH 4);Even Width
+(define-integrable PAN_PROP_EXPANDED 5);Expanded
+(define-integrable PAN_PROP_CONDENSED 6);Condensed
+(define-integrable PAN_PROP_VERY_EXPANDED 7);Very Expanded
+(define-integrable PAN_PROP_VERY_CONDENSED 8);Very Condensed
+(define-integrable PAN_PROP_MONOSPACED 9);Monospaced
+
+(define-integrable PAN_CONTRAST_NONE 2);None
+(define-integrable PAN_CONTRAST_VERY_LOW 3);Very Low
+(define-integrable PAN_CONTRAST_LOW 4);Low
+(define-integrable PAN_CONTRAST_MEDIUM_LOW 5);Medium Low
+(define-integrable PAN_CONTRAST_MEDIUM 6);Medium
+(define-integrable PAN_CONTRAST_MEDIUM_HIGH 7);Mediim High
+(define-integrable PAN_CONTRAST_HIGH 8);High
+(define-integrable PAN_CONTRAST_VERY_HIGH 9);Very High
+
+(define-integrable PAN_STROKE_GRADUAL_DIAG 2);Gradual/Diagonal
+(define-integrable PAN_STROKE_GRADUAL_TRAN 3);Gradual/Transitional
+(define-integrable PAN_STROKE_GRADUAL_VERT 4);Gradual/Vertical
+(define-integrable PAN_STROKE_GRADUAL_HORZ 5);Gradual/Horizontal
+(define-integrable PAN_STROKE_RAPID_VERT 6);Rapid/Vertical
+(define-integrable PAN_STROKE_RAPID_HORZ 7);Rapid/Horizontal
+(define-integrable PAN_STROKE_INSTANT_VERT 8);Instant/Vertical
+
+(define-integrable PAN_STRAIGHT_ARMS_HORZ 2);Straight Arms/Horizontal
+(define-integrable PAN_STRAIGHT_ARMS_WEDGE 3);Straight Arms/Wedge
+(define-integrable PAN_STRAIGHT_ARMS_VERT 4);Straight Arms/Vertical
+(define-integrable PAN_STRAIGHT_ARMS_SINGLE_SERIF 5);Straight Arms/Single-Serif
+(define-integrable PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6);Straight Arms/Double-Serif
+(define-integrable PAN_BENT_ARMS_HORZ 7);Non-Straight Arms/Horizontal
+(define-integrable PAN_BENT_ARMS_WEDGE 8);Non-Straight Arms/Wedge
+(define-integrable PAN_BENT_ARMS_VERT 9);Non-Straight Arms/Vertical
+(define-integrable PAN_BENT_ARMS_SINGLE_SERIF 10);Non-Straight Arms/Single-Serif
+(define-integrable PAN_BENT_ARMS_DOUBLE_SERIF 11);Non-Straight Arms/Double-Serif
+
+(define-integrable PAN_LETT_NORMAL_CONTACT 2);Normal/Contact
+(define-integrable PAN_LETT_NORMAL_WEIGHTED 3);Normal/Weighted
+(define-integrable PAN_LETT_NORMAL_BOXED 4);Normal/Boxed
+(define-integrable PAN_LETT_NORMAL_FLATTENED 5);Normal/Flattened
+(define-integrable PAN_LETT_NORMAL_ROUNDED 6);Normal/Rounded
+(define-integrable PAN_LETT_NORMAL_OFF_CENTER 7);Normal/Off Center
+(define-integrable PAN_LETT_NORMAL_SQUARE 8);Normal/Square
+(define-integrable PAN_LETT_OBLIQUE_CONTACT 9);Oblique/Contact
+(define-integrable PAN_LETT_OBLIQUE_WEIGHTED 10);Oblique/Weighted
+(define-integrable PAN_LETT_OBLIQUE_BOXED 11);Oblique/Boxed
+(define-integrable PAN_LETT_OBLIQUE_FLATTENED 12);Oblique/Flattened
+(define-integrable PAN_LETT_OBLIQUE_ROUNDED 13);Oblique/Rounded
+(define-integrable PAN_LETT_OBLIQUE_OFF_CENTER 14);Oblique/Off Center
+(define-integrable PAN_LETT_OBLIQUE_SQUARE 15);Oblique/Square
+
+(define-integrable PAN_MIDLINE_STANDARD_TRIMMED 2);Standard/Trimmed
+(define-integrable PAN_MIDLINE_STANDARD_POINTED 3);Standard/Pointed
+(define-integrable PAN_MIDLINE_STANDARD_SERIFED 4);Standard/Serifed
+(define-integrable PAN_MIDLINE_HIGH_TRIMMED 5);High/Trimmed
+(define-integrable PAN_MIDLINE_HIGH_POINTED 6);High/Pointed
+(define-integrable PAN_MIDLINE_HIGH_SERIFED 7);High/Serifed
+(define-integrable PAN_MIDLINE_CONSTANT_TRIMMED 8);Constant/Trimmed
+(define-integrable PAN_MIDLINE_CONSTANT_POINTED 9);Constant/Pointed
+(define-integrable PAN_MIDLINE_CONSTANT_SERIFED 10);Constant/Serifed
+(define-integrable PAN_MIDLINE_LOW_TRIMMED 11);Low/Trimmed
+(define-integrable PAN_MIDLINE_LOW_POINTED 12);Low/Pointed
+(define-integrable PAN_MIDLINE_LOW_SERIFED 13);Low/Serifed
+
+(define-integrable PAN_XHEIGHT_CONSTANT_SMALL 2);Constant/Small
+(define-integrable PAN_XHEIGHT_CONSTANT_STD 3);Constant/Standard
+(define-integrable PAN_XHEIGHT_CONSTANT_LARGE 4);Constant/Large
+(define-integrable PAN_XHEIGHT_DUCKING_SMALL 5);Ducking/Small
+(define-integrable PAN_XHEIGHT_DUCKING_STD 6);Ducking/Standard
+(define-integrable PAN_XHEIGHT_DUCKING_LARGE 7);Ducking/Large
(define-integrable ELF_VENDOR_SIZE 4)
-;;/* The extended logical font */
-;;/* An extension of the ENUMLOGFONT */
-
-;;typedef struct tagEXTLOGFONTA {
-;; LOGFONTA elfLogFont;
-;; BYTE elfFullName[LF_FULLFACESIZE];
-;; BYTE elfStyle[LF_FACESIZE];
-;; DWORD elfVersion; /* 0 for the first release of NT */
-;; DWORD elfStyleSize;
-;; DWORD elfMatch;
-;; DWORD elfReserved;
-;; BYTE elfVendorId[ELF_VENDOR_SIZE];
-;; DWORD elfCulture; /* 0 for Latin */
-;; PANOSE elfPanose;
-;;} EXTLOGFONTA, *PEXTLOGFONTA, NEAR *NPEXTLOGFONTA, FAR *LPEXTLOGFONTA;
-;;typedef struct tagEXTLOGFONTW {
-;; LOGFONTW elfLogFont;
-;; WCHAR elfFullName[LF_FULLFACESIZE];
-;; WCHAR elfStyle[LF_FACESIZE];
-;; DWORD elfVersion; /* 0 for the first release of NT */
-;; DWORD elfStyleSize;
-;; DWORD elfMatch;
-;; DWORD elfReserved;
-;; BYTE elfVendorId[ELF_VENDOR_SIZE];
-;; DWORD elfCulture; /* 0 for Latin */
-;; PANOSE elfPanose;
-;;} EXTLOGFONTW, *PEXTLOGFONTW, NEAR *NPEXTLOGFONTW, FAR *LPEXTLOGFONTW;
-;;#ifdef UNICODE
-;;typedef EXTLOGFONTW EXTLOGFONT;
-;;typedef PEXTLOGFONTW PEXTLOGFONT;
-;;typedef NPEXTLOGFONTW NPEXTLOGFONT;
-;;typedef LPEXTLOGFONTW LPEXTLOGFONT;
-;;#else
-;;typedef EXTLOGFONTA EXTLOGFONT;
-;;typedef PEXTLOGFONTA PEXTLOGFONT;
-;;typedef NPEXTLOGFONTA NPEXTLOGFONT;
-;;typedef LPEXTLOGFONTA LPEXTLOGFONT;
-;;#endif // UNICODE
-;;
-;;
+;;The extended logical font
+;;An extension of the ENUMLOGFONT
(define-integrable ELF_VERSION 0)
(define-integrable ELF_CULTURE_LATIN 0)
-;;
-;;/* EnumFonts Masks */
-(define-integrable RASTER_FONTTYPE #x0001)
+
+;;EnumFonts Masks
+(define-integrable RASTER_FONTTYPE #x001)
(define-integrable DEVICE_FONTTYPE #x002)
(define-integrable TRUETYPE_FONTTYPE #x004)
-;;
-;;#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)(g)<<8))|(((DWORD)(BYTE)(b))<<16)))
-;;#define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b))
-;;#define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (DWORD)(WORD)(i)))
-;;
-;;/* palette entry flags */
-;;
-(define-integrable PC_RESERVED #x01 );/* palette index used for animation */
-(define-integrable PC_EXPLICIT #x02 );/* palette index is explicit to device */
-(define-integrable PC_NOCOLLAPSE #x04 );/* do not match color to system palette */
-;;#define GetRValue(rgb) ((BYTE)(rgb))
-;;#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
-;;#define GetBValue(rgb) ((BYTE)((rgb)>>16))
-;;
-;;/* Background Modes */
+;;palette entry flags
+(define-integrable PC_RESERVED #x01 );palette index used for animation
+(define-integrable PC_EXPLICIT #x02 );palette index is explicit to device
+(define-integrable PC_NOCOLLAPSE #x04 );do not match color to system palette
+
+;;Background Modes
(define-integrable TRANSPARENT 1)
(define-integrable OPAQUE 2)
(define-integrable BKMODE_LAST 2)
-;;/* Graphics Modes */
-
+;;Graphics Modes
(define-integrable GM_COMPATIBLE 1)
(define-integrable GM_ADVANCED 2)
(define-integrable GM_LAST 2)
-;;/* PolyDraw and GetPath point types */
+;;PolyDraw and GetPath point types
(define-integrable PT_CLOSEFIGURE #x01)
(define-integrable PT_LINETO #x02)
(define-integrable PT_BEZIERTO #x04)
(define-integrable PT_MOVETO #x06)
-;;/* Mapping Modes */
+;;Mapping Modes
(define-integrable MM_TEXT 1)
(define-integrable MM_LOMETRIC 2)
(define-integrable MM_HIMETRIC 3)
(define-integrable MM_ISOTROPIC 7)
(define-integrable MM_ANISOTROPIC 8)
-;;/* Min and Max Mapping Mode values */
+;;Min and Max Mapping Mode values
(define-integrable MM_MIN MM_TEXT)
(define-integrable MM_MAX MM_ANISOTROPIC)
(define-integrable MM_MAX_FIXEDSCALE MM_TWIPS)
-;;/* Coordinate Modes */
+;;Coordinate Modes
(define-integrable ABSOLUTE 1)
(define-integrable RELATIVE 2)
-;;/* Stock Logical Objects */
+;;Stock Logical Objects
(define-integrable WHITE_BRUSH 0)
(define-integrable LTGRAY_BRUSH 1)
(define-integrable GRAY_BRUSH 2)
(define-integrable CLR_INVALID #xFFFFFFFF)
-;;/* Brush Styles */
+;;Brush Styles
(define-integrable BS_SOLID 0)
(define-integrable BS_NULL 1)
(define-integrable BS_HOLLOW BS_NULL)
(define-integrable BS_DIBPATTERNPT 6)
(define-integrable BS_PATTERN8X8 7)
-;;/* Hatch Styles */
-(define-integrable HS_HORIZONTAL 0) ;/* ----- */
-(define-integrable HS_VERTICAL 1) ;/* ||||| */
-(define-integrable HS_FDIAGONAL 2) ;/* \\\\\ */
-(define-integrable HS_BDIAGONAL 3) ;/* ///// */
-(define-integrable HS_CROSS 4) ;/* +++++ */
-(define-integrable HS_DIAGCROSS 5) ;/* xxxxx */
+;;Hatch Styles
+(define-integrable HS_HORIZONTAL 0) ;-----
+(define-integrable HS_VERTICAL 1) ;|||||
+(define-integrable HS_FDIAGONAL 2) ;\\\\\
+(define-integrable HS_BDIAGONAL 3) ;/////
+(define-integrable HS_CROSS 4) ;+++++
+(define-integrable HS_DIAGCROSS 5) ;xxxxx
(define-integrable HS_FDIAGONAL1 6)
(define-integrable HS_BDIAGONAL1 7)
(define-integrable HS_SOLID 8)
(define-integrable HS_DENSE8 16)
(define-integrable HS_NOSHADE 17)
(define-integrable HS_HALFTONE 18)
-(define-integrable HS_SOLIDCLR 19)
-(define-integrable HS_DITHEREDCLR 20)
+(define-integrable HS_SOLIDCLR 19)
+(define-integrable HS_DITHEREDCLR 20)
(define-integrable HS_SOLIDTEXTCLR 21)
(define-integrable HS_DITHEREDTEXTCLR 22)
-(define-integrable HS_SOLIDBKCLR 23)
+(define-integrable HS_SOLIDBKCLR 23)
(define-integrable HS_DITHEREDBKCLR 24)
-(define-integrable HS_API_MAX 25)
+(define-integrable HS_API_MAX 25)
-;;/* Pen Styles */
+;;Pen Styles
(define-integrable PS_SOLID 0)
-(define-integrable PS_DASH 1) ;/* ------- */
-(define-integrable PS_DOT 2) ;/* ....... */
-(define-integrable PS_DASHDOT 3) ;/* _._._._ */
-(define-integrable PS_DASHDOTDOT 4) ;/* _.._.._ */
+(define-integrable PS_DASH 1) ;-------
+(define-integrable PS_DOT 2) ;.......
+(define-integrable PS_DASHDOT 3) ;_._._._
+(define-integrable PS_DASHDOTDOT 4) ;_.._.._
(define-integrable PS_NULL 5)
(define-integrable PS_INSIDEFRAME 6)
(define-integrable PS_USERSTYLE 7)
(define-integrable AD_COUNTERCLOCKWISE 1)
(define-integrable AD_CLOCKWISE 2)
-;;/* Device Parameters for GetDeviceCaps() */
-(define-integrable DRIVERVERSION 0) ;/* Device driver version */
-(define-integrable TECHNOLOGY 2) ;/* Device classification */
-(define-integrable HORZSIZE 4) ;/* Horizontal size in millimeters */
-(define-integrable VERTSIZE 6) ;/* Vertical size in millimeters */
-(define-integrable HORZRES 8) ;/* Horizontal width in pixels */
-(define-integrable VERTRES 10) ;/* Vertical width in pixels */
-(define-integrable BITSPIXEL 12) ;/* Number of bits per pixel */
-(define-integrable PLANES 14) ;/* Number of planes */
-(define-integrable NUMBRUSHES 16) ;/* Number of brushes the device has */
-(define-integrable NUMPENS 18) ;/* Number of pens the device has */
-(define-integrable NUMMARKERS 20) ;/* Number of markers the device has */
-(define-integrable NUMFONTS 22) ;/* Number of fonts the device has */
-(define-integrable NUMCOLORS 24) ;/* Number of colors the device supports */
-(define-integrable PDEVICESIZE 26) ;/* Size required for device descriptor */
-(define-integrable CURVECAPS 28) ;/* Curve capabilities */
-(define-integrable LINECAPS 30) ;/* Line capabilities */
-(define-integrable POLYGONALCAPS 32) ;/* Polygonal capabilities */
-(define-integrable TEXTCAPS 34) ;/* Text capabilities */
-(define-integrable CLIPCAPS 36) ;/* Clipping capabilities */
-(define-integrable RASTERCAPS 38) ;/* Bitblt capabilities */
-(define-integrable ASPECTX 40) ;/* Length of the X leg */
-(define-integrable ASPECTY 42) ;/* Length of the Y leg */
-(define-integrable ASPECTXY 44) ;/* Length of the hypotenuse */
-
-(define-integrable LOGPIXELSX 88) ;/* Logical pixels/inch in X */
-(define-integrable LOGPIXELSY 90) ;/* Logical pixels/inch in Y */
-
-(define-integrable SIZEPALETTE 104) ;/* Number of entries in physical palette */
-(define-integrable NUMRESERVED 106) ;/* Number of reserved entries in palette */
-(define-integrable COLORRES 108) ;/* Actual color resolution */
-
-
-;;// Printing related DeviceCaps. These replace the appropriate Escapes
-
+;;Device Parameters for GetDeviceCaps
+(define-integrable DRIVERVERSION 0) ;Device driver version
+(define-integrable TECHNOLOGY 2) ;Device classification
+(define-integrable HORZSIZE 4) ;Horizontal size in millimeters
+(define-integrable VERTSIZE 6) ;Vertical size in millimeters
+(define-integrable HORZRES 8) ;Horizontal width in pixels
+(define-integrable VERTRES 10) ;Vertical width in pixels
+(define-integrable BITSPIXEL 12) ;Number of bits per pixel
+(define-integrable PLANES 14) ;Number of planes
+(define-integrable NUMBRUSHES 16) ;Number of brushes the device has
+(define-integrable NUMPENS 18) ;Number of pens the device has
+(define-integrable NUMMARKERS 20) ;Number of markers the device has
+(define-integrable NUMFONTS 22) ;Number of fonts the device has
+(define-integrable NUMCOLORS 24) ;Number of colors the device supports
+(define-integrable PDEVICESIZE 26) ;Size required for device descriptor
+(define-integrable CURVECAPS 28) ;Curve capabilities
+(define-integrable LINECAPS 30) ;Line capabilities
+(define-integrable POLYGONALCAPS 32) ;Polygonal capabilities
+(define-integrable TEXTCAPS 34) ;Text capabilities
+(define-integrable CLIPCAPS 36) ;Clipping capabilities
+(define-integrable RASTERCAPS 38) ;Bitblt capabilities
+(define-integrable ASPECTX 40) ;Length of the X leg
+(define-integrable ASPECTY 42) ;Length of the Y leg
+(define-integrable ASPECTXY 44) ;Length of the hypotenuse
+
+(define-integrable LOGPIXELSX 88) ;Logical pixels/inch in X
+(define-integrable LOGPIXELSY 90) ;Logical pixels/inch in Y
+
+(define-integrable SIZEPALETTE 104) ;Number of entries in physical palette
+(define-integrable NUMRESERVED 106) ;Number of reserved entries in palette
+(define-integrable COLORRES 108) ;Actual color resolution
+
+;; Printing related DeviceCaps. These replace the appropriate Escapes
(define-integrable PHYSICALWIDTH 110) ;// Physical Width in device units
(define-integrable PHYSICALHEIGHT 111) ;// Physical Height in device units
(define-integrable PHYSICALOFFSETX 112) ;// Physical Printable Area x margin
(define-integrable SCALINGFACTORX 114) ;// Scaling factor x
(define-integrable SCALINGFACTORY 115) ;// Scaling factor y
-;;#ifndef NOGDICAPMASKS
-;;
-;;;/* Device Capability Masks: */
-;;
-;;/* Device Technologies */
-(define-integrable DT_PLOTTER 0) ;/* Vector plotter */
-(define-integrable DT_RASDISPLAY 1) ;/* Raster display */
-(define-integrable DT_RASPRINTER 2) ;/* Raster printer */
-(define-integrable DT_RASCAMERA 3) ;/* Raster camera */
-(define-integrable DT_CHARSTREAM 4) ;/* Character-stream, PLP */
-(define-integrable DT_METAFILE 5) ;/* Metafile, VDM */
-(define-integrable DT_DISPFILE 6) ;/* Display-file */
-;;
-;;/* Curve Capabilities */
-(define-integrable CC_NONE 0) ;/* Curves not supported */
-(define-integrable CC_CIRCLES 1) ;/* Can do circles */
-(define-integrable CC_PIE 2) ;/* Can do pie wedges */
-(define-integrable CC_CHORD 4) ;/* Can do chord arcs */
-(define-integrable CC_ELLIPSES 8) ;/* Can do ellipese */
-(define-integrable CC_WIDE 16) ;/* Can do wide lines */
-(define-integrable CC_STYLED 32) ;/* Can do styled lines */
-(define-integrable CC_WIDESTYLED 64) ;/* Can do wide styled lines */
-(define-integrable CC_INTERIORS 128) ;/* Can do interiors */
-(define-integrable CC_ROUNDRECT 256) ;/* */
-;;
-;;/* Line Capabilities */
-(define-integrable LC_NONE 0) ;/* Lines not supported */
-(define-integrable LC_POLYLINE 2) ;/* Can do polylines */
-(define-integrable LC_MARKER 4) ;/* Can do markers */
-(define-integrable LC_POLYMARKER 8) ;/* Can do polymarkers */
-(define-integrable LC_WIDE 16) ;/* Can do wide lines */
-(define-integrable LC_STYLED 32) ;/* Can do styled lines */
-(define-integrable LC_WIDESTYLED 64) ;/* Can do wide styled lines */
-(define-integrable LC_INTERIORS 128) ;/* Can do interiors */
-;;
-;;/* Polygonal Capabilities */
-(define-integrable PC_NONE 0) ;/* Polygonals not supported */
-(define-integrable PC_POLYGON 1) ;/* Can do polygons */
-(define-integrable PC_RECTANGLE 2) ;/* Can do rectangles */
-(define-integrable PC_WINDPOLYGON 4) ;/* Can do winding polygons */
-(define-integrable PC_TRAPEZOID 4) ;/* Can do trapezoids */
-(define-integrable PC_SCANLINE 8) ;/* Can do scanlines */
-(define-integrable PC_WIDE 16) ;/* Can do wide borders */
-(define-integrable PC_STYLED 32) ;/* Can do styled borders */
-(define-integrable PC_WIDESTYLED 64) ;/* Can do wide styled borders */
-(define-integrable PC_INTERIORS 128) ;/* Can do interiors */
-;;
-;;/* Polygonal Capabilities */
-(define-integrable CP_NONE 0) ;/* No clipping of output */
-(define-integrable CP_RECTANGLE 1) ;/* Output clipped to rects */
-(define-integrable CP_REGION 2) ;/* */
-
-;;/* Text Capabilities */
-(define-integrable TC_OP_CHARACTER #x00000001) ;/* Can do OutputPrecision CHARACTER */
-(define-integrable TC_OP_STROKE #x00000002) ;/* Can do OutputPrecision STROKE */
-(define-integrable TC_CP_STROKE #x00000004) ;/* Can do ClipPrecision STROKE */
-(define-integrable TC_CR_90 #x00000008) ;/* Can do CharRotAbility 90 */
-(define-integrable TC_CR_ANY #x00000010) ;/* Can do CharRotAbility ANY */
-(define-integrable TC_SF_X_YINDEP #x00000020) ;/* Can do ScaleFreedom X_YINDEPENDENT */
-(define-integrable TC_SA_DOUBLE #x00000040) ;/* Can do ScaleAbility DOUBLE */
-(define-integrable TC_SA_INTEGER #x00000080) ;/* Can do ScaleAbility INTEGER */
-(define-integrable TC_SA_CONTIN #x00000100) ;/* Can do ScaleAbility CONTINUOUS */
-(define-integrable TC_EA_DOUBLE #x00000200) ;/* Can do EmboldenAbility DOUBLE */
-(define-integrable TC_IA_ABLE #x00000400) ;/* Can do ItalisizeAbility ABLE */
-(define-integrable TC_UA_ABLE #x00000800) ;/* Can do UnderlineAbility ABLE */
-(define-integrable TC_SO_ABLE #x00001000) ;/* Can do StrikeOutAbility ABLE */
-(define-integrable TC_RA_ABLE #x00002000) ;/* Can do RasterFontAble ABLE */
-(define-integrable TC_VA_ABLE #x00004000) ;/* Can do VectorFontAble ABLE */
+;;;Device Capability Masks:
+
+;;Device Technologies
+(define-integrable DT_PLOTTER 0) ;Vector plotter
+(define-integrable DT_RASDISPLAY 1) ;Raster display
+(define-integrable DT_RASPRINTER 2) ;Raster printer
+(define-integrable DT_RASCAMERA 3) ;Raster camera
+(define-integrable DT_CHARSTREAM 4) ;Character-stream, PLP
+(define-integrable DT_METAFILE 5) ;Metafile, VDM
+(define-integrable DT_DISPFILE 6) ;Display-file
+
+;;Curve Capabilities
+(define-integrable CC_NONE 0) ;Curves not supported
+(define-integrable CC_CIRCLES 1) ;Can do circles
+(define-integrable CC_PIE 2) ;Can do pie wedges
+(define-integrable CC_CHORD 4) ;Can do chord arcs
+(define-integrable CC_ELLIPSES 8) ;Can do ellipese
+(define-integrable CC_WIDE 16) ;Can do wide lines
+(define-integrable CC_STYLED 32) ;Can do styled lines
+(define-integrable CC_WIDESTYLED 64) ;Can do wide styled lines
+(define-integrable CC_INTERIORS 128) ;Can do interiors
+(define-integrable CC_ROUNDRECT 256) ;
+
+;;Line Capabilities
+(define-integrable LC_NONE 0) ;Lines not supported
+(define-integrable LC_POLYLINE 2) ;Can do polylines
+(define-integrable LC_MARKER 4) ;Can do markers
+(define-integrable LC_POLYMARKER 8) ;Can do polymarkers
+(define-integrable LC_WIDE 16) ;Can do wide lines
+(define-integrable LC_STYLED 32) ;Can do styled lines
+(define-integrable LC_WIDESTYLED 64) ;Can do wide styled lines
+(define-integrable LC_INTERIORS 128) ;Can do interiors
+
+;;Polygonal Capabilities
+(define-integrable PC_NONE 0) ;Polygonals not supported
+(define-integrable PC_POLYGON 1) ;Can do polygons
+(define-integrable PC_RECTANGLE 2) ;Can do rectangles
+(define-integrable PC_WINDPOLYGON 4) ;Can do winding polygons
+(define-integrable PC_TRAPEZOID 4) ;Can do trapezoids
+(define-integrable PC_SCANLINE 8) ;Can do scanlines
+(define-integrable PC_WIDE 16) ;Can do wide borders
+(define-integrable PC_STYLED 32) ;Can do styled borders
+(define-integrable PC_WIDESTYLED 64) ;Can do wide styled borders
+(define-integrable PC_INTERIORS 128) ;Can do interiors
+
+;;Polygonal Capabilities
+(define-integrable CP_NONE 0) ;No clipping of output
+(define-integrable CP_RECTANGLE 1) ;Output clipped to rects
+(define-integrable CP_REGION 2) ;
+
+;;Text Capabilities
+(define-integrable TC_OP_CHARACTER #x00000001) ;Can do OutputPrecision CHARACTER
+(define-integrable TC_OP_STROKE #x00000002) ;Can do OutputPrecision STROKE
+(define-integrable TC_CP_STROKE #x00000004) ;Can do ClipPrecision STROKE
+(define-integrable TC_CR_90 #x00000008) ;Can do CharRotAbility 90
+(define-integrable TC_CR_ANY #x00000010) ;Can do CharRotAbility ANY
+(define-integrable TC_SF_X_YINDEP #x00000020) ;Can do ScaleFreedom X_YINDEPENDENT
+(define-integrable TC_SA_DOUBLE #x00000040) ;Can do ScaleAbility DOUBLE
+(define-integrable TC_SA_INTEGER #x00000080) ;Can do ScaleAbility INTEGER
+(define-integrable TC_SA_CONTIN #x00000100) ;Can do ScaleAbility CONTINUOUS
+(define-integrable TC_EA_DOUBLE #x00000200) ;Can do EmboldenAbility DOUBLE
+(define-integrable TC_IA_ABLE #x00000400) ;Can do ItalisizeAbility ABLE
+(define-integrable TC_UA_ABLE #x00000800) ;Can do UnderlineAbility ABLE
+(define-integrable TC_SO_ABLE #x00001000) ;Can do StrikeOutAbility ABLE
+(define-integrable TC_RA_ABLE #x00002000) ;Can do RasterFontAble ABLE
+(define-integrable TC_VA_ABLE #x00004000) ;Can do VectorFontAble ABLE
(define-integrable TC_RESERVED #x00008000)
-(define-integrable TC_SCROLLBLT #x00010000) ;/* do text scroll with blt */
-;;
-;;#endif /* NOGDICAPMASKS */
-;;
-;;/* Raster Capabilities */
-;;#define RC_NONE
-(define-integrable RC_BITBLT 1) ;/* Can do standard BLT. */
-(define-integrable RC_BANDING 2) ;/* Device requires banding support */
-(define-integrable RC_SCALING 4) ;/* Device requires scaling support */
-(define-integrable RC_BITMAP64 8) ;/* Device can support >64K bitmap */
-(define-integrable RC_GDI20_OUTPUT #x0010) ;/* has 2.0 output calls */
+(define-integrable TC_SCROLLBLT #x00010000) ;do text scroll with blt
+
+;;Raster Capabilities
+(define-integrable RC_BITBLT 1) ;Can do standard BLT.
+(define-integrable RC_BANDING 2) ;Device requires banding support
+(define-integrable RC_SCALING 4) ;Device requires scaling support
+(define-integrable RC_BITMAP64 8) ;Device can support >64K bitmap
+(define-integrable RC_GDI20_OUTPUT #x0010) ;has 2.0 output calls
(define-integrable RC_GDI20_STATE #x0020)
(define-integrable RC_SAVEBITMAP #x0040)
-(define-integrable RC_DI_BITMAP #x0080) ;/* supports DIB to memory */
-(define-integrable RC_PALETTE #x0100) ;/* supports a palette */
-(define-integrable RC_DIBTODEV #x0200) ;/* supports DIBitsToDevice */
-(define-integrable RC_BIGFONT #x0400) ;/* supports >64K fonts */
-(define-integrable RC_STRETCHBLT #x0800) ;/* supports StretchBlt */
-(define-integrable RC_FLOODFILL #x1000) ;/* supports FloodFill */
-(define-integrable RC_STRETCHDIB #x2000) ;/* supports StretchDIBits */
+(define-integrable RC_DI_BITMAP #x0080) ;supports DIB to memory
+(define-integrable RC_PALETTE #x0100) ;supports a palette
+(define-integrable RC_DIBTODEV #x0200) ;supports DIBitsToDevice
+(define-integrable RC_BIGFONT #x0400) ;supports >64K fonts
+(define-integrable RC_STRETCHBLT #x0800) ;supports StretchBlt
+(define-integrable RC_FLOODFILL #x1000) ;supports FloodFill
+(define-integrable RC_STRETCHDIB #x2000) ;supports StretchDIBits
(define-integrable RC_OP_DX_OUTPUT #x4000)
(define-integrable RC_DEVBITS #x8000)
-;;
-;;/* DIB color table identifiers */
-;;
-(define-integrable DIB_RGB_COLORS 0) ;/* color table in RGBs */
-(define-integrable DIB_PAL_COLORS 1) ;/* color table in palette indices */
-(define-integrable DIB_PAL_INDICES 2) ;/* No color table indices into surf palette */
-(define-integrable DIB_PAL_PHYSINDICES 2) ;/* No color table indices into surf palette */
-(define-integrable DIB_PAL_LOGINDICES 4) ;/* No color table indices into DC palette */
-;;
-;;/* constants for Get/SetSystemPaletteUse() */
-;;
+
+;;DIB color table identifiers
+(define-integrable DIB_RGB_COLORS 0) ;color table in RGBs
+(define-integrable DIB_PAL_COLORS 1) ;color table in palette indices
+(define-integrable DIB_PAL_INDICES 2) ;No color table indices into surf palette
+(define-integrable DIB_PAL_PHYSINDICES 2) ;No color table indices into surf palette
+(define-integrable DIB_PAL_LOGINDICES 4) ;No color table indices into DC palette
+
+;;constants for Get/SetSystemPaletteUse()
(define-integrable SYSPAL_ERROR 0)
(define-integrable SYSPAL_STATIC 1)
(define-integrable SYSPAL_NOSTATIC 2)
-;;
-;;/* constants for CreateDIBitmap */
-(define-integrable CBM_CREATEDIB #x02) ;/* create DIB bitmap */
-(define-integrable CBM_INIT #x04) ;/* initialize bitmap */
-;;
-;;/* ExtFloodFill style flags */
+
+;;constants for CreateDIBitmap
+(define-integrable CBM_CREATEDIB #x02) ;create DIB bitmap
+(define-integrable CBM_INIT #x04) ;initialize bitmap
+
+;;ExtFloodFill style flags
(define-integrable FLOODFILLBORDER 0)
(define-integrable FLOODFILLSURFACE 1)
-;;
-;;/* size of a device name string */
+
+;;size of a device name string
(define-integrable CCHDEVICENAME 32)
-;;
-;;/* size of a form name string */
+
+;;size of a form name string
(define-integrable CCHFORMNAME 32)
-;;
-;;typedef struct _devicemodeA {
-;; BYTE dmDeviceName[CCHDEVICENAME];
-;; WORD dmSpecVersion;
-;; WORD dmDriverVersion;
-;; WORD dmSize;
-;; WORD dmDriverExtra;
-;; DWORD dmFields;
-;; short dmOrientation;
-;; short dmPaperSize;
-;; short dmPaperLength;
-;; short dmPaperWidth;
-;; short dmScale;
-;; short dmCopies;
-;; short dmDefaultSource;
-;; short dmPrintQuality;
-;; short dmColor;
-;; short dmDuplex;
-;; short dmYResolution;
-;; short dmTTOption;
-;; short dmCollate;
-;; BYTE dmFormName[CCHFORMNAME];
-;; WORD dmUnusedPadding;
-;; DWORD dmBitsPerPel;
-;; DWORD dmPelsWidth;
-;; DWORD dmPelsHeight;
-;; DWORD dmDisplayFlags;
-;; DWORD dmDisplayFrequency;
-;;} DEVMODEA, *PDEVMODEA, *NPDEVMODEA, *LPDEVMODEA;
-;;typedef struct _devicemodeW {
-;; WCHAR dmDeviceName[CCHDEVICENAME];
-;; WORD dmSpecVersion;
-;; WORD dmDriverVersion;
-;; WORD dmSize;
-;; WORD dmDriverExtra;
-;; DWORD dmFields;
-;; short dmOrientation;
-;; short dmPaperSize;
-;; short dmPaperLength;
-;; short dmPaperWidth;
-;; short dmScale;
-;; short dmCopies;
-;; short dmDefaultSource;
-;; short dmPrintQuality;
-;; short dmColor;
-;; short dmDuplex;
-;; short dmYResolution;
-;; short dmTTOption;
-;; short dmCollate;
-;; WCHAR dmFormName[CCHFORMNAME];
-;; WORD dmUnusedPadding;
-;; DWORD dmBitsPerPel;
-;; DWORD dmPelsWidth;
-;; DWORD dmPelsHeight;
-;; DWORD dmDisplayFlags;
-;; DWORD dmDisplayFrequency;
-;;} DEVMODEW, *PDEVMODEW, *NPDEVMODEW, *LPDEVMODEW;
-;;#ifdef UNICODE
-;;typedef DEVMODEW DEVMODE;
-;;typedef PDEVMODEW PDEVMODE;
-;;typedef NPDEVMODEW NPDEVMODE;
-;;typedef LPDEVMODEW LPDEVMODE;
-;;#else
-;;typedef DEVMODEA DEVMODE;
-;;typedef PDEVMODEA PDEVMODE;
-;;typedef NPDEVMODEA NPDEVMODE;
-;;typedef LPDEVMODEA LPDEVMODE;
-;;#endif // UNICODE
-;;
-;;/* current version of specification */
+
+;;current version of specification
(define-integrable DM_SPECVERSION #x320)
-;;
-;;/* field selection bits */
+
+;;field selection bits
(define-integrable DM_ORIENTATION #x0000001)
(define-integrable DM_PAPERSIZE #x0000002)
(define-integrable DM_PAPERLENGTH #x0000004)
(define-integrable DM_TTOPTION #x0004000)
(define-integrable DM_COLLATE #x0008000)
(define-integrable DM_FORMNAME #x0010000)
-;;
-;;/* orientation selections */
+
+;;orientation selections
(define-integrable DMORIENT_PORTRAIT 1)
(define-integrable DMORIENT_LANDSCAPE 2)
-;;
-;;/* paper selections */
-(define-integrable DMPAPER_LETTER 1) ;/* Letter 8 1/2 x 11 in */
+
+;;paper selections
+(define-integrable DMPAPER_LETTER 1) ;Letter 8 1/2 x 11 in
(define-integrable DMPAPER_FIRST DMPAPER_LETTER)
-(define-integrable DMPAPER_LETTERSMALL 2) ;/* Letter Small 8 1/2 x 11 in */
-(define-integrable DMPAPER_TABLOID 3) ;/* Tabloid 11 x 17 in */
-(define-integrable DMPAPER_LEDGER 4) ;/* Ledger 17 x 11 in */
-(define-integrable DMPAPER_LEGAL 5) ;/* Legal 8 1/2 x 14 in */
-(define-integrable DMPAPER_STATEMENT 6) ;/* Statement 5 1/2 x 8 1/2 in */
-(define-integrable DMPAPER_EXECUTIVE 7) ;/* Executive 7 1/4 x 10 1/2 in */
-(define-integrable DMPAPER_A3 8) ;/* A3 297 x 420 mm */
-(define-integrable DMPAPER_A4 9) ;/* A4 210 x 297 mm */
-(define-integrable DMPAPER_A4SMALL 10) ;/* A4 Small 210 x 297 mm */
-(define-integrable DMPAPER_A5 11) ;/* A5 148 x 210 mm */
-(define-integrable DMPAPER_B4 12) ;/* B4 250 x 354 */
-(define-integrable DMPAPER_B5 13) ;/* B5 182 x 257 mm */
-(define-integrable DMPAPER_FOLIO 14) ;/* Folio 8 1/2 x 13 in */
-(define-integrable DMPAPER_QUARTO 15) ;/* Quarto 215 x 275 mm */
-(define-integrable DMPAPER_10X14 16) ;/* 10x14 in */
-(define-integrable DMPAPER_11X17 17) ;/* 11x17 in */
-(define-integrable DMPAPER_NOTE 18) ;/* Note 8 1/2 x 11 in */
-(define-integrable DMPAPER_ENV_9 19) ;/* Envelope #9 3 7/8 x 8 7/8 */
-(define-integrable DMPAPER_ENV_10 20) ;/* Envelope #10 4 1/8 x 9 1/2 */
-(define-integrable DMPAPER_ENV_11 21) ;/* Envelope #11 4 1/2 x 10 3/8 */
-(define-integrable DMPAPER_ENV_12 22) ;/* Envelope #12 4 \276 x 11 */
-(define-integrable DMPAPER_ENV_14 23) ;/* Envelope #14 5 x 11 1/2 */
-(define-integrable DMPAPER_CSHEET 24) ;/* C size sheet */
-(define-integrable DMPAPER_DSHEET 25) ;/* D size sheet */
-(define-integrable DMPAPER_ESHEET 26) ;/* E size sheet */
-(define-integrable DMPAPER_ENV_DL 27) ;/* Envelope DL 110 x 220mm */
-(define-integrable DMPAPER_ENV_C5 28) ;/* Envelope C5 162 x 229 mm */
-(define-integrable DMPAPER_ENV_C3 29) ;/* Envelope C3 324 x 458 mm */
-(define-integrable DMPAPER_ENV_C4 30) ;/* Envelope C4 229 x 324 mm */
-(define-integrable DMPAPER_ENV_C6 31) ;/* Envelope C6 114 x 162 mm */
-(define-integrable DMPAPER_ENV_C65 32) ;/* Envelope C65 114 x 229 mm */
-(define-integrable DMPAPER_ENV_B4 33) ;/* Envelope B4 250 x 353 mm */
-(define-integrable DMPAPER_ENV_B5 34) ;/* Envelope B5 176 x 250 mm */
-(define-integrable DMPAPER_ENV_B6 35) ;/* Envelope B6 176 x 125 mm */
-(define-integrable DMPAPER_ENV_ITALY 36) ;/* Envelope 110 x 230 mm */
-(define-integrable DMPAPER_ENV_MONARCH 37) ;/* Envelope Monarch 3.875 x 7.5 in */
-(define-integrable DMPAPER_ENV_PERSONAL 38) ;/* 6 3/4 Envelope 3 5/8 x 6 1/2 in */
-(define-integrable DMPAPER_FANFOLD_US 39) ;/* US Std Fanfold 14 7/8 x 11 in */
-(define-integrable DMPAPER_FANFOLD_STD_GERMAN 40) ;/* German Std Fanfold 8 1/2 x 12 in */
-(define-integrable DMPAPER_FANFOLD_LGL_GERMAN 41) ;/* German Legal Fanfold 8 1/2 x 13 in */
+(define-integrable DMPAPER_LETTERSMALL 2) ;Letter Small 8 1/2 x 11 in
+(define-integrable DMPAPER_TABLOID 3) ;Tabloid 11 x 17 in
+(define-integrable DMPAPER_LEDGER 4) ;Ledger 17 x 11 in
+(define-integrable DMPAPER_LEGAL 5) ;Legal 8 1/2 x 14 in
+(define-integrable DMPAPER_STATEMENT 6) ;Statement 5 1/2 x 8 1/2 in
+(define-integrable DMPAPER_EXECUTIVE 7) ;Executive 7 1/4 x 10 1/2 in
+(define-integrable DMPAPER_A3 8) ;A3 297 x 420 mm
+(define-integrable DMPAPER_A4 9) ;A4 210 x 297 mm
+(define-integrable DMPAPER_A4SMALL 10) ;A4 Small 210 x 297 mm
+(define-integrable DMPAPER_A5 11) ;A5 148 x 210 mm
+(define-integrable DMPAPER_B4 12) ;B4 250 x 354
+(define-integrable DMPAPER_B5 13) ;B5 182 x 257 mm
+(define-integrable DMPAPER_FOLIO 14) ;Folio 8 1/2 x 13 in
+(define-integrable DMPAPER_QUARTO 15) ;Quarto 215 x 275 mm
+(define-integrable DMPAPER_10X14 16) ;10x14 in
+(define-integrable DMPAPER_11X17 17) ;11x17 in
+(define-integrable DMPAPER_NOTE 18) ;Note 8 1/2 x 11 in
+(define-integrable DMPAPER_ENV_9 19) ;Envelope #9 3 7/8 x 8 7/8
+(define-integrable DMPAPER_ENV_10 20) ;Envelope #10 4 1/8 x 9 1/2
+(define-integrable DMPAPER_ENV_11 21) ;Envelope #11 4 1/2 x 10 3/8
+(define-integrable DMPAPER_ENV_12 22) ;Envelope #12 4 \276 x 11
+(define-integrable DMPAPER_ENV_14 23) ;Envelope #14 5 x 11 1/2
+(define-integrable DMPAPER_CSHEET 24) ;C size sheet
+(define-integrable DMPAPER_DSHEET 25) ;D size sheet
+(define-integrable DMPAPER_ESHEET 26) ;E size sheet
+(define-integrable DMPAPER_ENV_DL 27) ;Envelope DL 110 x 220mm
+(define-integrable DMPAPER_ENV_C5 28) ;Envelope C5 162 x 229 mm
+(define-integrable DMPAPER_ENV_C3 29) ;Envelope C3 324 x 458 mm
+(define-integrable DMPAPER_ENV_C4 30) ;Envelope C4 229 x 324 mm
+(define-integrable DMPAPER_ENV_C6 31) ;Envelope C6 114 x 162 mm
+(define-integrable DMPAPER_ENV_C65 32) ;Envelope C65 114 x 229 mm
+(define-integrable DMPAPER_ENV_B4 33) ;Envelope B4 250 x 353 mm
+(define-integrable DMPAPER_ENV_B5 34) ;Envelope B5 176 x 250 mm
+(define-integrable DMPAPER_ENV_B6 35) ;Envelope B6 176 x 125 mm
+(define-integrable DMPAPER_ENV_ITALY 36) ;Envelope 110 x 230 mm
+(define-integrable DMPAPER_ENV_MONARCH 37) ;Envelope Monarch 3.875 x 7.5 in
+(define-integrable DMPAPER_ENV_PERSONAL 38) ;6 3/4 Envelope 3 5/8 x 6 1/2 in
+(define-integrable DMPAPER_FANFOLD_US 39) ;US Std Fanfold 14 7/8 x 11 in
+(define-integrable DMPAPER_FANFOLD_STD_GERMAN 40) ;German Std Fanfold 8 1/2 x 12 in
+(define-integrable DMPAPER_FANFOLD_LGL_GERMAN 41) ;German Legal Fanfold 8 1/2 x 13 in
(define-integrable DMPAPER_LAST DMPAPER_FANFOLD_LGL_GERMAN)
(define-integrable DMPAPER_USER 256)
-;;
-;;/* bin selections */
+
+;;bin selections
(define-integrable DMBIN_UPPER 1)
(define-integrable DMBIN_FIRST DMBIN_UPPER)
(define-integrable DMBIN_ONLYONE 1)
(define-integrable DMBIN_CASSETTE 14)
(define-integrable DMBIN_LAST DMBIN_CASSETTE)
-(define-integrable DMBIN_USER 256) ;/* device specific bins start here */
-;;
-;;/* print qualities */
+(define-integrable DMBIN_USER 256) ;device specific bins start here
+
+;;print qualities
(define-integrable DMRES_DRAFT -1)
(define-integrable DMRES_LOW -2)
(define-integrable DMRES_MEDIUM -3)
(define-integrable DMRES_HIGH -4)
-;;
-;;/* color enable/disable for color printers */
+
+;;color enable/disable for color printers
(define-integrable DMCOLOR_MONOCHROME 1)
(define-integrable DMCOLOR_COLOR 2)
-;;
-;;/* duplex enable */
+
+;;duplex enable
(define-integrable DMDUP_SIMPLEX 1)
(define-integrable DMDUP_VERTICAL 2)
(define-integrable DMDUP_HORIZONTAL 3)
-;;
-;;/* TrueType options */
-(define-integrable DMTT_BITMAP 1) ;/* print TT fonts as graphics */
-(define-integrable DMTT_DOWNLOAD 2) ;/* download TT fonts as soft fonts */
-(define-integrable DMTT_SUBDEV 3) ;/* substitute device fonts for TT fonts */
-;;
-;;/* Collation selections */
+
+;;TrueType options
+(define-integrable DMTT_BITMAP 1) ;print TT fonts as graphics
+(define-integrable DMTT_DOWNLOAD 2) ;download TT fonts as soft fonts
+(define-integrable DMTT_SUBDEV 3) ;substitute device fonts for TT fonts
+
+;;Collation selections
(define-integrable DMCOLLATE_FALSE 0)
(define-integrable DMCOLLATE_TRUE 1)
-;;
-;;/* DEVMODE dmDisplayFlags flags */
-;;
+
+;;DEVMODE dmDisplayFlags flags
(define-integrable DM_GRAYSCALE #x00000001)
(define-integrable DM_INTERLACED #x00000002)
-;;
-;;/* GetRegionData/ExtCreateRegion */
-;;
+
+;;GetRegionData/ExtCreateRegion
(define-integrable RDH_RECTANGLES 1)
-;;
-;;typedef struct _RGNDATAHEADER {
-;; DWORD dwSize;
-;; DWORD iType;
-;; DWORD nCount;
-;; DWORD nRgnSize;
-;; RECT rcBound;
-;;} RGNDATAHEADER, *PRGNDATAHEADER;
-;;
-;;typedef struct _RGNDATA {
-;; RGNDATAHEADER rdh;
-;; char Buffer[1];
-;;} RGNDATA, *PRGNDATA, NEAR *NPRGNDATA, FAR *LPRGNDATA;
-;;
-;;
-;;typedef struct _ABC {
-;; int abcA;
-;; UINT abcB;
-;; int abcC;
-;;} ABC, *PABC, NEAR *NPABC, FAR *LPABC;
-;;
-;;typedef struct _ABCFLOAT {
-;; FLOAT abcfA;
-;; FLOAT abcfB;
-;; FLOAT abcfC;
-;;} ABCFLOAT, *PABCFLOAT, NEAR *NPABCFLOAT, FAR *LPABCFLOAT;
-;;
-;;#ifndef NOTEXTMETRIC
-;;
-;;typedef struct _OUTLINETEXTMETRICA {
-;; UINT otmSize;
-;; TEXTMETRICA otmTextMetrics;
-;; BYTE otmFiller;
-;; PANOSE otmPanoseNumber;
-;; UINT otmfsSelection;
-;; UINT otmfsType;
-;; UINT otmsCharSlopeRise;
-;; UINT otmsCharSlopeRun;
-;; UINT otmItalicAngle;
-;; UINT otmEMSquare;
-;; UINT otmAscent;
-;; int otmDescent;
-;; int otmLineGap;
-;; UINT otmsCapEmHeight;
-;; UINT otmsXHeight;
-;; RECT otmrcFontBox;
-;; int otmMacAscent;
-;; int otmMacDescent;
-;; UINT otmMacLineGap;
-;; UINT otmusMinimumPPEM;
-;; POINT otmptSubscriptSize;
-;; POINT otmptSubscriptOffset;
-;; POINT otmptSuperscriptSize;
-;; POINT otmptSuperscriptOffset;
-;; UINT otmsStrikeoutSize;
-;; int otmsStrikeoutPosition;
-;; int otmsUnderscoreSize;
-;; UINT otmsUnderscorePosition;
-;; PSTR otmpFamilyName;
-;; PSTR otmpFaceName;
-;; PSTR otmpStyleName;
-;; PSTR otmpFullName;
-;;} OUTLINETEXTMETRICA, *POUTLINETEXTMETRICA, NEAR *NPOUTLINETEXTMETRICA, FAR *LPOUTLINETEXTMETRICA;
-;;typedef struct _OUTLINETEXTMETRICW {
-;; UINT otmSize;
-;; TEXTMETRICW otmTextMetrics;
-;; BYTE otmFiller;
-;; PANOSE otmPanoseNumber;
-;; UINT otmfsSelection;
-;; UINT otmfsType;
-;; UINT otmsCharSlopeRise;
-;; UINT otmsCharSlopeRun;
-;; UINT otmItalicAngle;
-;; UINT otmEMSquare;
-;; UINT otmAscent;
-;; int otmDescent;
-;; int otmLineGap;
-;; UINT otmsCapEmHeight;
-;; UINT otmsXHeight;
-;; RECT otmrcFontBox;
-;; int otmMacAscent;
-;; int otmMacDescent;
-;; UINT otmMacLineGap;
-;; UINT otmusMinimumPPEM;
-;; POINT otmptSubscriptSize;
-;; POINT otmptSubscriptOffset;
-;; POINT otmptSuperscriptSize;
-;; POINT otmptSuperscriptOffset;
-;; UINT otmsStrikeoutSize;
-;; int otmsStrikeoutPosition;
-;; int otmsUnderscoreSize;
-;; UINT otmsUnderscorePosition;
-;; PSTR otmpFamilyName;
-;; PSTR otmpFaceName;
-;; PSTR otmpStyleName;
-;; PSTR otmpFullName;
-;;} OUTLINETEXTMETRICW, *POUTLINETEXTMETRICW, NEAR *NPOUTLINETEXTMETRICW, FAR *LPOUTLINETEXTMETRICW;
-;;#ifdef UNICODE
-;;typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC;
-;;typedef POUTLINETEXTMETRICW POUTLINETEXTMETRIC;
-;;typedef NPOUTLINETEXTMETRICW NPOUTLINETEXTMETRIC;
-;;typedef LPOUTLINETEXTMETRICW LPOUTLINETEXTMETRIC;
-;;#else
-;;typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC;
-;;typedef POUTLINETEXTMETRICA POUTLINETEXTMETRIC;
-;;typedef NPOUTLINETEXTMETRICA NPOUTLINETEXTMETRIC;
-;;typedef LPOUTLINETEXTMETRICA LPOUTLINETEXTMETRIC;
-;;#endif // UNICODE
-;;
-;;#endif /* NOTEXTMETRIC */
-;;
-;;
-;;typedef struct tagPOLYTEXTA
-;;{
-;; int x;
-;; int y;
-;; UINT n;
-;; LPCSTR lpstr;
-;; UINT uiFlags;
-;; RECT rcl;
-;; int *pdx;
-;;} POLYTEXTA, *PPOLYTEXTA, NEAR *NPPOLYTEXTA, FAR *LPPOLYTEXTA;
-;;typedef struct tagPOLYTEXTW
-;;{
-;; int x;
-;; int y;
-;; UINT n;
-;; LPCWSTR lpstr;
-;; UINT uiFlags;
-;; RECT rcl;
-;; int *pdx;
-;;} POLYTEXTW, *PPOLYTEXTW, NEAR *NPPOLYTEXTW, FAR *LPPOLYTEXTW;
-;;#ifdef UNICODE
-;;typedef POLYTEXTW POLYTEXT;
-;;typedef PPOLYTEXTW PPOLYTEXT;
-;;typedef NPPOLYTEXTW NPPOLYTEXT;
-;;typedef LPPOLYTEXTW LPPOLYTEXT;
-;;#else
-;;typedef POLYTEXTA POLYTEXT;
-;;typedef PPOLYTEXTA PPOLYTEXT;
-;;typedef NPPOLYTEXTA NPPOLYTEXT;
-;;typedef LPPOLYTEXTA LPPOLYTEXT;
-;;#endif // UNICODE
-;;
-;;typedef struct _FIXED {
-;; WORD fract;
-;; short value;
-;;} FIXED;
-;;
-;;
-;;typedef struct _MAT2 {
-;; FIXED eM11;
-;; FIXED eM12;
-;; FIXED eM21;
-;; FIXED eM22;
-;;} MAT2, FAR *LPMAT2;
-;;
-;;
-;;
-;;typedef struct _GLYPHMETRICS {
-;; UINT gmBlackBoxX;
-;; UINT gmBlackBoxY;
-;; POINT gmptGlyphOrigin;
-;; short gmCellIncX;
-;; short gmCellIncY;
-;;} GLYPHMETRICS, FAR *LPGLYPHMETRICS;
-;;
-;;// GetGlyphOutline constants
-;;
+
+;;GetGlyphOutline constants
(define-integrable GGO_NONE 0)
(define-integrable GGO_BITMAP 1)
(define-integrable GGO_NATIVE 2)
(define-integrable TT_PRIM_LINE 1)
(define-integrable TT_PRIM_QSPLINE 2)
-;;typedef struct tagPOINTFX
-;;{
-;; FIXED x;
-;; FIXED y;
-;;} POINTFX, FAR* LPPOINTFX;
-;;
-;;typedef struct tagTTPOLYCURVE
-;;{
-;; WORD wType;
-;; WORD cpfx;
-;; POINTFX apfx[1];
-;;} TTPOLYCURVE, FAR* LPTTPOLYCURVE;
-;;
-;;typedef struct tagTTPOLYGONHEADER
-;;{
-;; DWORD cb;
-;; DWORD dwType;
-;; POINTFX pfxStart;
-;;} TTPOLYGONHEADER, FAR* LPTTPOLYGONHEADER;
-;;
-;;
-;;
-;;typedef struct _RASTERIZER_STATUS {
-;; short nSize;
-;; short wFlags;
-;; short nLanguageID;
-;;} RASTERIZER_STATUS, FAR *LPRASTERIZER_STATUS;
-;;
-;;/* bits defined in wFlags of RASTERIZER_STATUS */
+;;bits defined in wFlags of RASTERIZER_STATUS
(define-integrable TT_AVAILABLE #x0001)
(define-integrable TT_ENABLED #x0002)
-;;
-;;#ifdef STRICT
-;;#if !defined(NOTEXTMETRIC)
-;;typedef int (CALLBACK* OLDFONTENUMPROC)(CONST LOGFONT *, CONST TEXTMETRIC *, DWORD, LPARAM);
-;;#else
-;;typedef int (CALLBACK* OLDFONTENUMPROC)(CONST LOGFONT * ,CONST VOID *, DWORD, LPARAM);
-;;#endif
-;;typedef int (CALLBACK* GOBJENUMPROC)(LPVOID, LPARAM);
-;;typedef VOID (CALLBACK* LINEDDAPROC)(int, int, LPARAM);
-;;#else
-;;typedef FARPROC OLDFONTENUMPROC;
-;;typedef FARPROC GOBJENUMPROC;
-;;typedef FARPROC LINEDDAPROC;
-;;#endif
-;;
-;;typedef OLDFONTENUMPROC FONTENUMPROC;
-;;
-;;int WINAPI AddFontResourceA(LPCSTR);
-;;int WINAPI AddFontResourceW(LPCWSTR);
-;;#ifdef UNICODE
-;;#define AddFontResource AddFontResourceW
-;;#else
-;;#define AddFontResource AddFontResourceA
-;;#endif // !UNICODE
-;;
-;;int WINAPI AddFontModule(HMODULE);
-;;BOOL WINAPI AnimatePalette(HPALETTE, UINT, UINT, CONST PALETTEENTRY *);
-;;BOOL WINAPI Arc(HDC, int, int, int, int, int, int, int, int);
-;;BOOL WINAPI BitBlt(HDC, int, int, int, int, HDC, int, int, DWORD);
-;;BOOL WINAPI CancelDC(HDC);
-;;BOOL WINAPI Chord(HDC, int, int, int, int, int, int, int, int);
-;;HMETAFILE WINAPI CloseMetaFile(HDC);
-;;int WINAPI CombineRgn(HRGN, HRGN, HRGN, int);
-;;HMETAFILE WINAPI CopyMetaFileA(HMETAFILE, LPSTR);
-;;HMETAFILE WINAPI CopyMetaFileW(HMETAFILE, LPWSTR);
-;;#ifdef UNICODE
-;;#define CopyMetaFile CopyMetaFileW
-;;#else
-;;#define CopyMetaFile CopyMetaFileA
-;;#endif // !UNICODE
-;;HBITMAP WINAPI CreateBitmap(int, int, UINT, UINT, CONST VOID *);
-;;HBITMAP WINAPI CreateBitmapIndirect(LPBITMAP);
-;;HBRUSH WINAPI CreateBrushIndirect(LPLOGBRUSH);
-;;HBITMAP WINAPI CreateCompatibleBitmap(HDC, int, int);
-;;HBITMAP WINAPI CreateDiscardableBitmap(HDC, int, int);
-;;HDC WINAPI CreateCompatibleDC(HDC);
-;;HDC WINAPI CreateDCA(LPCSTR, LPCSTR , LPCSTR , CONST DEVMODEA FAR *);
-;;HDC WINAPI CreateDCW(LPCWSTR, LPCWSTR , LPCWSTR , CONST DEVMODEW FAR *);
-;;#ifdef UNICODE
-;;#define CreateDC CreateDCW
-;;#else
-;;#define CreateDC CreateDCA
-;;#endif // !UNICODE
-;;HBITMAP WINAPI CreateDIBitmap(HDC, LPBITMAPINFOHEADER, DWORD, CONST BYTE *, LPBITMAPINFO, UINT);
-;;HBITMAP WINAPI CreateDIBSection(HDC, LPBITMAPINFO, DWORD, DWORD);
-;;HBRUSH WINAPI CreateDIBPatternBrush(HGLOBAL, UINT);
-;;HBRUSH WINAPI CreateDIBPatternBrushPt(LPVOID, UINT);
-;;HRGN WINAPI CreateEllipticRgn(int, int, int, int);
-;;HRGN WINAPI CreateEllipticRgnIndirect(CONST RECT *);
-;;HFONT WINAPI CreateFontIndirectA(CONST LOGFONTA *);
-;;HFONT WINAPI CreateFontIndirectW(CONST LOGFONTW *);
-;;#ifdef UNICODE
-;;#define CreateFontIndirect CreateFontIndirectW
-;;#else
-;;#define CreateFontIndirect CreateFontIndirectA
-;;#endif // !UNICODE
-;;HFONT WINAPI CreateFontA(int, int, int, int, int, DWORD,
-;; DWORD, DWORD, DWORD, DWORD, DWORD,
-;; DWORD, DWORD, LPCSTR);
-;;HFONT WINAPI CreateFontW(int, int, int, int, int, DWORD,
-;; DWORD, DWORD, DWORD, DWORD, DWORD,
-;; DWORD, DWORD, LPCWSTR);
-;;#ifdef UNICODE
-;;#define CreateFont CreateFontW
-;;#else
-;;#define CreateFont CreateFontA
-;;#endif // !UNICODE
-;;
-;;HBRUSH WINAPI CreateHatchBrush(int, COLORREF);
-;;HDC WINAPI CreateICA(LPCSTR, LPCSTR , LPCSTR , CONST DEVMODEA FAR *);
-;;HDC WINAPI CreateICW(LPCWSTR, LPCWSTR , LPCWSTR , CONST DEVMODEW FAR *);
-;;#ifdef UNICODE
-;;#define CreateIC CreateICW
-;;#else
-;;#define CreateIC CreateICA
-;;#endif // !UNICODE
-;;HDC WINAPI CreateMetaFileA(LPCSTR);
-;;HDC WINAPI CreateMetaFileW(LPCWSTR);
-;;#ifdef UNICODE
-;;#define CreateMetaFile CreateMetaFileW
-;;#else
-;;#define CreateMetaFile CreateMetaFileA
-;;#endif // !UNICODE
-;;HPALETTE WINAPI CreatePalette(CONST LOGPALETTE *);
-;;HPEN WINAPI CreatePen(int, int, COLORREF);
-;;HPEN WINAPI CreatePenIndirect(LPLOGPEN);
-;;HRGN WINAPI CreatePolyPolygonRgn(CONST POINT *, CONST INT *, int, int);
-;;HBRUSH WINAPI CreatePatternBrush(HBITMAP);
-;;HRGN WINAPI CreateRectRgn(int, int, int, int);
-;;HRGN WINAPI CreateRectRgnIndirect(CONST RECT *);
-;;HRGN WINAPI CreateRoundRectRgn(int, int, int, int, int, int);
-;;BOOL WINAPI CreateScalableFontResourceA(DWORD, LPCSTR, LPCSTR, LPSTR);
-;;BOOL WINAPI CreateScalableFontResourceW(DWORD, LPCWSTR, LPCWSTR, LPWSTR);
-;;#ifdef UNICODE
-;;#define CreateScalableFontResource CreateScalableFontResourceW
-;;#else
-;;#define CreateScalableFontResource CreateScalableFontResourceA
-;;#endif // !UNICODE
-;;HBRUSH WINAPI CreateSolidBrush(COLORREF);
-;;
-;;BOOL WINAPI DeleteDC(HDC);
-;;BOOL WINAPI DeleteMetaFile(HMETAFILE);
-;;BOOL WINAPI DeleteObject(HGDIOBJ);
-;;
-;;/* define types of pointers to ExtDeviceMode() and DeviceCapabilities()
-;; * functions for Win 3.1 compatibility
-;; */
-;;
-;;typedef UINT (CALLBACK* LPFNDEVMODE)(HWND, HMODULE, LPDEVMODE, LPSTR, LPSTR, LPDEVMODE, LPSTR, UINT);
-;;
-;;typedef DWORD (CALLBACK* LPFNDEVCAPS)(LPSTR, LPSTR, UINT, LPSTR, LPDEVMODE);
-;;
-;;/* mode selections for the device mode function */
+
+;;mode selections for the device mode function
(define-integrable DM_UPDATE 1)
(define-integrable DM_COPY 2)
(define-integrable DM_PROMPT 4)
(define-integrable DM_OUT_BUFFER DM_COPY)
(define-integrable DM_OUT_DEFAULT DM_UPDATE)
-;;/* device capabilities indices */
+;;device capabilities indices
(define-integrable DC_FIELDS 1)
(define-integrable DC_PAPERS 2)
(define-integrable DC_PAPERSIZE 3)
(define-integrable DC_ORIENTATION 17)
(define-integrable DC_COPIES 18)
-;;int WINAPI DeviceCapabilitiesExA(LPCSTR, LPCSTR, LPCSTR, int,
-;; LPCSTR, LPDEVMODEA );
-;;int WINAPI DeviceCapabilitiesExW(LPCWSTR, LPCWSTR, LPCWSTR, int,
-;; LPCWSTR, LPDEVMODEW );
-;;#ifdef UNICODE
-;;#define DeviceCapabilitiesEx DeviceCapabilitiesExW
-;;#else
-;;#define DeviceCapabilitiesEx DeviceCapabilitiesExA
-;;#endif // !UNICODE
-;;BOOL WINAPI Ellipse(HDC, int, int, int, int);
-;;
-;;int WINAPI EnumFontFamiliesA(HDC, LPCSTR, FONTENUMPROC, LPARAM);
-;;int WINAPI EnumFontFamiliesW(HDC, LPCWSTR, FONTENUMPROC, LPARAM);
-;;#ifdef UNICODE
-;;#define EnumFontFamilies EnumFontFamiliesW
-;;#else
-;;#define EnumFontFamilies EnumFontFamiliesA
-;;#endif // !UNICODE
-;;int WINAPI EnumFontsA(HDC, LPCSTR, FONTENUMPROC, LPARAM);
-;;int WINAPI EnumFontsW(HDC, LPCWSTR, FONTENUMPROC, LPARAM);
-;;#ifdef UNICODE
-;;#define EnumFonts EnumFontsW
-;;#else
-;;#define EnumFonts EnumFontsA
-;;#endif // !UNICODE
-;;
-;;#ifdef STRICT
-;;int WINAPI EnumObjects(HDC, int, GOBJENUMPROC, LPARAM);
-;;#else
-;;int WINAPI EnumObjects(HDC, int, GOBJENUMPROC, LPVOID);
-;;#endif
-;;
-;;BOOL WINAPI EqualRgn(HRGN, HRGN);
-;;int WINAPI Escape(HDC, int, int, LPCSTR, LPVOID);
-;;int WINAPI ExtEscape(HDC, int, int, LPCSTR, int, LPSTR);
-;;int WINAPI DrawEscape(HDC, int, int, LPCSTR);
-;;int WINAPI ExcludeClipRect(HDC, int, int, int, int);
-;;HRGN WINAPI ExtCreateRegion(LPXFORM, DWORD, LPRGNDATA);
-;;BOOL WINAPI ExtFloodFill(HDC, int, int, COLORREF, UINT);
-;;BOOL WINAPI FillRgn(HDC, HRGN, HBRUSH);
-;;BOOL WINAPI FloodFill(HDC, int, int, COLORREF);
-;;BOOL WINAPI FrameRgn(HDC, HRGN, HBRUSH, int, int);
-;;int WINAPI GetROP2(HDC);
-;;BOOL WINAPI GetAspectRatioFilterEx(HDC, LPSIZE);
-;;COLORREF WINAPI GetBkColor(HDC);
-;;int WINAPI GetBkMode(HDC);
-;;LONG WINAPI GetBitmapBits(HBITMAP, LONG, LPVOID);
-;;BOOL WINAPI GetBitmapDimensionEx(HBITMAP, LPSIZE);
-;;UINT WINAPI GetBoundsRect(HDC, LPRECT, UINT);
-;;
-;;BOOL WINAPI GetBrushOrgEx(HDC, LPPOINT);
-;;
-;;BOOL WINAPI GetCharWidthA(HDC, UINT, UINT, LPINT);
-;;BOOL WINAPI GetCharWidthW(HDC, UINT, UINT, LPINT);
-;;#ifdef UNICODE
-;;#define GetCharWidth GetCharWidthW
-;;#else
-;;#define GetCharWidth GetCharWidthA
-;;#endif // !UNICODE
-;;BOOL WINAPI GetCharWidth32A(HDC, UINT, UINT, LPINT);
-;;BOOL WINAPI GetCharWidth32W(HDC, UINT, UINT, LPINT);
-;;#ifdef UNICODE
-;;#define GetCharWidth32 GetCharWidth32W
-;;#else
-;;#define GetCharWidth32 GetCharWidth32A
-;;#endif // !UNICODE
-;;BOOL APIENTRY GetCharWidthFloatA(HDC, UINT, UINT, PFLOAT);
-;;BOOL APIENTRY GetCharWidthFloatW(HDC, UINT, UINT, PFLOAT);
-;;#ifdef UNICODE
-;;#define GetCharWidthFloat GetCharWidthFloatW
-;;#else
-;;#define GetCharWidthFloat GetCharWidthFloatA
-;;#endif // !UNICODE
-;;
-;;BOOL APIENTRY GetCharABCWidthsA(HDC, UINT, UINT, LPABC);
-;;BOOL APIENTRY GetCharABCWidthsW(HDC, UINT, UINT, LPABC);
-;;#ifdef UNICODE
-;;#define GetCharABCWidths GetCharABCWidthsW
-;;#else
-;;#define GetCharABCWidths GetCharABCWidthsA
-;;#endif // !UNICODE
-;;BOOL APIENTRY GetCharABCWidthsFloatA(HDC, UINT, UINT, LPABCFLOAT);
-;;BOOL APIENTRY GetCharABCWidthsFloatW(HDC, UINT, UINT, LPABCFLOAT);
-;;#ifdef UNICODE
-;;#define GetCharABCWidthsFloat GetCharABCWidthsFloatW
-;;#else
-;;#define GetCharABCWidthsFloat GetCharABCWidthsFloatA
-;;#endif // !UNICODE
-;;
-;;int WINAPI GetClipBox(HDC, LPRECT);
-;;int WINAPI GetClipRgn(HDC, HRGN);
-;;int WINAPI GetMetaRgn(HDC, HRGN);
-;;HGDIOBJ WINAPI GetCurrentObject(HDC, UINT);
-;;BOOL WINAPI GetCurrentPositionEx(HDC, LPPOINT);
-;;int WINAPI GetDeviceCaps(HDC, int);
-;;int WINAPI GetDIBits(HDC, HBITMAP, UINT, UINT, LPVOID, LPBITMAPINFO, UINT);
-;;DWORD WINAPI GetFontData(HDC, DWORD, DWORD, LPVOID, DWORD);
-;;DWORD WINAPI GetGlyphOutline(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, CONST MAT2 *);
-;;int WINAPI GetGraphicsMode(HDC);
-;;int WINAPI GetMapMode(HDC);
-;;UINT WINAPI GetMetaFileBitsEx(HMETAFILE, UINT, LPVOID);
-;;HMETAFILE WINAPI GetMetaFileA(LPCSTR);
-;;HMETAFILE WINAPI GetMetaFileW(LPCWSTR);
-;;#ifdef UNICODE
-;;#define GetMetaFile GetMetaFileW
-;;#else
-;;#define GetMetaFile GetMetaFileA
-;;#endif // !UNICODE
-;;COLORREF WINAPI GetNearestColor(HDC, COLORREF);
-;;UINT WINAPI GetNearestPaletteIndex(HPALETTE, COLORREF);
-;;DWORD WINAPI GetObjectType(HGDIOBJ h);
-;;
-;;#ifndef NOTEXTMETRIC
-;;
-;;UINT APIENTRY GetOutlineTextMetricsA(HDC, UINT, LPOUTLINETEXTMETRICA);
-;;UINT APIENTRY GetOutlineTextMetricsW(HDC, UINT, LPOUTLINETEXTMETRICW);
-;;#ifdef UNICODE
-;;#define GetOutlineTextMetrics GetOutlineTextMetricsW
-;;#else
-;;#define GetOutlineTextMetrics GetOutlineTextMetricsA
-;;#endif // !UNICODE
-;;
-;;#endif /* NOTEXTMETRIC */
-;;
-;;UINT WINAPI GetPaletteEntries(HPALETTE, UINT, UINT, LPPALETTEENTRY);
-;;COLORREF WINAPI GetPixel(HDC, int, int);
-;;int WINAPI GetPolyFillMode(HDC);
-;;BOOL WINAPI GetRasterizerCaps(LPRASTERIZER_STATUS, UINT);
-;;DWORD WINAPI GetRegionData(HRGN, DWORD, LPRGNDATA);
-;;int WINAPI GetRgnBox(HRGN, LPRECT);
-;;HGDIOBJ WINAPI GetStockObject(int);
-;;int WINAPI GetStretchBltMode(HDC);
-;;UINT WINAPI GetSystemPaletteEntries(HDC, UINT, UINT, LPPALETTEENTRY);
-;;UINT WINAPI GetSystemPaletteUse(HDC);
-;;int WINAPI GetTextCharacterExtra(HDC);
-;;UINT WINAPI GetTextAlign(HDC);
-;;COLORREF WINAPI GetTextColor(HDC);
-;;
-;;BOOL APIENTRY GetTextExtentPointA(
-;; HDC,
-;; LPCSTR,
-;; int,
-;; LPSIZE
-;; );
-;;BOOL APIENTRY GetTextExtentPointW(
-;; HDC,
-;; LPCWSTR,
-;; int,
-;; LPSIZE
-;; );
-;;#ifdef UNICODE
-;;#define GetTextExtentPoint GetTextExtentPointW
-;;#else
-;;#define GetTextExtentPoint GetTextExtentPointA
-;;#endif // !UNICODE
-;;
-;;BOOL APIENTRY GetTextExtentPoint32A(
-;; HDC,
-;; LPCSTR,
-;; int,
-;; LPSIZE
-;; );
-;;BOOL APIENTRY GetTextExtentPoint32W(
-;; HDC,
-;; LPCWSTR,
-;; int,
-;; LPSIZE
-;; );
-;;#ifdef UNICODE
-;;#define GetTextExtentPoint32 GetTextExtentPoint32W
-;;#else
-;;#define GetTextExtentPoint32 GetTextExtentPoint32A
-;;#endif // !UNICODE
-;;
-;;BOOL APIENTRY GetTextExtentExPointA(
-;; HDC,
-;; LPCSTR,
-;; int,
-;; int,
-;; LPINT,
-;; LPINT,
-;; LPSIZE
-;; );
-;;BOOL APIENTRY GetTextExtentExPointW(
-;; HDC,
-;; LPCWSTR,
-;; int,
-;; int,
-;; LPINT,
-;; LPINT,
-;; LPSIZE
-;; );
-;;#ifdef UNICODE
-;;#define GetTextExtentExPoint GetTextExtentExPointW
-;;#else
-;;#define GetTextExtentExPoint GetTextExtentExPointA
-;;#endif // !UNICODE
-;;
-;;BOOL WINAPI GetViewportExtEx(HDC, LPSIZE);
-;;BOOL WINAPI GetViewportOrgEx(HDC, LPPOINT);
-;;BOOL WINAPI GetWindowExtEx(HDC, LPSIZE);
-;;BOOL WINAPI GetWindowOrgEx(HDC, LPPOINT);
-;;
-;;int WINAPI IntersectClipRect(HDC, int, int, int, int);
-;;BOOL WINAPI InvertRgn(HDC, HRGN);
-;;BOOL WINAPI LineDDA(int, int, int, int, LINEDDAPROC, LPARAM);
-;;BOOL WINAPI LineTo(HDC, int, int);
-;;BOOL WINAPI MaskBlt(HDC, int, int, int, int,
-;; HDC, int, int, HBITMAP, int, int, DWORD);
-;;BOOL WINAPI PlgBlt(HDC, LPPOINT, HDC, int, int, int,
-;; int, HBITMAP, int, int);
-;;
-;;int WINAPI OffsetClipRgn(HDC, int, int);
-;;int WINAPI OffsetRgn(HRGN, int, int);
-;;BOOL WINAPI PatBlt(HDC, int, int, int, int, DWORD);
-;;BOOL WINAPI Pie(HDC, int, int, int, int, int, int, int, int);
-;;BOOL WINAPI PlayMetaFile(HDC, HMETAFILE);
-;;BOOL WINAPI PaintRgn(HDC, HRGN);
-;;BOOL WINAPI PolyPolygon(HDC, CONST POINT *, LPINT, int);
-;;BOOL WINAPI PtInRegion(HRGN, int, int);
-;;BOOL WINAPI PtVisible(HDC, int, int);
-;;BOOL WINAPI RectInRegion(HRGN, CONST RECT *);
-;;BOOL WINAPI RectVisible(HDC, CONST RECT *);
-;;BOOL WINAPI Rectangle(HDC, int, int, int, int);
-;;BOOL WINAPI RestoreDC(HDC, int);
-;;HDC WINAPI ResetDCA(HDC, CONST DEVMODEA *);
-;;HDC WINAPI ResetDCW(HDC, CONST DEVMODEW *);
-;;#ifdef UNICODE
-;;#define ResetDC ResetDCW
-;;#else
-;;#define ResetDC ResetDCA
-;;#endif // !UNICODE
-;;UINT WINAPI RealizePalette(HDC);
-;;BOOL WINAPI RemoveFontModule(HMODULE);
-;;BOOL WINAPI RemoveFontResourceA(LPSTR);
-;;BOOL WINAPI RemoveFontResourceW(LPWSTR);
-;;#ifdef UNICODE
-;;#define RemoveFontResource RemoveFontResourceW
-;;#else
-;;#define RemoveFontResource RemoveFontResourceA
-;;#endif // !UNICODE
-;;BOOL WINAPI RoundRect(HDC, int, int, int, int, int, int);
-;;BOOL WINAPI ResizePalette(HPALETTE, UINT);
-;;
-;;int WINAPI SaveDC(HDC);
-;;int WINAPI SelectClipRgn(HDC, HRGN);
-;;int WINAPI ExtSelectClipRgn(HDC, HRGN, int);
-;;int WINAPI SetMetaRgn(HDC);
-;;HGDIOBJ WINAPI SelectObject(HDC, HGDIOBJ);
-;;HPALETTE WINAPI SelectPalette(HDC, HPALETTE, BOOL);
-;;COLORREF WINAPI SetBkColor(HDC, COLORREF);
-;;int WINAPI SetBkMode(HDC, int);
-;;LONG WINAPI SetBitmapBits(HBITMAP, DWORD, CONST VOID *);
-;;
-;;UINT WINAPI SetBoundsRect(HDC, CONST RECT *, UINT);
-;;int WINAPI SetDIBits(HDC, HBITMAP, UINT, UINT, CONST VOID *, LPBITMAPINFO, UINT);
-;;int WINAPI SetDIBitsToDevice(HDC, int, int, DWORD, DWORD, int, int, UINT, UINT, LPVOID, LPBITMAPINFO, UINT);
-;;DWORD WINAPI SetMapperFlags(HDC, DWORD);
-;;int WINAPI SetGraphicsMode(HDC hdc, int iMode);
-;;int WINAPI SetMapMode(HDC, int);
-;;HMETAFILE WINAPI SetMetaFileBitsEx(UINT, LPBYTE);
-;;UINT WINAPI SetPaletteEntries(HPALETTE, UINT, UINT, CONST PALETTEENTRY *);
-;;COLORREF WINAPI SetPixel(HDC, int, int, COLORREF);
-;;BOOL WINAPI SetPixelV(HDC, int, int, COLORREF);
-;;int WINAPI SetPolyFillMode(HDC, int);
-;;BOOL WINAPI StretchBlt(HDC, int, int, int, int, HDC, int, int, int, int, DWORD);
-;;BOOL WINAPI SetRectRgn(HRGN, int, int, int, int);
-;;int WINAPI StretchDIBits(HDC, int, int, int, int, int, int, int, int, CONST
-;; VOID *, LPBITMAPINFO, UINT, DWORD);
-;;int WINAPI SetROP2(HDC, int);
-;;int WINAPI SetStretchBltMode(HDC, int);
-;;UINT WINAPI SetSystemPaletteUse(HDC, UINT);
-;;int WINAPI SetTextCharacterExtra(HDC, int);
-;;COLORREF WINAPI SetTextColor(HDC, COLORREF);
-;;UINT WINAPI SetTextAlign(HDC, UINT);
-;;BOOL WINAPI SetTextJustification(HDC, int, int);
-;;BOOL WINAPI UpdateColors(HDC);
-;;
-;;#ifndef NOMETAFILE
-;;
-;;BOOL WINAPI PlayMetaFileRecord(HDC, LPHANDLETABLE, LPMETARECORD, UINT);
-;;typedef int (CALLBACK* MFENUMPROC)(HDC, HANDLETABLE FAR*, METARECORD FAR*, int, LPARAM);
-;;BOOL WINAPI EnumMetaFile(HDC, HMETAFILE, MFENUMPROC, LPARAM);
-;;
-;;typedef int (CALLBACK* ENHMFENUMPROC)(HDC, HANDLETABLE FAR*, ENHMETARECORD FAR*, int, LPARAM);
-;;
-;;// Enhanced Metafile Function Declarations
-;;
-;;HENHMETAFILE WINAPI CloseEnhMetaFile(HDC);
-;;HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE, LPSTR);
-;;HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE, LPWSTR);
-;;#ifdef UNICODE
-;;#define CopyEnhMetaFile CopyEnhMetaFileW
-;;#else
-;;#define CopyEnhMetaFile CopyEnhMetaFileA
-;;#endif // !UNICODE
-;;HDC WINAPI CreateEnhMetaFileA(HDC, LPSTR, LPRECT, LPSTR);
-;;HDC WINAPI CreateEnhMetaFileW(HDC, LPWSTR, LPRECT, LPWSTR);
-;;#ifdef UNICODE
-;;#define CreateEnhMetaFile CreateEnhMetaFileW
-;;#else
-;;#define CreateEnhMetaFile CreateEnhMetaFileA
-;;#endif // !UNICODE
-;;BOOL WINAPI DeleteEnhMetaFile(HENHMETAFILE);
-;;BOOL WINAPI EnumEnhMetaFile(HDC, HENHMETAFILE, ENHMFENUMPROC, LPVOID, LPRECT);
-;;HENHMETAFILE WINAPI GetEnhMetaFileA(LPSTR);
-;;HENHMETAFILE WINAPI GetEnhMetaFileW(LPWSTR);
-;;#ifdef UNICODE
-;;#define GetEnhMetaFile GetEnhMetaFileW
-;;#else
-;;#define GetEnhMetaFile GetEnhMetaFileA
-;;#endif // !UNICODE
-;;UINT WINAPI GetEnhMetaFileBits(HENHMETAFILE, UINT, LPBYTE);
-;;UINT WINAPI GetEnhMetaFileDescriptionA(HENHMETAFILE, UINT, LPSTR );
-;;UINT WINAPI GetEnhMetaFileDescriptionW(HENHMETAFILE, UINT, LPWSTR );
-;;#ifdef UNICODE
-;;#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW
-;;#else
-;;#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA
-;;#endif // !UNICODE
-;;UINT WINAPI GetEnhMetaFileHeader(HENHMETAFILE, UINT, LPENHMETAHEADER );
-;;UINT WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE, UINT, LPPALETTEENTRY );
-;;UINT WINAPI GetWinMetaFileBits(HENHMETAFILE, UINT, LPBYTE, INT, HDC);
-;;BOOL WINAPI PlayEnhMetaFile(HDC, HENHMETAFILE, LPRECT);
-;;BOOL WINAPI PlayEnhMetaFileRecord(HDC, LPHANDLETABLE, LPENHMETARECORD, UINT);
-;;HENHMETAFILE WINAPI SetEnhMetaFileBits(UINT, LPBYTE);
-;;HENHMETAFILE WINAPI SetWinMetaFileBits(UINT, LPBYTE, HDC, LPMETAFILEPICT);
-;;BOOL WINAPI GdiComment(HDC, UINT, LPBYTE);
-;;
-;;#endif /* NOMETAFILE */
-;;
-;;#ifndef NOTEXTMETRIC
-;;
-;;BOOL WINAPI GetTextMetricsA(HDC, LPTEXTMETRICA);
-;;BOOL WINAPI GetTextMetricsW(HDC, LPTEXTMETRICW);
-;;#ifdef UNICODE
-;;#define GetTextMetrics GetTextMetricsW
-;;#else
-;;#define GetTextMetrics GetTextMetricsA
-;;#endif // !UNICODE
-;;
-;;#endif
-;;
-;;/* new GDI */
-;;BOOL WINAPI AngleArc(HDC, int, int, DWORD, FLOAT, FLOAT);
-;;BOOL WINAPI PolyPolyline(HDC, LPPOINT, LPDWORD, DWORD);
-;;BOOL WINAPI GetWorldTransform(HDC, LPXFORM);
-;;BOOL WINAPI SetWorldTransform(HDC, LPXFORM);
-;;BOOL WINAPI ModifyWorldTransform(HDC, LPXFORM , DWORD);
-;;BOOL WINAPI CombineTransform(LPXFORM, LPXFORM, LPXFORM);
-;;
-;;/* Flags value for COLORADJUSTMENT */
+;;Flags value for COLORADJUSTMENT
(define-integrable CA_NEGATIVE #x0001)
(define-integrable CA_LOG_FILTER #x0002)
-;;
-;;/* IlluminantIndex values */
+
+;;IlluminantIndex values
(define-integrable ILLUMINANT_DEVICE_DEFAULT 0)
(define-integrable ILLUMINANT_A 1)
(define-integrable ILLUMINANT_B 2)
(define-integrable ILLUMINANT_FLUORESCENT ILLUMINANT_F2)
(define-integrable ILLUMINANT_NTSC ILLUMINANT_C)
;;
-;;/* Min and max for RedGamma, GreenGamma, BlueGamma */
+;;Min and max for RedGamma, GreenGamma, BlueGamma
(define-integrable RGB_GAMMA_MIN 02500) ;(WORD)02500
(define-integrable RGB_GAMMA_MAX 65000)
-;;
-;;/* Min and max for ReferenceBlack and ReferenceWhite */
+
+;;Min and max for ReferenceBlack and ReferenceWhite
(define-integrable REFERENCE_WHITE_MIN 6000) ;(WORD)6000
(define-integrable REFERENCE_WHITE_MAX 10000) ;(WORD)10000
(define-integrable REFERENCE_BLACK_MIN 0) ;(WORD)0
(define-integrable REFERENCE_BLACK_MAX 4000) ;(WORD)4000
-;;
-;;/* Min and max for Contrast, Brightness, Colorfulness, RedGreenTint */
+
+;;Min and max for Contrast, Brightness, Colorfulness, RedGreenTint
(define-integrable COLOR_ADJ_MIN -100) ;(SHORT)-100
(define-integrable COLOR_ADJ_MAX 100) ;(SHORT)100
-;;
-;;typedef struct tagCOLORADJUSTMENT {
-;; WORD caSize;
-;; WORD caFlags;
-;; WORD caIlluminantIndex;
-;; WORD caRedGamma;
-;; WORD caGreenGamma;
-;; WORD caBlueGamma;
-;; WORD caReferenceBlack;
-;; WORD caReferenceWhite;
-;; SHORT caContrast;
-;; SHORT caBrightness;
-;; SHORT caColorfulness;
-;; SHORT caRedGreenTint;
-;;} COLORADJUSTMENT, *PCOLORADJUSTMENT, FAR *LPCOLORADJUSTMENT;
-;;
-;;BOOL WINAPI SetColorAdjustment(HDC, LPCOLORADJUSTMENT);
-;;BOOL WINAPI GetColorAdjustment(HDC, LPCOLORADJUSTMENT);
-;;HPALETTE WINAPI CreateHalftonePalette(HDC);
-;;
-;;#ifdef STRICT
-;;typedef BOOL (CALLBACK* ABORTPROC)(HDC, int);
-;;#else
-;;typedef FARPROC ABORTPROC;
-;;#endif
-;;
-;;typedef struct _DOCINFOA {
-;; int cbSize;
-;; LPCSTR lpszDocName;
-;; LPCSTR lpszOutput;
-;;} DOCINFOA, *LPDOCINFOA;
-;;typedef struct _DOCINFOW {
-;; int cbSize;
-;; LPCWSTR lpszDocName;
-;; LPCWSTR lpszOutput;
-;;} DOCINFOW, *LPDOCINFOW;
-;;#ifdef UNICODE
-;;typedef DOCINFOW DOCINFO;
-;;typedef LPDOCINFOW LPDOCINFO;
-;;#else
-;;typedef DOCINFOA DOCINFO;
-;;typedef LPDOCINFOA LPDOCINFO;
-;;#endif // UNICODE
-;;
-;;int WINAPI StartDocA(HDC, LPDOCINFOA);
-;;int WINAPI StartDocW(HDC, LPDOCINFOW);
-;;#ifdef UNICODE
-;;#define StartDoc StartDocW
-;;#else
-;;#define StartDoc StartDocA
-;;#endif // !UNICODE
-;;int WINAPI EndDoc(HDC);
-;;int WINAPI StartPage(HDC);
-;;int WINAPI EndPage(HDC);
-;;int WINAPI AbortDoc(HDC);
-;;int WINAPI SetAbortProc(HDC, ABORTPROC);
-;;
-;;BOOL WINAPI AbortPath(HDC);
-;;BOOL WINAPI ArcTo(HDC, int, int, int, int, int, int,int, int);
-;;BOOL WINAPI BeginPath(HDC);
-;;BOOL WINAPI CloseFigure(HDC);
-;;BOOL WINAPI EndPath(HDC);
-;;BOOL WINAPI FillPath(HDC);
-;;BOOL WINAPI FlattenPath(HDC);
-;;int WINAPI GetPath(HDC, LPPOINT, LPBYTE, int);
-;;HRGN WINAPI PathToRegion(HDC);
-;;BOOL WINAPI PolyDraw(HDC, LPPOINT, LPBYTE, int);
-;;BOOL WINAPI SelectClipPath(HDC, int);
-;;int WINAPI SetArcDirection(HDC, int);
-;;BOOL WINAPI SetMiterLimit(HDC, FLOAT, PFLOAT);
-;;BOOL WINAPI StrokeAndFillPath(HDC);
-;;BOOL WINAPI StrokePath(HDC);
-;;BOOL WINAPI WidenPath(HDC);
-;;HPEN WINAPI ExtCreatePen(DWORD, DWORD, LPLOGBRUSH, DWORD, LPDWORD);
-;;BOOL WINAPI GetMiterLimit(HDC, PFLOAT);
-;;int WINAPI GetArcDirection(HDC);
-;;
-;;int WINAPI GetObjectA(HGDIOBJ, int, LPVOID);
-;;int WINAPI GetObjectW(HGDIOBJ, int, LPVOID);
-;;#ifdef UNICODE
-;;#define GetObject GetObjectW
-;;#else
-;;#define GetObject GetObjectA
-;;#endif // !UNICODE
-;;BOOL WINAPI MoveToEx(HDC, int, int, LPPOINT);
-;;BOOL WINAPI TextOutA(HDC, int, int, LPCSTR, int);
-;;BOOL WINAPI TextOutW(HDC, int, int, LPCWSTR, int);
-;;#ifdef UNICODE
-;;#define TextOut TextOutW
-;;#else
-;;#define TextOut TextOutA
-;;#endif // !UNICODE
-;;BOOL WINAPI ExtTextOutA(HDC, int, int, UINT, CONST RECT *, LPCSTR, UINT, LPINT);
-;;BOOL WINAPI ExtTextOutW(HDC, int, int, UINT, CONST RECT *, LPCWSTR, UINT, LPINT);
-;;#ifdef UNICODE
-;;#define ExtTextOut ExtTextOutW
-;;#else
-;;#define ExtTextOut ExtTextOutA
-;;#endif // !UNICODE
-;;BOOL WINAPI PolyTextOutA(HDC, POLYTEXTA *, int);
-;;BOOL WINAPI PolyTextOutW(HDC, POLYTEXTW *, int);
-;;#ifdef UNICODE
-;;#define PolyTextOut PolyTextOutW
-;;#else
-;;#define PolyTextOut PolyTextOutA
-;;#endif // !UNICODE
-;;
-;;HRGN WINAPI CreatePolygonRgn(CONST POINT *, int, int);
-;;BOOL WINAPI DPtoLP(HDC, LPPOINT, int);
-;;BOOL WINAPI LPtoDP(HDC, LPPOINT, int);
-;;BOOL WINAPI Polygon(HDC, CONST POINT *, int);
-;;BOOL WINAPI Polyline(HDC, CONST POINT *, int);
-;;
-;;BOOL WINAPI PolyBezier(HDC, LPPOINT, DWORD);
-;;BOOL WINAPI PolyBezierTo(HDC, LPPOINT, DWORD);
-;;BOOL WINAPI PolylineTo(HDC, LPPOINT, DWORD);
-;;
-;;BOOL WINAPI SetViewportExtEx(HDC, int, int, LPSIZE);
-;;BOOL WINAPI SetViewportOrgEx(HDC, int, int, LPPOINT);
-;;BOOL WINAPI SetWindowExtEx(HDC, int, int, LPSIZE);
-;;BOOL WINAPI SetWindowOrgEx(HDC, int, int, LPPOINT);
-;;
-;;BOOL WINAPI OffsetViewportOrgEx(HDC, int, int, LPPOINT);
-;;BOOL WINAPI OffsetWindowOrgEx(HDC, int, int, LPPOINT);
-;;BOOL WINAPI ScaleViewportExtEx(HDC, int, int, int, int, LPSIZE);
-;;BOOL WINAPI ScaleWindowExtEx(HDC, int, int, int, int, LPSIZE);
-;;BOOL WINAPI SetBitmapDimensionEx(HBITMAP, int, int, LPSIZE);
-;;BOOL WINAPI SetBrushOrgEx(HDC, int, int, LPPOINT);
-;;
-;;int WINAPI GetTextFaceA(HDC, int, LPSTR);
-;;int WINAPI GetTextFaceW(HDC, int, LPWSTR);
-;;#ifdef UNICODE
-;;#define GetTextFace GetTextFaceW
-;;#else
-;;#define GetTextFace GetTextFaceA
-;;#endif // !UNICODE
-;;
-;;#define FONTMAPPER_MAX 10
-;;
-;;HFONT WINAPI ExtCreateFontIndirectA(LPEXTLOGFONTA);
-;;HFONT WINAPI ExtCreateFontIndirectW(LPEXTLOGFONTW);
-;;#ifdef UNICODE
-;;#define ExtCreateFontIndirect ExtCreateFontIndirectW
-;;#else
-;;#define ExtCreateFontIndirect ExtCreateFontIndirectA
-;;#endif // !UNICODE
-;;typedef struct tagKERNINGPAIR {
-;; WORD wFirst;
-;; WORD wSecond;
-;; int iKernAmount;
-;;} KERNINGPAIR, *LPKERNINGPAIR;
-;;
-;;DWORD WINAPI GetKerningPairs(HDC, DWORD, LPKERNINGPAIR);
-;;
-;;DWORD WINAPI GetDCOrg(HDC);
-;;BOOL WINAPI FixBrushOrgEx(HDC,int,int,LPPOINT);
-;;BOOL WINAPI UnrealizeObject(HGDIOBJ);
-;;
-;;BOOL WINAPI GdiFlush();
-;;DWORD WINAPI GdiSetBatchLimit(DWORD);
-;;DWORD WINAPI GdiGetBatchLimit();
-;;
-;;#ifndef NOMETAFILE
-;;
-;;// Enhanced metafile constants.
-;;
-;;#define ENHMETA_SIGNATURE 0x464D4520
-;;
-;;// Stock object flag used in the object handle index in the enhanced
-;;// metafile records.
-;;// E.g. The object handle index (META_STOCK_OBJECT | BLACK_BRUSH)
-;;// represents the stock object BLACK_BRUSH.
-;;
-;;#define ENHMETA_STOCK_OBJECT 0x80000000
-;;
-;;// Enhanced metafile record types.
-;;
+
+;;Enhanced metafile record types.
(define-integrable EMR_HEADER 1)
(define-integrable EMR_POLYBEZIER 2)
(define-integrable EMR_POLYGON 3)
(define-integrable EMR_POLYTEXTOUTA 96)
(define-integrable EMR_POLYTEXTOUTW 97)
-(define-integrable EMR_MIN 1)
-(define-integrable EMR_MAX 97)
-
-;;// Base record type for the enhanced metafile.
-;;
-;;typedef struct tagEMR
-;;{
-;; DWORD iType; // Enhanced metafile record type
-;; DWORD nSize; // Length of the record in bytes.
-;; // This must be a multiple of 4.
-;;} EMR, *PEMR;
-;;
-;;// Base text record type for the enhanced metafile.
-;;
-;;typedef struct tagEMRTEXT
-;;{
-;; POINTL ptlReference;
-;; DWORD nChars;
-;; DWORD offString; // Offset to the string
-;; DWORD fOptions;
-;; RECTL rcl;
-;; DWORD offDx; // Offset to the inter-character spacing array.
-;; // This is always given.
-;;} EMRTEXT, *PEMRTEXT;
-;;
-;;// Record structures for the enhanced metafile.
-;;
-;;typedef struct tagABORTPATH
-;;{
-;; EMR emr;
-;;} EMRABORTPATH, *PEMRABORTPATH,
-;; EMRBEGINPATH, *PEMRBEGINPATH,
-;; EMRENDPATH, *PEMRENDPATH,
-;; EMRCLOSEFIGURE, *PEMRCLOSEFIGURE,
-;; EMRFLATTENPATH, *PEMRFLATTENPATH,
-;; EMRWIDENPATH, *PEMRWIDENPATH,
-;; EMRSETMETARGN, *PEMRSETMETARGN,
-;; EMRSAVEDC, *PEMRSAVEDC,
-;; EMRREALIZEPALETTE, *PEMRREALIZEPALETTE;
-;;
-;;typedef struct tagEMRSELECTCLIPPATH
-;;{
-;; EMR emr;
-;; DWORD iMode;
-;;} EMRSELECTCLIPPATH, *PEMRSELECTCLIPPATH,
-;; EMRSETBKMODE, *PEMRSETBKMODE,
-;; EMRSETMAPMODE, *PEMRSETMAPMODE,
-;; EMRSETPOLYFILLMODE, *PEMRSETPOLYFILLMODE,
-;; EMRSETROP2, *PEMRSETROP2,
-;; EMRSETSTRETCHBLTMODE, *PEMRSETSTRETCHBLTMODE,
-;; EMRSETTEXTALIGN, *PEMRSETTEXTALIGN;
-;;
-;;typedef struct tagEMRSETMITERLIMIT
-;;{
-;; EMR emr;
-;; FLOAT eMiterLimit;
-;;} EMRSETMITERLIMIT, *PEMRSETMITERLIMIT;
-;;
-;;typedef struct tagEMRRESTOREDC
-;;{
-;; EMR emr;
-;; LONG iRelative; // Specifies a relative instance
-;;} EMRRESTOREDC, *PEMRRESTOREDC;
-;;
-;;typedef struct tagEMRSETARCDIRECTION
-;;{
-;; EMR emr;
-;; DWORD iArcDirection; // Specifies the arc direction in the
-;; // advanced graphics mode.
-;;} EMRSETARCDIRECTION, *PEMRSETARCDIRECTION;
-;;
-;;typedef struct tagEMRSETMAPPERFLAGS
-;;{
-;; EMR emr;
-;; DWORD dwFlags;
-;;} EMRSETMAPPERFLAGS, *PEMRSETMAPPERFLAGS;
-;;
-;;typedef struct tagEMRSETTEXTCOLOR
-;;{
-;; EMR emr;
-;; COLORREF crColor;
-;;} EMRSETBKCOLOR, *PEMRSETBKCOLOR,
-;; EMRSETTEXTCOLOR, *PEMRSETTEXTCOLOR;
-;;
-;;typedef struct tagEMRSELECTOBJECT
-;;{
-;; EMR emr;
-;; DWORD ihObject; // Object handle index
-;;} EMRSELECTOBJECT, *PEMRSELECTOBJECT,
-;; EMRDELETEOBJECT, *PEMRDELETEOBJECT;
-;;
-;;typedef struct tagEMRSELECTPALETTE
-;;{
-;; EMR emr;
-;; DWORD ihPal; // Palette handle index, background mode only
-;;} EMRSELECTPALETTE, *PEMRSELECTPALETTE;
-;;
-;;typedef struct tagEMRRESIZEPALETTE
-;;{
-;; EMR emr;
-;; DWORD ihPal; // Palette handle index
-;; DWORD cEntries;
-;;} EMRRESIZEPALETTE, *PEMRRESIZEPALETTE;
-;;
-;;typedef struct tagEMRSETPALETTEENTRIES
-;;{
-;; EMR emr;
-;; DWORD ihPal; // Palette handle index
-;; DWORD iStart;
-;; DWORD cEntries;
-;; PALETTEENTRY aPalEntries[1];// The peFlags fields do not contain any flags
-;;} EMRSETPALETTEENTRIES, *PEMRSETPALETTEENTRIES;
-;;
-;;typedef struct tagEMRSETCOLORADJUSTMENT
-;;{
-;; EMR emr;
-;; COLORADJUSTMENT ColorAdjustment;
-;;} EMRSETCOLORADJUSTMENT, *PEMRSETCOLORADJUSTMENT;
-;;
-;;typedef struct tagEMRGDICOMMENT
-;;{
-;; EMR emr;
-;; DWORD cbData; // Size of data in bytes
-;; BYTE Data[1];
-;;} EMRGDICOMMENT, *PEMRGDICOMMENT;
-;;
-;;typedef struct tagEMREOF
-;;{
-;; EMR emr;
-;; DWORD nPalEntries; // Number of palette entries
-;; DWORD offPalEntries; // Offset to the palette entries
-;; DWORD nSizeLast; // Same as nSize and must be the last DWORD
-;; // of the record. The palette entries,
-;; // if exist, precede this field.
-;;} EMREOF, *PEMREOF;
-;;
-;;typedef struct tagEMRLINETO
-;;{
-;; EMR emr;
-;; POINTL ptl;
-;;} EMRLINETO, *PEMRLINETO,
-;; EMRMOVETOEX, *PEMRMOVETOEX;
-;;
-;;typedef struct tagEMROFFSETCLIPRGN
-;;{
-;; EMR emr;
-;; POINTL ptlOffset;
-;;} EMROFFSETCLIPRGN, *PEMROFFSETCLIPRGN;
-;;
-;;typedef struct tagEMRFILLPATH
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;;} EMRFILLPATH, *PEMRFILLPATH,
-;; EMRSTROKEANDFILLPATH, *PEMRSTROKEANDFILLPATH,
-;; EMRSTROKEPATH, *PEMRSTROKEPATH;
-;;
-;;typedef struct tagEMREXCLUDECLIPRECT
-;;{
-;; EMR emr;
-;; RECTL rclClip;
-;;} EMREXCLUDECLIPRECT, *PEMREXCLUDECLIPRECT,
-;; EMRINTERSECTCLIPRECT, *PEMRINTERSECTCLIPRECT;
-;;
-;;typedef struct tagEMRSETVIEWPORTORGEX
-;;{
-;; EMR emr;
-;; POINTL ptlOrigin;
-;;} EMRSETVIEWPORTORGEX, *PEMRSETVIEWPORTORGEX,
-;; EMRSETWINDOWORGEX, *PEMRSETWINDOWORGEX,
-;; EMRSETBRUSHORGEX, *PEMRSETBRUSHORGEX;
-;;
-;;typedef struct tagEMRSETVIEWPORTEXTEX
-;;{
-;; EMR emr;
-;; SIZEL szlExtent;
-;;} EMRSETVIEWPORTEXTEX, *PEMRSETVIEWPORTEXTEX,
-;; EMRSETWINDOWEXTEX, *PEMRSETWINDOWEXTEX;
-;;
-;;typedef struct tagEMRSCALEVIEWPORTEXTEX
-;;{
-;; EMR emr;
-;; LONG xNum;
-;; LONG xDenom;
-;; LONG yNum;
-;; LONG yDenom;
-;;} EMRSCALEVIEWPORTEXTEX, *PEMRSCALEVIEWPORTEXTEX,
-;; EMRSCALEWINDOWEXTEX, *PEMRSCALEWINDOWEXTEX;
-;;
-;;typedef struct tagEMRSETWORLDTRANSFORM
-;;{
-;; EMR emr;
-;; XFORM xform;
-;;} EMRSETWORLDTRANSFORM, *PEMRSETWORLDTRANSFORM;
-;;
-;;typedef struct tagEMRMODIFYWORLDTRANSFORM
-;;{
-;; EMR emr;
-;; XFORM xform;
-;; DWORD iMode;
-;;} EMRMODIFYWORLDTRANSFORM, *PEMRMODIFYWORLDTRANSFORM;
-;;
-;;typedef struct tagEMRSETPIXELV
-;;{
-;; EMR emr;
-;; POINTL ptlPixel;
-;; COLORREF crColor;
-;;} EMRSETPIXELV, *PEMRSETPIXELV;
-;;
-;;typedef struct tagEMREXTFLOODFILL
-;;{
-;; EMR emr;
-;; POINTL ptlStart;
-;; COLORREF crColor;
-;; DWORD iMode;
-;;} EMREXTFLOODFILL, *PEMREXTFLOODFILL;
-;;
-;;typedef struct tagEMRELLIPSE
-;;{
-;; EMR emr;
-;; RECTL rclBox; // Inclusive-inclusive bounding rectangle
-;;} EMRELLIPSE, *PEMRELLIPSE,
-;; EMRRECTANGLE, *PEMRRECTANGLE;
-;;
-;;typedef struct tagEMRROUNDRECT
-;;{
-;; EMR emr;
-;; RECTL rclBox; // Inclusive-inclusive bounding rectangle
-;; SIZEL szlCorner;
-;;} EMRROUNDRECT, *PEMRROUNDRECT;
-;;
-;;typedef struct tagEMRARC
-;;{
-;; EMR emr;
-;; RECTL rclBox; // Inclusive-inclusive bounding rectangle
-;; POINTL ptlStart;
-;; POINTL ptlEnd;
-;;} EMRARC, *PEMRARC,
-;; EMRARCTO, *PEMRARCTO,
-;; EMRCHORD, *PEMRCHORD,
-;; EMRPIE, *PEMRPIE;
-;;
-;;typedef struct tagEMRANGLEARC
-;;{
-;; EMR emr;
-;; POINTL ptlCenter;
-;; DWORD nRadius;
-;; FLOAT eStartAngle;
-;; FLOAT eSweepAngle;
-;;} EMRANGLEARC, *PEMRANGLEARC;
-;;
-;;typedef struct tagEMRPOLYLINE
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; DWORD cptl;
-;; POINTL aptl[1];
-;;} EMRPOLYLINE, *PEMRPOLYLINE,
-;; EMRPOLYBEZIER, *PEMRPOLYBEZIER,
-;; EMRPOLYGON, *PEMRPOLYGON,
-;; EMRPOLYBEZIERTO, *PEMRPOLYBEZIERTO,
-;; EMRPOLYLINETO, *PEMRPOLYLINETO;
-;;
-;;typedef struct tagEMRPOLYLINE16
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; DWORD cpts;
-;; POINTS apts[1];
-;;} EMRPOLYLINE16, *PEMRPOLYLINE16,
-;; EMRPOLYBEZIER16, *PEMRPOLYBEZIER16,
-;; EMRPOLYGON16, *PEMRPOLYGON16,
-;; EMRPOLYBEZIERTO16, *PEMRPOLYBEZIERTO16,
-;; EMRPOLYLINETO16, *PEMRPOLYLINETO16;
-;;
-;;typedef struct tagEMRPOLYDRAW
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; DWORD cptl; // Number of points
-;; POINTL aptl[1]; // Array of points
-;; BYTE abTypes[1]; // Array of point types
-;;} EMRPOLYDRAW, *PEMRPOLYDRAW;
-;;
-;;typedef struct tagEMRPOLYDRAW16
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; DWORD cpts; // Number of points
-;; POINTS apts[1]; // Array of points
-;; BYTE abTypes[1]; // Array of point types
-;;} EMRPOLYDRAW16, *PEMRPOLYDRAW16;
-;;
-;;typedef struct tagEMRPOLYPOLYLINE
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; DWORD nPolys; // Number of polys
-;; DWORD cptl; // Total number of points in all polys
-;; DWORD aPolyCounts[1]; // Array of point counts for each poly
-;; POINTL aptl[1]; // Array of points
-;;} EMRPOLYPOLYLINE, *PEMRPOLYPOLYLINE,
-;; EMRPOLYPOLYGON, *PEMRPOLYPOLYGON;
-;;
-;;typedef struct tagEMRPOLYPOLYLINE16
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; DWORD nPolys; // Number of polys
-;; DWORD cpts; // Total number of points in all polys
-;; DWORD aPolyCounts[1]; // Array of point counts for each poly
-;; POINTS apts[1]; // Array of points
-;;} EMRPOLYPOLYLINE16, *PEMRPOLYPOLYLINE16,
-;; EMRPOLYPOLYGON16, *PEMRPOLYPOLYGON16;
-;;
-;;typedef struct tagEMRINVERTRGN
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; DWORD cbRgnData; // Size of region data in bytes
-;; BYTE RgnData[1];
-;;} EMRINVERTRGN, *PEMRINVERTRGN,
-;; EMRPAINTRGN, *PEMRPAINTRGN;
-;;
-;;typedef struct tagEMRFILLRGN
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; DWORD cbRgnData; // Size of region data in bytes
-;; DWORD ihBrush; // Brush handle index
-;; BYTE RgnData[1];
-;;} EMRFILLRGN, *PEMRFILLRGN;
-;;
-;;typedef struct tagEMRFRAMERGN
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; DWORD cbRgnData; // Size of region data in bytes
-;; DWORD ihBrush; // Brush handle index
-;; SIZEL szlStroke;
-;; BYTE RgnData[1];
-;;} EMRFRAMERGN, *PEMRFRAMERGN;
-;;
-;;typedef struct tagEMREXTSELECTCLIPRGN
-;;{
-;; EMR emr;
-;; DWORD cbRgnData; // Size of region data in bytes
-;; DWORD iMode;
-;; BYTE RgnData[1];
-;;} EMREXTSELECTCLIPRGN, *PEMREXTSELECTCLIPRGN;
-;;
-;;typedef struct tagEMREXTTEXTOUTA
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; DWORD iGraphicsMode; // Current graphics mode
-;; FLOAT exScale; // X and Y scales from Page units to .01mm units
-;; FLOAT eyScale; // if graphics mode is GM_COMPATIBLE.
-;; EMRTEXT emrtext; // This is followed by the string and spacing
-;; // array
-;;} EMREXTTEXTOUTA, *PEMREXTTEXTOUTA,
-;; EMREXTTEXTOUTW, *PEMREXTTEXTOUTW;
-;;
-;;typedef struct tagEMRPOLYTEXTOUTA
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; DWORD iGraphicsMode; // Current graphics mode
-;; FLOAT exScale; // X and Y scales from Page units to .01mm units
-;; FLOAT eyScale; // if graphics mode is GM_COMPATIBLE.
-;; LONG cStrings;
-;; EMRTEXT aemrtext[1]; // Array of EMRTEXT structures. This is
-;; // followed by the strings and spacing arrays.
-;;} EMRPOLYTEXTOUTA, *PEMRPOLYTEXTOUTA,
-;; EMRPOLYTEXTOUTW, *PEMRPOLYTEXTOUTW;
-;;
-;;typedef struct tagEMRBITBLT
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; LONG xDest;
-;; LONG yDest;
-;; LONG cxDest;
-;; LONG cyDest;
-;; DWORD dwRop;
-;; LONG xSrc;
-;; LONG ySrc;
-;; XFORM xformSrc; // Source DC transform
-;; COLORREF crBkColorSrc; // Source DC BkColor in RGB
-;; DWORD iUsageSrc; // Source bitmap info color table usage
-;; // (DIB_RGB_COLORS)
-;; DWORD offBmiSrc; // Offset to the source BITMAPINFO structure
-;; DWORD cbBmiSrc; // Size of the source BITMAPINFO structure
-;; DWORD offBitsSrc; // Offset to the source bitmap bits
-;; DWORD cbBitsSrc; // Size of the source bitmap bits
-;;} EMRBITBLT, *PEMRBITBLT;
-;;
-;;typedef struct tagEMRSTRETCHBLT
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; LONG xDest;
-;; LONG yDest;
-;; LONG cxDest;
-;; LONG cyDest;
-;; DWORD dwRop;
-;; LONG xSrc;
-;; LONG ySrc;
-;; XFORM xformSrc; // Source DC transform
-;; COLORREF crBkColorSrc; // Source DC BkColor in RGB
-;; DWORD iUsageSrc; // Source bitmap info color table usage
-;; // (DIB_RGB_COLORS)
-;; DWORD offBmiSrc; // Offset to the source BITMAPINFO structure
-;; DWORD cbBmiSrc; // Size of the source BITMAPINFO structure
-;; DWORD offBitsSrc; // Offset to the source bitmap bits
-;; DWORD cbBitsSrc; // Size of the source bitmap bits
-;; LONG cxSrc;
-;; LONG cySrc;
-;;} EMRSTRETCHBLT, *PEMRSTRETCHBLT;
-;;
-;;typedef struct tagEMRMASKBLT
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; LONG xDest;
-;; LONG yDest;
-;; LONG cxDest;
-;; LONG cyDest;
-;; DWORD dwRop;
-;; LONG xSrc;
-;; LONG ySrc;
-;; XFORM xformSrc; // Source DC transform
-;; COLORREF crBkColorSrc; // Source DC BkColor in RGB
-;; DWORD iUsageSrc; // Source bitmap info color table usage
-;; // (DIB_RGB_COLORS)
-;; DWORD offBmiSrc; // Offset to the source BITMAPINFO structure
-;; DWORD cbBmiSrc; // Size of the source BITMAPINFO structure
-;; DWORD offBitsSrc; // Offset to the source bitmap bits
-;; DWORD cbBitsSrc; // Size of the source bitmap bits
-;; LONG xMask;
-;; LONG yMask;
-;; DWORD iUsageMask; // Mask bitmap info color table usage
-;; DWORD offBmiMask; // Offset to the mask BITMAPINFO structure if any
-;; DWORD cbBmiMask; // Size of the mask BITMAPINFO structure if any
-;; DWORD offBitsMask; // Offset to the mask bitmap bits if any
-;; DWORD cbBitsMask; // Size of the mask bitmap bits if any
-;;} EMRMASKBLT, *PEMRMASKBLT;
-;;
-;;typedef struct tagEMRPLGBLT
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; POINTL aptlDest[3];
-;; LONG xSrc;
-;; LONG ySrc;
-;; LONG cxSrc;
-;; LONG cySrc;
-;; XFORM xformSrc; // Source DC transform
-;; COLORREF crBkColorSrc; // Source DC BkColor in RGB
-;; DWORD iUsageSrc; // Source bitmap info color table usage
-;; // (DIB_RGB_COLORS)
-;; DWORD offBmiSrc; // Offset to the source BITMAPINFO structure
-;; DWORD cbBmiSrc; // Size of the source BITMAPINFO structure
-;; DWORD offBitsSrc; // Offset to the source bitmap bits
-;; DWORD cbBitsSrc; // Size of the source bitmap bits
-;; LONG xMask;
-;; LONG yMask;
-;; DWORD iUsageMask; // Mask bitmap info color table usage
-;; DWORD offBmiMask; // Offset to the mask BITMAPINFO structure if any
-;; DWORD cbBmiMask; // Size of the mask BITMAPINFO structure if any
-;; DWORD offBitsMask; // Offset to the mask bitmap bits if any
-;; DWORD cbBitsMask; // Size of the mask bitmap bits if any
-;;} EMRPLGBLT, *PEMRPLGBLT;
-;;
-;;typedef struct tagEMRSETDIBITSTODEVICE
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; LONG xDest;
-;; LONG yDest;
-;; LONG xSrc;
-;; LONG ySrc;
-;; LONG cxSrc;
-;; LONG cySrc;
-;; DWORD offBmiSrc; // Offset to the source BITMAPINFO structure
-;; DWORD cbBmiSrc; // Size of the source BITMAPINFO structure
-;; DWORD offBitsSrc; // Offset to the source bitmap bits
-;; DWORD cbBitsSrc; // Size of the source bitmap bits
-;; DWORD iUsageSrc; // Source bitmap info color table usage
-;; DWORD iStartScan;
-;; DWORD cScans;
-;;} EMRSETDIBITSTODEVICE, *PEMRSETDIBITSTODEVICE;
-;;
-;;typedef struct tagEMRSTRETCHDIBITS
-;;{
-;; EMR emr;
-;; RECTL rclBounds; // Inclusive-inclusive bounds in device units
-;; LONG xDest;
-;; LONG yDest;
-;; LONG xSrc;
-;; LONG ySrc;
-;; LONG cxSrc;
-;; LONG cySrc;
-;; DWORD offBmiSrc; // Offset to the source BITMAPINFO structure
-;; DWORD cbBmiSrc; // Size of the source BITMAPINFO structure
-;; DWORD offBitsSrc; // Offset to the source bitmap bits
-;; DWORD cbBitsSrc; // Size of the source bitmap bits
-;; DWORD iUsageSrc; // Source bitmap info color table usage
-;; DWORD dwRop;
-;; LONG cxDest;
-;; LONG cyDest;
-;;} EMRSTRETCHDIBITS, *PEMRSTRETCHDIBITS;
-;;
-;;typedef struct tagEMREXTCREATEFONTINDIRECTW
-;;{
-;; EMR emr;
-;; DWORD ihFont; // Font handle index
-;; EXTLOGFONTW elfw;
-;;} EMREXTCREATEFONTINDIRECTW, *PEMREXTCREATEFONTINDIRECTW;
-;;
-;;typedef struct tagEMRCREATEPALETTE
-;;{
-;; EMR emr;
-;; DWORD ihPal; // Palette handle index
-;; LOGPALETTE lgpl; // The peFlags fields in the palette entries
-;; // do not contain any flags
-;;} EMRCREATEPALETTE, *PEMRCREATEPALETTE;
-;;
-;;typedef struct tagEMRCREATEPEN
-;;{
-;; EMR emr;
-;; DWORD ihPen; // Pen handle index
-;; LOGPEN lopn;
-;;} EMRCREATEPEN, *PEMRCREATEPEN;
-;;
-;;typedef struct tagEMREXTCREATEPEN
-;;{
-;; EMR emr;
-;; DWORD ihPen; // Pen handle index
-;; DWORD offBmi; // Offset to the BITMAPINFO structure if any
-;; DWORD cbBmi; // Size of the BITMAPINFO structure if any
-;; // The bitmap info is followed by the bitmap
-;; // bits to form a packed DIB.
-;; DWORD offBits; // Offset to the brush bitmap bits if any
-;; DWORD cbBits; // Size of the brush bitmap bits if any
-;; EXTLOGPEN elp; // The extended pen with the style array.
-;;} EMREXTCREATEPEN, *PEMREXTCREATEPEN;
-;;
-;;typedef struct tagEMRCREATEBRUSHINDIRECT
-;;{
-;; EMR emr;
-;; DWORD ihBrush; // Brush handle index
-;; LOGBRUSH lb; // The style must be BS_SOLID, BS_HOLLOW,
-;; // BS_NULL or BS_HATCHED.
-;;} EMRCREATEBRUSHINDIRECT, *PEMRCREATEBRUSHINDIRECT;
-;;
-;;typedef struct tagEMRCREATEMONOBRUSH
-;;{
-;; EMR emr;
-;; DWORD ihBrush; // Brush handle index
-;; DWORD iUsage; // Bitmap info color table usage
-;; DWORD offBmi; // Offset to the BITMAPINFO structure
-;; DWORD cbBmi; // Size of the BITMAPINFO structure
-;; DWORD offBits; // Offset to the bitmap bits
-;; DWORD cbBits; // Size of the bitmap bits
-;;} EMRCREATEMONOBRUSH, *PEMRCREATEMONOBRUSH;
-;;
-;;typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
-;;{
-;; EMR emr;
-;; DWORD ihBrush; // Brush handle index
-;; DWORD iUsage; // Bitmap info color table usage
-;; DWORD offBmi; // Offset to the BITMAPINFO structure
-;; DWORD cbBmi; // Size of the BITMAPINFO structure
-;; // The bitmap info is followed by the bitmap
-;; // bits to form a packed DIB.
-;; DWORD offBits; // Offset to the bitmap bits
-;; DWORD cbBits; // Size of the bitmap bits
-;;} EMRCREATEDIBPATTERNBRUSHPT, *PEMRCREATEDIBPATTERNBRUSHPT;
-;;
-;;#endif /* NOMETAFILE */
-;;
-;;#endif /* NOGDI */
-;;
-;;#ifdef __cplusplus
-;;}
-;;#endif
-;;
-;;#endif /* _WINGDI_ */
+(define-integrable EMR_MIN 1)
+(define-integrable EMR_MAX 97)
\ No newline at end of file
-;;/*++ BUILD Version: 0093 Increment this if a change has global effects
-;;
-;;Copyright (c) 1990-1993 Microsoft Corporation
-;;
-;;Module Name:
-;;
-;; winnt.h
-;;
-;;Abstract:
-;;
-;; This module defines the 32-Bit Windows types and constants that are
-;; defined by NT, but exposed through the Win32 API.
-;;
-;;Revision History:
-;;
-;;--*/
-;;
-;;#ifndef _WINNT_
-;;#define _WINNT_
-;;
-;;#ifdef __cplusplus
-;;extern "C" {
-;;#endif
-;;
-;;#include <ctype.h>
-;;#define ANYSIZE_ARRAY 1
-;;#if defined(_MIPS_) || defined(_ALPHA_)
-;;#define UNALIGNED __unaligned
-;;#else
-;;#define UNALIGNED
-;;#endif
-;;typedef void *PVOID;
-;;#if (_MSC_VER >= 800)
-;;#define NTAPI __stdcall
-;;#else
-;;#define _cdecl
-;;#define NTAPI
-;;#endif
-;;
-;;//
-;;// Basics
-;;//
-;;
-;;#ifndef VOID
-;;#define VOID void
-;;typedef char CHAR;
-;;typedef short SHORT;
-;;typedef long LONG;
-;;#endif
-;;
-;;//
-;;// UNICODE (Wide Character) types
-;;//
-;;
-;;typedef wchar_t WCHAR; // wc, 16-bit UNICODE character
-;;
-;;typedef WCHAR *PWCHAR;
-;;typedef WCHAR *LPWCH, *PWCH;
-;;typedef CONST WCHAR *LPCWCH, *PCWCH;
-;;typedef WCHAR *NWPSTR;
-;;typedef WCHAR *LPWSTR, *PWSTR;
-;;
-;;typedef CONST WCHAR *LPCWSTR, *PCWSTR;
-;;
-;;//
-;;// ANSI (Multi-byte Character) types
-;;//
-;;typedef CHAR *PCHAR;
-;;typedef CHAR *LPCH, *PCH;
-;;
-;;typedef CONST CHAR *LPCCH, *PCCH;
-;;typedef CHAR *NPSTR;
-;;typedef CHAR *LPSTR, *PSTR;
-;;typedef CONST CHAR *LPCSTR, *PCSTR;
-;;
-;;//
-;;// Neutral ANSI/UNICODE types and macros
-;;//
-;;#ifdef UNICODE
-;;
-;;#ifndef _TCHAR_DEFINED
-;;typedef WCHAR TCHAR, *PTCHAR;
-;;typedef WCHAR TBYTE , *PTBYTE ;
-;;#define _TCHAR_DEFINED
-;;#endif /* !_TCHAR_DEFINED */
-;;
-;;typedef LPWSTR LPTCH, PTCH;
-;;typedef LPWSTR PTSTR, LPTSTR;
-;;typedef LPCWSTR LPCTSTR;
-;;typedef LPWSTR LP;
-;;#define __TEXT(quote) L##quote
-;;
-;;#else /* UNICODE */
-;;
-;;#ifndef _TCHAR_DEFINED
-;;typedef char TCHAR, *PTCHAR;
-;;typedef unsigned char TBYTE , *PTBYTE ;
-;;#define _TCHAR_DEFINED
-;;#endif /* !_TCHAR_DEFINED */
-;;
-;;typedef LPSTR LPTCH, PTCH;
-;;typedef LPSTR PTSTR, LPTSTR;
-;;typedef LPCSTR LPCTSTR;
-;;#define __TEXT(quote) quote
-;;
-;;#endif /* UNICODE */
-;;#define TEXT(quote) __TEXT(quote)
-;;
-;;
-;;typedef SHORT *PSHORT;
-;;typedef LONG *PLONG;
-;;
-;;#ifdef STRICT
-;;typedef void *HANDLE;
-;;#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
-;;#else
-;;typedef PVOID HANDLE;
-;;#define DECLARE_HANDLE(name) typedef HANDLE name
-;;#endif
-;;typedef HANDLE *PHANDLE;
-;;
-;;typedef char CCHAR;
-;;typedef DWORD LCID;
-;;typedef PDWORD PLCID;
-;;typedef WORD LANGID;
-;;/*lint -e624 */
-;;/*lint +e624 */
-(define-integrable APPLICATION_ERROR_MASK #x20000000)
-;;#define ERROR_SEVERITY_SUCCESS 0x00000000
-;;#define ERROR_SEVERITY_INFORMATIONAL 0x40000000
-;;#define ERROR_SEVERITY_WARNING 0x80000000
-;;#define ERROR_SEVERITY_ERROR 0xC0000000
-;;
-;;#if defined(MIDL_PASS)
-;;typedef double LONGLONG;
-;;typedef double DWORDLONG;
-;;#else
-;;#if defined(_M_IX86)
-;;typedef double LONGLONG;
-;;typedef double DWORDLONG;
-;;#else
-;;typedef double LONGLONG;
-;;typedef double DWORDLONG;
-;;#endif
-;;#endif
-;;
-;;typedef LONGLONG *PLONGLONG;
-;;typedef DWORDLONG *PDWORDLONG;
-;;
-;;#if defined(MIDL_PASS)
-;;typedef struct _LARGE_INTEGER {
-;;#else // MIDL_PASS
-;;typedef union _LARGE_INTEGER {
-;;#if defined(_CFRONT_PASS_)
-;; struct {
-;; DWORD LowPart;
-;; LONG HighPart;
-;; } u;
-;;#else
-;; struct {
-;; DWORD LowPart;
-;; LONG HighPart;
-;; };
-;;#endif
-;;#endif //MIDL_PASS
-;; LONGLONG QuadPart;
-;;} LARGE_INTEGER, *PLARGE_INTEGER;
-;;
-;;
-;;#if defined(MIDL_PASS)
-;;typedef struct _ULARGE_INTEGER {
-;;#else // MIDL_PASS
-;;typedef union _ULARGE_INTEGER {
-;;#if defined(_CFRONT_PASS_)
-;; struct {
-;; DWORD LowPart;
-;; DWORD HighPart;
-;; } u;
-;;#else
-;; struct {
-;; DWORD LowPart;
-;; DWORD HighPart;
-;; };
-;;#endif
-;;#endif //MIDL_PASS
-;; DWORDLONG QuadPart;
-;;} ULARGE_INTEGER, *PULARGE_INTEGER;
-;;
-;;// end_ntminiport
-;;
-;;//
-;;// Locally Unique Identifier
-;;//
-;;
-;;typedef LARGE_INTEGER LUID, *PLUID;
-;;
-;;#define UNICODE_NULL ((WCHAR)0)
-;;typedef BYTE BOOLEAN;
-;;typedef BOOLEAN *PBOOLEAN;
-;;//
-;;// Doubly linked list structure. Can be used as either a list head, or
-;;// as link words.
-;;//
-;;
-;;typedef struct _LIST_ENTRY {
-;; struct _LIST_ENTRY *Flink;
-;; struct _LIST_ENTRY *Blink;
-;;} LIST_ENTRY;
-;;typedef LIST_ENTRY *PLIST_ENTRY;
-;;
-;;//
-;;// Singly linked list structure. Can be used as either a list head, or
-;;// as link words.
-;;//
-;;
-;;typedef struct _SINGLE_LIST_ENTRY {
-;; struct _SINGLE_LIST_ENTRY *Next;
-;;} SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY;
-;;#define MINCHAR 0x80
-;;#define MAXCHAR 0x7f
-;;#define MINSHORT 0x8000
-;;#define MAXSHORT 0x7fff
-;;#define MINLONG 0x80000000
-;;#define MAXLONG 0x7fffffff
-;;#define MAXBYTE 0xff
-;;#define MAXWORD 0xffff
-;;#define MAXDWORD 0xffffffff
-;;//
-;;// Calculate the byte offset of a field in a structure of type type.
-;;//
-;;
-;;#define FIELD_OFFSET(type, field) ((LONG)&(((type *)0)->field))
-;;
-;;
-;;//
-;;// Calculate the address of the base of the structure given its type, and an
-;;// address of a field within the structure.
-;;//
-;;
-;;#define CONTAINING_RECORD(address, type, field) ((type *)( \
-;; (PCHAR)(address) - \
-;; (PCHAR)(&((type *)0)->field)))
-;;
-;;/*
-;; * Language IDs.
-;; *
-;; * The following two combinations of primary language ID and
-;; * sublanguage ID have special semantics:
-;; *
-;; * Primary Language ID Sublanguage ID Result
-;; * ------------------- --------------- ------------------------
-;; * LANG_NEUTRAL SUBLANG_NEUTRAL Language neutral
-;; * LANG_NEUTRAL SUBLANG_DEFAULT User default language
-;; * LANG_NEUTRAL SUBLANG_SYS_DEFAULT System default language
-;; */
-;;
-;;/*
-;; * Primary language IDs.
-;; */
-;;#define LANG_NEUTRAL 0x00
-;;
-;;#define LANG_ALBANIAN 0x1c
-;;#define LANG_ARABIC 0x01
-;;#define LANG_BAHASA 0x21
-;;#define LANG_BULGARIAN 0x02
-;;#define LANG_CATALAN 0x03
-;;#define LANG_CHINESE 0x04
-;;#define LANG_CZECH 0x05
-;;#define LANG_DANISH 0x06
-;;#define LANG_DUTCH 0x13
-;;#define LANG_ENGLISH 0x09
-;;#define LANG_FINNISH 0x0b
-;;#define LANG_FRENCH 0x0c
-;;#define LANG_GERMAN 0x07
-;;#define LANG_GREEK 0x08
-;;#define LANG_HEBREW 0x0d
-;;#define LANG_HUNGARIAN 0x0e
-;;#define LANG_ICELANDIC 0x0f
-;;#define LANG_ITALIAN 0x10
-;;#define LANG_JAPANESE 0x11
-;;#define LANG_KOREAN 0x12
-;;#define LANG_NORWEGIAN 0x14
-;;#define LANG_POLISH 0x15
-;;#define LANG_PORTUGUESE 0x16
-;;#define LANG_RHAETO_ROMAN 0x17
-;;#define LANG_ROMANIAN 0x18
-;;#define LANG_RUSSIAN 0x19
-;;#define LANG_SERBO_CROATIAN 0x1a
-;;#define LANG_SLOVAK 0x1b
-;;#define LANG_SPANISH 0x0a
-;;#define LANG_SWEDISH 0x1d
-;;#define LANG_THAI 0x1e
-;;#define LANG_TURKISH 0x1f
-;;#define LANG_URDU 0x20
-;;
-;;/*
-;; * Sublanguage IDs.
-;; *
-;; * The name immediately following SUBLANG_ dictates which primary
-;; * language ID that sublanguage ID can be combined with to form a
-;; * valid language ID.
-;; */
-;;#define SUBLANG_NEUTRAL 0x00 /* language neutral */
-;;#define SUBLANG_DEFAULT 0x01 /* user default */
-;;#define SUBLANG_SYS_DEFAULT 0x02 /* system default */
-;;
-;;#define SUBLANG_CHINESE_SIMPLIFIED 0x02 /* Chinese (Simplified) */
-;;#define SUBLANG_CHINESE_TRADITIONAL 0x01 /* Chinese (Traditional) */
-;;#define SUBLANG_DUTCH 0x01 /* Dutch */
-;;#define SUBLANG_DUTCH_BELGIAN 0x02 /* Dutch (Belgian) */
-;;#define SUBLANG_ENGLISH_US 0x01 /* English (USA) */
-;;#define SUBLANG_ENGLISH_UK 0x02 /* English (UK) */
-;;#define SUBLANG_ENGLISH_AUS 0x03 /* English (Australian) */
-;;#define SUBLANG_ENGLISH_CAN 0x04 /* English (Canadian) */
-;;#define SUBLANG_ENGLISH_NZ 0x05 /* English (New Zealand) */
-;;#define SUBLANG_ENGLISH_EIRE 0x06 /* English (Irish) */
-;;#define SUBLANG_FRENCH 0x01 /* French */
-;;#define SUBLANG_FRENCH_BELGIAN 0x02 /* French (Belgian) */
-;;#define SUBLANG_FRENCH_CANADIAN 0x03 /* French (Canadian) */
-;;#define SUBLANG_FRENCH_SWISS 0x04 /* French (Swiss) */
-;;#define SUBLANG_GERMAN 0x01 /* German */
-;;#define SUBLANG_GERMAN_SWISS 0x02 /* German (Swiss) */
-;;#define SUBLANG_GERMAN_AUSTRIAN 0x03 /* German (Austrian) */
-;;#define SUBLANG_ITALIAN 0x01 /* Italian */
-;;#define SUBLANG_ITALIAN_SWISS 0x02 /* Italian (Swiss) */
-;;#define SUBLANG_NORWEGIAN_BOKMAL 0x01 /* Norwegian (Bokmal) */
-;;#define SUBLANG_NORWEGIAN_NYNORSK 0x02 /* Norwegian (Nynorsk) */
-;;#define SUBLANG_PORTUGUESE 0x02 /* Portuguese */
-;;#define SUBLANG_PORTUGUESE_BRAZILIAN 0x01 /* Portuguese (Brazilian) */
-;;#define SUBLANG_SERBO_CROATIAN_CYRILLIC 0x02 /* Serbo-Croatian (Cyrillic) */
-;;#define SUBLANG_SERBO_CROATIAN_LATIN 0x01 /* Croato-Serbian (Latin) */
-;;#define SUBLANG_SPANISH 0x01 /* Spanish (Castilian) */
-;;#define SUBLANG_SPANISH_MEXICAN 0x02 /* Spanish (Mexican) */
-;;#define SUBLANG_SPANISH_MODERN 0x03 /* Spanish (Modern) */
-;;
-;;/*
-;; * Sorting IDs.
-;; *
-;; */
-;;#define SORT_DEFAULT 0x0 /* sorting default */
-;;
-;;
-;;/*
-;; * A language ID is a 16 bit value which is the combination of a
-;; * primary language ID and a secondary language ID. The bits are
-;; * allocated as follows:
-;; *
-;; * +-----------------------+-------------------------+
-;; * | Sublanguage ID | Primary Language ID |
-;; * +-----------------------+-------------------------+
-;; * 15 10 9 0 bit
-;; *
-;; *
-;; * Language ID creation/extraction macros:
-;; *
-;; * MAKELANGID - construct language id from a primary language id and
-;; * a sublanguage id.
-;; * PRIMARYLANGID - extract primary language id from a language id.
-;; * SUBLANGID - extract sublanguage id from a language id.
-;; */
-;;#define MAKELANGID(p, s) ((((WORD )(s)) << 10) | (WORD )(p))
-;;#define PRIMARYLANGID(lgid) ((WORD )(lgid) & 0x3ff)
-;;#define SUBLANGID(lgid) ((WORD )(lgid) >> 10)
-;;
-;;
-;;/*
-;; * A locale ID is a 32 bit value which is the combination of a
-;; * language ID, a sort ID, and a reserved area. The bits are
-;; * allocated as follows:
-;; *
-;; * +-------------+---------+-------------------------+
-;; * | Reserved | Sort ID | Language ID |
-;; * +-------------+---------+-------------------------+
-;; * 31 20 19 16 15 0 bit
-;; *
-;; *
-;; * Locale ID creation/extraction macros:
-;; *
-;; * MAKELCID - construct locale id from a language id and a sort id.
-;; * LANGIDFROMLCID - extract language id from a locale id.
-;; * SORTIDFROMLCID - extract sort id from a locale id.
-;; */
-;;#define NLS_VALID_LOCALE_MASK 0x000fffff
-;;
-;;#define MAKELCID(lgid, srtid) ((DWORD)((((DWORD)((WORD )(srtid))) << 16) | \
-;; ((DWORD)((WORD )(lgid)))))
-;;#define LANGIDFROMLCID(lcid) ((WORD )(lcid))
-;;#define SORTIDFROMLCID(lcid) ((WORD )((((DWORD)(lcid)) & NLS_VALID_LOCALE_MASK) >> 16))
-;;
-;;
-;;/*
-;; * Default System and User IDs for language and locale.
-;; */
-;;#define LANG_SYSTEM_DEFAULT (MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT))
-;;#define LANG_USER_DEFAULT (MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT))
-;;
-;;#define LOCALE_SYSTEM_DEFAULT (MAKELCID(LANG_SYSTEM_DEFAULT, SORT_DEFAULT))
-;;#define LOCALE_USER_DEFAULT (MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT))
-;;
-;;
-;;
-;;// begin_ntminiport
-;;
-;;//
-;;// Macros used to eliminate compiler warning generated when formal
-;;// parameters or local variables are not declared.
-;;//
-;;// Use DBG_UNREFERENCED_PARAMETER() when a parameter is not yet
-;;// referenced but will be once the module is completely developed.
-;;//
-;;// Use DBG_UNREFERENCED_LOCAL_VARIABLE() when a local variable is not yet
-;;// referenced but will be once the module is completely developed.
-;;//
-;;// Use UNREFERENCED_PARAMETER() if a parameter will never be referenced.
-;;//
-;;// DBG_UNREFERENCED_PARAMETER and DBG_UNREFERENCED_LOCAL_VARIABLE will
-;;// eventually be made into a null macro to help determine whether there
-;;// is unfinished work.
-;;//
-;;
-;;#if ! (defined(lint) || defined(_lint))
-;;#define UNREFERENCED_PARAMETER(P) (P)
-;;#define DBG_UNREFERENCED_PARAMETER(P) (P)
-;;#define DBG_UNREFERENCED_LOCAL_VARIABLE(V) (V)
-;;
-;;#else // lint or _lint
-;;
-;;// Note: lint -e530 says don't complain about uninitialized variables for
-;;// this. line +e530 turns that checking back on. Error 527 has to do with
-;;// unreachable code.
-;;
-;;#define UNREFERENCED_PARAMETER(P) \
-;; /*lint -e527 -e530 */ \
-;; { \
-;; (P) = (P); \
-;; } \
-;; /*lint +e527 +e530 */
-;;#define DBG_UNREFERENCED_PARAMETER(P) \
-;; /*lint -e527 -e530 */ \
-;; { \
-;; (P) = (P); \
-;; } \
-;; /*lint +e527 +e530 */
-;;#define DBG_UNREFERENCED_LOCAL_VARIABLE(V) \
-;; /*lint -e527 -e530 */ \
-;; { \
-;; (V) = (V); \
-;; } \
-;; /*lint +e527 +e530 */
-;;
-;;#endif // lint or _lint
-;;
-;;
-;;/*lint -save -e767 */
-;;#define STATUS_WAIT_0 ((DWORD )0x00000000L)
-;;#define STATUS_ABANDONED_WAIT_0 ((DWORD )0x00000080L)
-;;#define STATUS_USER_APC ((DWORD )0x000000C0L)
-;;#define STATUS_TIMEOUT ((DWORD )0x00000102L)
-;;#define STATUS_PENDING ((DWORD )0x00000103L)
-;;#define STATUS_DATATYPE_MISALIGNMENT ((DWORD )0x80000002L)
-;;#define STATUS_BREAKPOINT ((DWORD )0x80000003L)
-;;#define STATUS_SINGLE_STEP ((DWORD )0x80000004L)
-;;#define STATUS_ACCESS_VIOLATION ((DWORD )0xC0000005L)
-;;#define STATUS_IN_PAGE_ERROR ((DWORD )0xC0000006L)
-;;#define STATUS_NO_MEMORY ((DWORD )0xC0000017L)
-;;#define STATUS_ILLEGAL_INSTRUCTION ((DWORD )0xC000001DL)
-;;#define STATUS_NONCONTINUABLE_EXCEPTION ((DWORD )0xC0000025L)
-;;#define STATUS_INVALID_DISPOSITION ((DWORD )0xC0000026L)
-;;#define STATUS_ARRAY_BOUNDS_EXCEEDED ((DWORD )0xC000008CL)
-;;#define STATUS_FLOAT_DENORMAL_OPERAND ((DWORD )0xC000008DL)
-;;#define STATUS_FLOAT_DIVIDE_BY_ZERO ((DWORD )0xC000008EL)
-;;#define STATUS_FLOAT_INEXACT_RESULT ((DWORD )0xC000008FL)
-;;#define STATUS_FLOAT_INVALID_OPERATION ((DWORD )0xC0000090L)
-;;#define STATUS_FLOAT_OVERFLOW ((DWORD )0xC0000091L)
-;;#define STATUS_FLOAT_STACK_CHECK ((DWORD )0xC0000092L)
-;;#define STATUS_FLOAT_UNDERFLOW ((DWORD )0xC0000093L)
-;;#define STATUS_INTEGER_DIVIDE_BY_ZERO ((DWORD )0xC0000094L)
-;;#define STATUS_INTEGER_OVERFLOW ((DWORD )0xC0000095L)
-;;#define STATUS_PRIVILEGED_INSTRUCTION ((DWORD )0xC0000096L)
-;;#define STATUS_STACK_OVERFLOW ((DWORD )0xC00000FDL)
-;;#define STATUS_CONTROL_C_EXIT ((DWORD )0xC000013AL)
-;;/*lint -restore */
-;;#define MAXIMUM_WAIT_OBJECTS 64 // Maximum number of wait objects
-;;
-;;#define MAXIMUM_SUSPEND_COUNT MAXCHAR // Maximum times thread can be suspended
-;;typedef DWORD KSPIN_LOCK;
-;;
-;;#ifdef _ALPHA_
-;;
-;;// begin_ntddk begin_nthal
-;;//
-;;// The following flags control the contents of the CONTEXT structure.
-;;//
-;;
-;;#define CONTEXT_PORTABLE_32BIT 0x00100000
-;;#define CONTEXT_ALPHA 0x00020000
-;;
-;;#define CONTEXT_CONTROL (CONTEXT_ALPHA | 0x00000001L)
-;;#define CONTEXT_FLOATING_POINT (CONTEXT_ALPHA | 0x00000002L)
-;;#define CONTEXT_INTEGER (CONTEXT_ALPHA | 0x00000004L)
-;;
-;;#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)
-;;
-;;#ifndef _PORTABLE_32BIT_CONTEXT
-;;
-;;//
-;;// Context Frame
-;;//
-;;// This frame has a several purposes: 1) it is used as an argument to
-;;// NtContinue, 2) it is used to construct a call frame for APC delivery,
-;;// 3) it is used to construct a call frame for exception dispatching
-;;// in user mode, 4) it is used in the user level thread creation
-;;// routines, and 5) it is used to to pass thread state to debuggers.
-;;//
-;;// N.B. Because this record is used as a call frame, it must be EXACTLY
-;;// a multiple of 16 bytes in length.
-;;//
-;;// There are two variations of the context structure. This is the real one.
-;;//
-;;
-;;typedef struct _CONTEXT {
-;;
-;; //
-;; // This section is specified/returned if the ContextFlags word contains
-;; // the flag CONTEXT_FLOATING_POINT.
-;; //
-;;
-;; DWORDLONG FltF0;
-;; DWORDLONG FltF1;
-;; DWORDLONG FltF2;
-;; DWORDLONG FltF3;
-;; DWORDLONG FltF4;
-;; DWORDLONG FltF5;
-;; DWORDLONG FltF6;
-;; DWORDLONG FltF7;
-;; DWORDLONG FltF8;
-;; DWORDLONG FltF9;
-;; DWORDLONG FltF10;
-;; DWORDLONG FltF11;
-;; DWORDLONG FltF12;
-;; DWORDLONG FltF13;
-;; DWORDLONG FltF14;
-;; DWORDLONG FltF15;
-;; DWORDLONG FltF16;
-;; DWORDLONG FltF17;
-;; DWORDLONG FltF18;
-;; DWORDLONG FltF19;
-;; DWORDLONG FltF20;
-;; DWORDLONG FltF21;
-;; DWORDLONG FltF22;
-;; DWORDLONG FltF23;
-;; DWORDLONG FltF24;
-;; DWORDLONG FltF25;
-;; DWORDLONG FltF26;
-;; DWORDLONG FltF27;
-;; DWORDLONG FltF28;
-;; DWORDLONG FltF29;
-;; DWORDLONG FltF30;
-;; DWORDLONG FltF31;
-;;
-;; //
-;; // This section is specified/returned if the ContextFlags word contains
-;; // the flag CONTEXT_INTEGER.
-;; //
-;; // N.B. The registers gp, sp, and ra are defined in this section, but are
-;; // considered part of the control context rather than part of the integer
-;; // context.
-;; //
-;;
-;; DWORDLONG IntV0; // $0: return value register, v0
-;; DWORDLONG IntT0; // $1: temporary registers, t0 - t7
-;; DWORDLONG IntT1; // $2:
-;; DWORDLONG IntT2; // $3:
-;; DWORDLONG IntT3; // $4:
-;; DWORDLONG IntT4; // $5:
-;; DWORDLONG IntT5; // $6:
-;; DWORDLONG IntT6; // $7:
-;; DWORDLONG IntT7; // $8:
-;; DWORDLONG IntS0; // $9: nonvolatile registers, s0 - s5
-;; DWORDLONG IntS1; // $10:
-;; DWORDLONG IntS2; // $11:
-;; DWORDLONG IntS3; // $12:
-;; DWORDLONG IntS4; // $13:
-;; DWORDLONG IntS5; // $14:
-;; DWORDLONG IntFp; // $15: frame pointer register, fp/s6
-;; DWORDLONG IntA0; // $16: argument registers, a0 - a5
-;; DWORDLONG IntA1; // $17:
-;; DWORDLONG IntA2; // $18:
-;; DWORDLONG IntA3; // $19:
-;; DWORDLONG IntA4; // $20:
-;; DWORDLONG IntA5; // $21:
-;; DWORDLONG IntT8; // $22: temporary registers, t8 - t11
-;; DWORDLONG IntT9; // $23:
-;; DWORDLONG IntT10; // $24:
-;; DWORDLONG IntT11; // $25:
-;; DWORDLONG IntRa; // $26: return address register, ra
-;; DWORDLONG IntT12; // $27: temporary register, t12
-;; DWORDLONG IntAt; // $28: assembler temp register, at
-;; DWORDLONG IntGp; // $29: global pointer register, gp
-;; DWORDLONG IntSp; // $30: stack pointer register, sp
-;; DWORDLONG IntZero; // $31: zero register, zero
-;;
-;; //
-;; // This section is specified/returned if the ContextFlags word contains
-;; // the flag CONTEXT_FLOATING_POINT.
-;; //
-;;
-;; DWORDLONG Fpcr; // floating point control register
-;; DWORDLONG SoftFpcr; // software extension to FPCR
-;;
-;; //
-;; // This section is specified/returned if the ContextFlags word contains
-;; // the flag CONTEXT_CONTROL.
-;; //
-;; // N.B. The registers gp, sp, and ra are defined in the integer section,
-;; // but are considered part of the control context rather than part of
-;; // the integer context.
-;; //
-;;
-;; DWORDLONG Fir; // (fault instruction) continuation address
-;; DWORD Psr; // processor status
-;;
-;; //
-;; // The flags values within this flag control the contents of
-;; // a CONTEXT record.
-;; //
-;; // If the context record is used as an input parameter, then
-;; // for each portion of the context record controlled by a flag
-;; // whose value is set, it is assumed that that portion of the
-;; // context record contains valid context. If the context record
-;; // is being used to modify a thread's context, then only that
-;; // portion of the threads context will be modified.
-;; //
-;; // If the context record is used as an IN OUT parameter to capture
-;; // the context of a thread, then only those portions of the thread's
-;; // context corresponding to set flags will be returned.
-;; //
-;; // The context record is never used as an OUT only parameter.
-;; //
-;;
-;; DWORD ContextFlags;
-;; DWORD Fill[4]; // padding for 16-byte stack frame alignment
-;;
-;;} CONTEXT, *PCONTEXT;
-;;
-;;#else
-;;
-;;//
-;;// 32-bit Context Frame
-;;//
-;;// This alternate version of the Alpha context structure parallels that
-;;// of MIPS and IX86 in style for the first 64 entries: 32-bit machines
-;;// can operate on the fields, and a value declared as a pointer to an
-;;// array of int's can be used to index into the fields. This makes life
-;;// with windbg and ntsd vastly easier.
-;;//
-;;// There are two parts: the first contains the lower 32-bits of each
-;;// element in the 64-bit definition above. The second part contains
-;;// the upper 32-bits of each 64-bit element above.
-;;//
-;;// The names in the first part are identical to the 64-bit names.
-;;// The second part names are prefixed with "High".
-;;//
-;;// 1st half: at 32 bits each, (containing the low parts of 64-bit values)
-;;// 32 floats, 32 ints, fpcrs, fir, psr, contextflags
-;;// 2nd half: at 32 bits each
-;;// 32 floats, 32 ints, fpcrs, fir, fill
-;;//
-;;// There is no external support for the 32-bit version of the context
-;;// structure. It is only used internally by windbg and ntsd.
-;;//
-;;// This structure must be the same size as the 64-bit version above.
-;;//
-;;
-;;typedef struct _CONTEXT {
-;;
-;; DWORD FltF0;
-;; DWORD FltF1;
-;; DWORD FltF2;
-;; DWORD FltF3;
-;; DWORD FltF4;
-;; DWORD FltF5;
-;; DWORD FltF6;
-;; DWORD FltF7;
-;; DWORD FltF8;
-;; DWORD FltF9;
-;; DWORD FltF10;
-;; DWORD FltF11;
-;; DWORD FltF12;
-;; DWORD FltF13;
-;; DWORD FltF14;
-;; DWORD FltF15;
-;; DWORD FltF16;
-;; DWORD FltF17;
-;; DWORD FltF18;
-;; DWORD FltF19;
-;; DWORD FltF20;
-;; DWORD FltF21;
-;; DWORD FltF22;
-;; DWORD FltF23;
-;; DWORD FltF24;
-;; DWORD FltF25;
-;; DWORD FltF26;
-;; DWORD FltF27;
-;; DWORD FltF28;
-;; DWORD FltF29;
-;; DWORD FltF30;
-;; DWORD FltF31;
-;;
-;; DWORD IntV0; // $0: return value register, v0
-;; DWORD IntT0; // $1: temporary registers, t0 - t7
-;; DWORD IntT1; // $2:
-;; DWORD IntT2; // $3:
-;; DWORD IntT3; // $4:
-;; DWORD IntT4; // $5:
-;; DWORD IntT5; // $6:
-;; DWORD IntT6; // $7:
-;; DWORD IntT7; // $8:
-;; DWORD IntS0; // $9: nonvolatile registers, s0 - s5
-;; DWORD IntS1; // $10:
-;; DWORD IntS2; // $11:
-;; DWORD IntS3; // $12:
-;; DWORD IntS4; // $13:
-;; DWORD IntS5; // $14:
-;; DWORD IntFp; // $15: frame pointer register, fp/s6
-;; DWORD IntA0; // $16: argument registers, a0 - a5
-;; DWORD IntA1; // $17:
-;; DWORD IntA2; // $18:
-;; DWORD IntA3; // $19:
-;; DWORD IntA4; // $20:
-;; DWORD IntA5; // $21:
-;; DWORD IntT8; // $22: temporary registers, t8 - t11
-;; DWORD IntT9; // $23:
-;; DWORD IntT10; // $24:
-;; DWORD IntT11; // $25:
-;; DWORD IntRa; // $26: return address register, ra
-;; DWORD IntT12; // $27: temporary register, t12
-;; DWORD IntAt; // $28: assembler temp register, at
-;; DWORD IntGp; // $29: global pointer register, gp
-;; DWORD IntSp; // $30: stack pointer register, sp
-;; DWORD IntZero; // $31: zero register, zero
-;;
-;; DWORD Fpcr; // floating point control register
-;; DWORD SoftFpcr; // software extension to FPCR
-;;
-;; DWORD Fir; // (fault instruction) continuation address
-;;
-;; DWORD Psr; // processor status
-;; DWORD ContextFlags;
-;;
-;; //
-;; // Beginning of the "second half".
-;; // The name "High" parallels the HighPart of a LargeInteger.
-;; //
-;;
-;; DWORD HighFltF0;
-;; DWORD HighFltF1;
-;; DWORD HighFltF2;
-;; DWORD HighFltF3;
-;; DWORD HighFltF4;
-;; DWORD HighFltF5;
-;; DWORD HighFltF6;
-;; DWORD HighFltF7;
-;; DWORD HighFltF8;
-;; DWORD HighFltF9;
-;; DWORD HighFltF10;
-;; DWORD HighFltF11;
-;; DWORD HighFltF12;
-;; DWORD HighFltF13;
-;; DWORD HighFltF14;
-;; DWORD HighFltF15;
-;; DWORD HighFltF16;
-;; DWORD HighFltF17;
-;; DWORD HighFltF18;
-;; DWORD HighFltF19;
-;; DWORD HighFltF20;
-;; DWORD HighFltF21;
-;; DWORD HighFltF22;
-;; DWORD HighFltF23;
-;; DWORD HighFltF24;
-;; DWORD HighFltF25;
-;; DWORD HighFltF26;
-;; DWORD HighFltF27;
-;; DWORD HighFltF28;
-;; DWORD HighFltF29;
-;; DWORD HighFltF30;
-;; DWORD HighFltF31;
-;;
-;; DWORD HighIntV0; // $0: return value register, v0
-;; DWORD HighIntT0; // $1: temporary registers, t0 - t7
-;; DWORD HighIntT1; // $2:
-;; DWORD HighIntT2; // $3:
-;; DWORD HighIntT3; // $4:
-;; DWORD HighIntT4; // $5:
-;; DWORD HighIntT5; // $6:
-;; DWORD HighIntT6; // $7:
-;; DWORD HighIntT7; // $8:
-;; DWORD HighIntS0; // $9: nonvolatile registers, s0 - s5
-;; DWORD HighIntS1; // $10:
-;; DWORD HighIntS2; // $11:
-;; DWORD HighIntS3; // $12:
-;; DWORD HighIntS4; // $13:
-;; DWORD HighIntS5; // $14:
-;; DWORD HighIntFp; // $15: frame pointer register, fp/s6
-;; DWORD HighIntA0; // $16: argument registers, a0 - a5
-;; DWORD HighIntA1; // $17:
-;; DWORD HighIntA2; // $18:
-;; DWORD HighIntA3; // $19:
-;; DWORD HighIntA4; // $20:
-;; DWORD HighIntA5; // $21:
-;; DWORD HighIntT8; // $22: temporary registers, t8 - t11
-;; DWORD HighIntT9; // $23:
-;; DWORD HighIntT10; // $24:
-;; DWORD HighIntT11; // $25:
-;; DWORD HighIntRa; // $26: return address register, ra
-;; DWORD HighIntT12; // $27: temporary register, t12
-;; DWORD HighIntAt; // $28: assembler temp register, at
-;; DWORD HighIntGp; // $29: global pointer register, gp
-;; DWORD HighIntSp; // $30: stack pointer register, sp
-;; DWORD HighIntZero; // $31: zero register, zero
-;;
-;; DWORD HighFpcr; // floating point control register
-;; DWORD HighSoftFpcr; // software extension to FPCR
-;; DWORD HighFir; // processor status
-;;
-;; double DoNotUseThisField; // to force quadword structure alignment
-;; DWORD HighFill[2]; // padding for 16-byte stack frame alignment
-;;
-;;} CONTEXT, *PCONTEXT;
-;;
-;;//
-;;// These should name the fields in the _PORTABLE_32BIT structure
-;;// that overlay the Psr and ContextFlags in the normal structure.
-;;//
-;;
-;;#define _QUAD_PSR_OFFSET HighSoftFpcr
-;;#define _QUAD_FLAGS_OFFSET HighFir
-;;
-;;#endif // _PORTABLE_32BIT_CONTEXT
-;;
-;;// end_ntddk end_nthal
-;;
-;;#endif // _ALPHA_
-;;
-;;
-;;#ifdef _ALPHA_
-;;
-;;VOID
-;;__jump_unwind (
-;; PVOID VirtualFramePointer,
-;; PVOID TargetPc
-;; );
-;;
-;;#endif // _ALPHA_
-;;
-;;
-;;#ifdef _X86_
-;;
-;;//
-;;// Disable these two pramas that evaluate to "sti" "cli" on x86 so that driver
-;;// writers to not leave them inadvertantly in their code.
-;;//
-;;
-;;#if !defined(MIDL_PASS)
-;;#if !defined(_CFRONT_PASS_)
-;;#if !defined(RC_INVOKED)
-;;
-;;#pragma warning(disable:4164) // disable C4164 warning so that apps that
-;; // build with /Od don't get weird errors !
-;;#pragma function(_enable)
-;;#pragma function(_disable)
-;;
-;;#pragma warning(default:4164) // reenable C4164 warning
-;;
-;;#endif
-;;#endif
-;;#endif
-;;
-;;
-;;//
-;;// Define the size of the 80387 save area, which is in the context frame.
-;;//
-;;
-;;#define SIZE_OF_80387_REGISTERS 80
-;;
-;;//
-;;// The following flags control the contents of the CONTEXT structure.
-;;//
-;;
-;;#define CONTEXT_i386 0x00010000 // this assumes that i386 and
-;;#define CONTEXT_i486 0x00010000 // i486 have identical context records
-;;
-;;#define CONTEXT_CONTROL (CONTEXT_i386 | 0x00000001L) // SS:SP, CS:IP, FLAGS, BP
-;;#define CONTEXT_INTEGER (CONTEXT_i386 | 0x00000002L) // AX, BX, CX, DX, SI, DI
-;;#define CONTEXT_SEGMENTS (CONTEXT_i386 | 0x00000004L) // DS, ES, FS, GS
-;;#define CONTEXT_FLOATING_POINT (CONTEXT_i386 | 0x00000008L) // 387 state
-;;#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386 | 0x00000010L) // DB 0-3,6,7
-;;
-;;#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER |\
-;; CONTEXT_SEGMENTS)
-;;
-;;typedef struct _FLOATING_SAVE_AREA {
-;; DWORD ControlWord;
-;; DWORD StatusWord;
-;; DWORD TagWord;
-;; DWORD ErrorOffset;
-;; DWORD ErrorSelector;
-;; DWORD DataOffset;
-;; DWORD DataSelector;
-;; BYTE RegisterArea[SIZE_OF_80387_REGISTERS];
-;; DWORD Cr0NpxState;
-;;} FLOATING_SAVE_AREA;
-;;
-;;typedef FLOATING_SAVE_AREA *PFLOATING_SAVE_AREA;
-;;
-;;//
-;;// Context Frame
-;;//
-;;// This frame has a several purposes: 1) it is used as an argument to
-;;// NtContinue, 2) is is used to constuct a call frame for APC delivery,
-;;// and 3) it is used in the user level thread creation routines.
-;;//
-;;// The layout of the record conforms to a standard call frame.
-;;//
-;;
-;;typedef struct _CONTEXT {
-;;
-;; //
-;; // The flags values within this flag control the contents of
-;; // a CONTEXT record.
-;; //
-;; // If the context record is used as an input parameter, then
-;; // for each portion of the context record controlled by a flag
-;; // whose value is set, it is assumed that that portion of the
-;; // context record contains valid context. If the context record
-;; // is being used to modify a threads context, then only that
-;; // portion of the threads context will be modified.
-;; //
-;; // If the context record is used as an IN OUT parameter to capture
-;; // the context of a thread, then only those portions of the thread's
-;; // context corresponding to set flags will be returned.
-;; //
-;; // The context record is never used as an OUT only parameter.
-;; //
-;;
-;; DWORD ContextFlags;
-;;
-;; //
-;; // This section is specified/returned if CONTEXT_DEBUG_REGISTERS is
-;; // set in ContextFlags. Note that CONTEXT_DEBUG_REGISTERS is NOT
-;; // included in CONTEXT_FULL.
-;; //
-;;
-;; DWORD Dr0;
-;; DWORD Dr1;
-;; DWORD Dr2;
-;; DWORD Dr3;
-;; DWORD Dr6;
-;; DWORD Dr7;
-;;
-;; //
-;; // This section is specified/returned if the
-;; // ContextFlags word contians the flag CONTEXT_FLOATING_POINT.
-;; //
-;;
-;; FLOATING_SAVE_AREA FloatSave;
-;;
-;; //
-;; // This section is specified/returned if the
-;; // ContextFlags word contians the flag CONTEXT_SEGMENTS.
-;; //
-;;
-;; DWORD SegGs;
-;; DWORD SegFs;
-;; DWORD SegEs;
-;; DWORD SegDs;
-;;
-;; //
-;; // This section is specified/returned if the
-;; // ContextFlags word contians the flag CONTEXT_INTEGER.
-;; //
-;;
-;; DWORD Edi;
-;; DWORD Esi;
-;; DWORD Ebx;
-;; DWORD Edx;
-;; DWORD Ecx;
-;; DWORD Eax;
-;;
-;; //
-;; // This section is specified/returned if the
-;; // ContextFlags word contians the flag CONTEXT_CONTROL.
-;; //
-;;
-;; DWORD Ebp;
-;; DWORD Eip;
-;; DWORD SegCs; // MUST BE SANITIZED
-;; DWORD EFlags; // MUST BE SANITIZED
-;; DWORD Esp;
-;; DWORD SegSs;
-;;
-;;} CONTEXT;
-;;
-;;
-;;
-;;typedef CONTEXT *PCONTEXT;
-;;
-;;// begin_ntminiport
-;;
-;;#endif //_X86_
-;;
-;;
-;;typedef struct _LDT_ENTRY {
-;; WORD LimitLow;
-;; WORD BaseLow;
-;; union {
-;; struct {
-;; BYTE BaseMid;
-;; BYTE Flags1; // Declare as bytes to avoid alignment
-;; BYTE Flags2; // Problems.
-;; BYTE BaseHi;
-;; } Bytes;
-;; struct {
-;; DWORD BaseMid : 8;
-;; DWORD Type : 5;
-;; DWORD Dpl : 2;
-;; DWORD Pres : 1;
-;; DWORD LimitHi : 4;
-;; DWORD Sys : 1;
-;; DWORD Reserved_0 : 1;
-;; DWORD Default_Big : 1;
-;; DWORD Granularity : 1;
-;; DWORD BaseHi : 8;
-;; } Bits;
-;; } HighWord;
-;;} LDT_ENTRY, *PLDT_ENTRY;
-;;
-;;
-;;#if defined(_MIPS_)
-;;
-;;// begin_ntddk begin_nthal
-;;//
-;;// The following flags control the contents of the CONTEXT structure.
-;;//
-;;
-;;#define CONTEXT_R4000 0x00010000 // r4000 context
-;;
-;;#define CONTEXT_CONTROL (CONTEXT_R4000 | 0x00000001L)
-;;#define CONTEXT_FLOATING_POINT (CONTEXT_R4000 | 0x00000002L)
-;;#define CONTEXT_INTEGER (CONTEXT_R4000 | 0x00000004L)
-;;
-;;#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)
-;;
-;;//
-;;// Context Frame
-;;//
-;;// N.B. This frame must be exactly a multiple of 16 bytes in length.
-;;//
-;;// This frame has a several purposes: 1) it is used as an argument to
-;;// NtContinue, 2) it is used to constuct a call frame for APC delivery,
-;;// 3) it is used to construct a call frame for exception dispatching
-;;// in user mode, and 4) it is used in the user level thread creation
-;;// routines.
-;;//
-;;// The layout of the record conforms to a standard call frame.
-;;//
-;;
-;;typedef struct _CONTEXT {
-;;
-;; //
-;; // This section is always present and is used as an argument build
-;; // area.
-;; //
-;;
-;; DWORD Argument[4];
-;;
-;; //
-;; // This section is specified/returned if the ContextFlags word contains
-;; // the flag CONTEXT_FLOATING_POINT.
-;; //
-;;
-;; DWORD FltF0;
-;; DWORD FltF1;
-;; DWORD FltF2;
-;; DWORD FltF3;
-;; DWORD FltF4;
-;; DWORD FltF5;
-;; DWORD FltF6;
-;; DWORD FltF7;
-;; DWORD FltF8;
-;; DWORD FltF9;
-;; DWORD FltF10;
-;; DWORD FltF11;
-;; DWORD FltF12;
-;; DWORD FltF13;
-;; DWORD FltF14;
-;; DWORD FltF15;
-;; DWORD FltF16;
-;; DWORD FltF17;
-;; DWORD FltF18;
-;; DWORD FltF19;
-;; DWORD FltF20;
-;; DWORD FltF21;
-;; DWORD FltF22;
-;; DWORD FltF23;
-;; DWORD FltF24;
-;; DWORD FltF25;
-;; DWORD FltF26;
-;; DWORD FltF27;
-;; DWORD FltF28;
-;; DWORD FltF29;
-;; DWORD FltF30;
-;; DWORD FltF31;
-;;
-;; //
-;; // This section is specified/returned if the ContextFlags word contains
-;; // the flag CONTEXT_INTEGER.
-;; //
-;; // N.B. The registers gp, sp, and ra are defined in this section, but are
-;; // considered part of the control context rather than part of the integer
-;; // context.
-;; //
-;; // N.B. Register zero is not stored in the frame.
-;; //
-;;
-;; DWORD IntZero;
-;; DWORD IntAt;
-;; DWORD IntV0;
-;; DWORD IntV1;
-;; DWORD IntA0;
-;; DWORD IntA1;
-;; DWORD IntA2;
-;; DWORD IntA3;
-;; DWORD IntT0;
-;; DWORD IntT1;
-;; DWORD IntT2;
-;; DWORD IntT3;
-;; DWORD IntT4;
-;; DWORD IntT5;
-;; DWORD IntT6;
-;; DWORD IntT7;
-;; DWORD IntS0;
-;; DWORD IntS1;
-;; DWORD IntS2;
-;; DWORD IntS3;
-;; DWORD IntS4;
-;; DWORD IntS5;
-;; DWORD IntS6;
-;; DWORD IntS7;
-;; DWORD IntT8;
-;; DWORD IntT9;
-;; DWORD IntK0;
-;; DWORD IntK1;
-;; DWORD IntGp;
-;; DWORD IntSp;
-;; DWORD IntS8;
-;; DWORD IntRa;
-;; DWORD IntLo;
-;; DWORD IntHi;
-;;
-;; //
-;; // This section is specified/returned if the ContextFlags word contains
-;; // the flag CONTEXT_FLOATING_POINT.
-;; //
-;;
-;; DWORD Fsr;
-;;
-;; //
-;; // This section is specified/returned if the ContextFlags word contains
-;; // the flag CONTEXT_CONTROL.
-;; //
-;; // N.B. The registers gp, sp, and ra are defined in the integer section,
-;; // but are considered part of the control context rather than part of
-;; // the integer context.
-;; //
-;;
-;; DWORD Fir;
-;; DWORD Psr;
-;;
-;; //
-;; // The flags values within this flag control the contents of
-;; // a CONTEXT record.
-;; //
-;; // If the context record is used as an input parameter, then
-;; // for each portion of the context record controlled by a flag
-;; // whose value is set, it is assumed that that portion of the
-;; // context record contains valid context. If the context record
-;; // is being used to modify a thread's context, then only that
-;; // portion of the threads context will be modified.
-;; //
-;; // If the context record is used as an IN OUT parameter to capture
-;; // the context of a thread, then only those portions of the thread's
-;; // context corresponding to set flags will be returned.
-;; //
-;; // The context record is never used as an OUT only parameter.
-;; //
-;;
-;; DWORD ContextFlags;
-;;
-;; DWORD Fill[2];
-;;} CONTEXT, *PCONTEXT;
-;;
-;;// end_ntddk end_nthal
-;;
-;;#endif // MIPS
-;;
-;;
-;;#if defined(_MIPS_)
-;;
-;;VOID
-;;__jump_unwind (
-;; PVOID Fp,
-;; PVOID TargetPc
-;; );
-;;
-;;#endif // MIPS
-;;
-;;#define EXCEPTION_NONCONTINUABLE 0x1 // Noncontinuable exception
-;;#define EXCEPTION_MAXIMUM_PARAMETERS 15 // maximum number of exception parameters
-;;
-;;//
-;;// Exception record definition.
-;;//
-;;
-;;typedef struct _EXCEPTION_RECORD {
-;; /*lint -e18 */ // Don't complain about different definitions
-;; DWORD ExceptionCode;
-;; /*lint +e18 */ // Resume checking for different definitions
-;; DWORD ExceptionFlags;
-;; struct _EXCEPTION_RECORD *ExceptionRecord;
-;; PVOID ExceptionAddress;
-;; DWORD NumberParameters;
-;; DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
-;; } EXCEPTION_RECORD;
-;;
-;;typedef EXCEPTION_RECORD *PEXCEPTION_RECORD;
-;;
-;;//
-;;// Typedef for pointer returned by exception_info()
-;;//
-;;
-;;typedef struct _EXCEPTION_POINTERS {
-;; PEXCEPTION_RECORD ExceptionRecord;
-;; PCONTEXT ContextRecord;
-;;} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS;
-;;#define PROCESS_TERMINATE (0x0001)
-;;#define PROCESS_CREATE_THREAD (0x0002)
-;;#define PROCESS_VM_OPERATION (0x0008)
-;;#define PROCESS_VM_READ (0x0010)
-;;#define PROCESS_VM_WRITE (0x0020)
-;;#define PROCESS_DUP_HANDLE (0x0040)
-;;#define PROCESS_CREATE_PROCESS (0x0080)
-;;#define PROCESS_SET_INFORMATION (0x0200)
-;;#define PROCESS_QUERY_INFORMATION (0x0400)
-;;#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
-;; 0xFFF)
-;;
-;;#define THREAD_TERMINATE (0x0001)
-;;#define THREAD_SUSPEND_RESUME (0x0002)
-;;#define THREAD_GET_CONTEXT (0x0008)
-;;#define THREAD_SET_CONTEXT (0x0010)
-;;#define THREAD_SET_INFORMATION (0x0020)
-;;#define THREAD_QUERY_INFORMATION (0x0040)
-;;#define THREAD_SET_THREAD_TOKEN (0x0080)
-;;#define THREAD_IMPERSONATE (0x0100)
-;;#define THREAD_DIRECT_IMPERSONATION (0x0200)
-;;// begin_ntddk
-;;
-;;#define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
-;; 0x3FF)
-;;
-;;// end_ntddk
-;;#define TLS_MINIMUM_AVAILABLE 64
-;;#define THREAD_BASE_PRIORITY_LOWRT 15 // value that gets a thread to LowRealtime-1
-;;#define THREAD_BASE_PRIORITY_MAX 2 // maximum thread base priority boost
-;;#define THREAD_BASE_PRIORITY_MIN -2 // minimum thread base priority boost
-;;#define THREAD_BASE_PRIORITY_IDLE -15 // value that gets a thread to idle
-;;#define EVENT_MODIFY_STATE 0x0002
-;;#define EVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)
-;;#define MUTANT_QUERY_STATE 0x0001
-;;
-;;#define MUTANT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|\
-;; MUTANT_QUERY_STATE)
-;;#define SEMAPHORE_MODIFY_STATE 0x0002
-;;#define SEMAPHORE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)
-;;#define TIME_ZONE_ID_UNKNOWN 0
-;;#define TIME_ZONE_ID_STANDARD 1
-;;#define TIME_ZONE_ID_DAYLIGHT 2
-;;
-;;#define PROCESSOR_INTEL_386 386
-;;#define PROCESSOR_INTEL_486 486
-;;#define PROCESSOR_INTEL_PENTIUM 586
-;;#define PROCESSOR_INTEL_860 860
-;;#define PROCESSOR_MIPS_R2000 2000
-;;#define PROCESSOR_MIPS_R3000 3000
-;;#define PROCESSOR_MIPS_R4000 4000
-;;#define PROCESSOR_ALPHA_21064 21064
-;;
-;;typedef struct _MEMORY_BASIC_INFORMATION {
-;; PVOID BaseAddress;
-;; PVOID AllocationBase;
-;; DWORD AllocationProtect;
-;; DWORD RegionSize;
-;; DWORD State;
-;; DWORD Protect;
-;; DWORD Type;
-;;} MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION;
-;;#define SECTION_QUERY 0x0001
-;;#define SECTION_MAP_WRITE 0x0002
-;;#define SECTION_MAP_READ 0x0004
-;;#define SECTION_MAP_EXECUTE 0x0008
-;;#define SECTION_EXTEND_SIZE 0x0010
-;;
-;;#define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY|\
-;; SECTION_MAP_WRITE | \
-;; SECTION_MAP_READ | \
-;; SECTION_MAP_EXECUTE | \
-;; SECTION_EXTEND_SIZE)
-;;#define PAGE_NOACCESS 0x01
-;;#define PAGE_READONLY 0x02
-;;#define PAGE_READWRITE 0x04
-;;#define PAGE_WRITECOPY 0x08
-;;#define PAGE_EXECUTE 0x10
-;;#define PAGE_EXECUTE_READ 0x20
-;;#define PAGE_EXECUTE_READWRITE 0x40
-;;#define PAGE_EXECUTE_WRITECOPY 0x80
-;;#define PAGE_GUARD 0x100
-;;#define PAGE_NOCACHE 0x200
-;;#define MEM_COMMIT 0x1000
-;;#define MEM_RESERVE 0x2000
-;;#define MEM_DECOMMIT 0x4000
-;;#define MEM_RELEASE 0x8000
-;;#define MEM_FREE 0x10000
-;;#define MEM_PRIVATE 0x20000
-;;#define MEM_MAPPED 0x40000
-;;#define MEM_TOP_DOWN 0x100000
-;;#define SEC_FILE 0x800000
-;;#define SEC_IMAGE 0x1000000
-;;#define SEC_RESERVE 0x4000000
-;;#define SEC_COMMIT 0x8000000
-;;#define SEC_NOCACHE 0x10000000
-;;#define MEM_IMAGE SEC_IMAGE
-;;
-;;//
-;;// Define access rights to files and directories
-;;//
-;;
-;;//
-;;// The FILE_READ_DATA and FILE_WRITE_DATA constants are also defined in
-;;// devioctl.h as FILE_READ_ACCESS and FILE_WRITE_ACCESS. The values for these
-;;// constants *MUST* always be in sync.
-;;// The values are redefined in devioctl.h because they must be available to
-;;// both DOS and NT.
-;;//
-;;
-;;#define FILE_READ_DATA ( 0x0001 ) // file & pipe
-;;#define FILE_LIST_DIRECTORY ( 0x0001 ) // directory
-;;
-;;#define FILE_WRITE_DATA ( 0x0002 ) // file & pipe
-;;#define FILE_ADD_FILE ( 0x0002 ) // directory
-;;
-;;#define FILE_APPEND_DATA ( 0x0004 ) // file
-;;#define FILE_ADD_SUBDIRECTORY ( 0x0004 ) // directory
-;;#define FILE_CREATE_PIPE_INSTANCE ( 0x0004 ) // named pipe
-;;
-;;#define FILE_READ_EA ( 0x0008 ) // file & directory
-;;
-;;#define FILE_WRITE_EA ( 0x0010 ) // file & directory
-;;
-;;#define FILE_EXECUTE ( 0x0020 ) // file
-;;#define FILE_TRAVERSE ( 0x0020 ) // directory
-;;
-;;#define FILE_DELETE_CHILD ( 0x0040 ) // directory
-;;
-;;#define FILE_READ_ATTRIBUTES ( 0x0080 ) // all
-;;
-;;#define FILE_WRITE_ATTRIBUTES ( 0x0100 ) // all
-;;
-;;#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)
-;;
-;;
-;;#define FILE_GENERIC_READ (STANDARD_RIGHTS_READ |\
-;; FILE_READ_DATA |\
-;; FILE_READ_ATTRIBUTES |\
-;; FILE_READ_EA |\
-;; SYNCHRONIZE)
-;;
-;;
-;;#define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE |\
-;; FILE_WRITE_DATA |\
-;; FILE_WRITE_ATTRIBUTES |\
-;; FILE_WRITE_EA |\
-;; FILE_APPEND_DATA |\
-;; SYNCHRONIZE)
-;;
-;;
-;;#define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE |\
-;; FILE_READ_ATTRIBUTES |\
-;; FILE_EXECUTE |\
-;; SYNCHRONIZE)
-;;
-;;#define FILE_SHARE_READ 0x00000001
-;;#define FILE_SHARE_WRITE 0x00000002
-;;#define FILE_ATTRIBUTE_READONLY 0x00000001
-;;#define FILE_ATTRIBUTE_HIDDEN 0x00000002
-;;#define FILE_ATTRIBUTE_SYSTEM 0x00000004
-;;#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
-;;#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
-;;#define FILE_ATTRIBUTE_NORMAL 0x00000080
-;;#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
-;;#define FILE_ATTRIBUTE_ATOMIC_WRITE 0x00000200
-;;#define FILE_ATTRIBUTE_XACTION_WRITE 0x00000400
-;;#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001
-;;#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002
-;;#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004
-;;#define FILE_NOTIFY_CHANGE_SIZE 0x00000008
-;;#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010
-;;#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100
-;;#define MAILSLOT_NO_MESSAGE ((DWORD)-1)
-;;#define MAILSLOT_WAIT_FOREVER ((DWORD)-1)
-;;#define FILE_CASE_SENSITIVE_SEARCH 0x00000001
-;;#define FILE_CASE_PRESERVED_NAMES 0x00000002
-;;#define FILE_UNICODE_ON_DISK 0x00000004
-;;#define FILE_PERSISTENT_ACLS 0x00000008
-;;#define DUPLICATE_CLOSE_SOURCE 0x00000001
-;;#define DUPLICATE_SAME_ACCESS 0x00000002
-;;typedef PVOID PACCESS_TOKEN;
-;;typedef PVOID PSECURITY_DESCRIPTOR;
-;;typedef PVOID PSID;
-;;////////////////////////////////////////////////////////////////////////
-;;// //
-;;// ACCESS MASK //
-;;// //
-;;////////////////////////////////////////////////////////////////////////
-;;
-;;//
-;;// Define the access mask as a longword sized structure divided up as
-;;// follows:
-;;//
-;;// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
-;;// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
-;;// +---------------+---------------+-------------------------------+
-;;// |G|G|G|G|Res'd|A| StandardRights| SpecificRights |
-;;// |R|W|E|A| |S| | |
-;;// +-+-------------+---------------+-------------------------------+
-;;//
-;;// typedef struct _ACCESS_MASK {
-;;// WORD SpecificRights;
-;;// BYTE StandardRights;
-;;// BYTE AccessSystemAcl : 1;
-;;// BYTE Reserved : 3;
-;;// BYTE GenericAll : 1;
-;;// BYTE GenericExecute : 1;
-;;// BYTE GenericWrite : 1;
-;;// BYTE GenericRead : 1;
-;;// } ACCESS_MASK;
-;;// typedef ACCESS_MASK *PACCESS_MASK;
-;;//
-;;// but to make life simple for programmer's we'll allow them to specify
-;;// a desired access mask by simply OR'ing together mulitple single rights
-;;// and treat an access mask as a DWORD. For example
-;;//
-;;// DesiredAccess = DELETE | READ_CONTROL
-;;//
-;;// So we'll declare ACCESS_MASK as DWORD
-;;//
-;;
-;;// begin_ntddk begin_nthal
-;;typedef DWORD ACCESS_MASK;
-;;typedef ACCESS_MASK *PACCESS_MASK;
-;;
-;;////////////////////////////////////////////////////////////////////////
-;;// //
-;;// ACCESS TYPES //
-;;// //
-;;////////////////////////////////////////////////////////////////////////
-;;
-;;
-;;// begin_ntddk begin_nthal
-;;//
-;;// The following are masks for the predefined standard access types
-;;//
-;;
-;;#define DELETE (0x00010000L)
-;;#define READ_CONTROL (0x00020000L)
-;;#define WRITE_DAC (0x00040000L)
-;;#define WRITE_OWNER (0x00080000L)
-;;#define SYNCHRONIZE (0x00100000L)
-;;
-;;#define STANDARD_RIGHTS_REQUIRED (0x000F0000L)
-;;
-;;#define STANDARD_RIGHTS_READ (READ_CONTROL)
-;;#define STANDARD_RIGHTS_WRITE (READ_CONTROL)
-;;#define STANDARD_RIGHTS_EXECUTE (READ_CONTROL)
-;;
-;;#define STANDARD_RIGHTS_ALL (0x001F0000L)
-;;
-;;#define SPECIFIC_RIGHTS_ALL (0x0000FFFFL)
-;;
-;;//
-;;// AccessSystemAcl access type
-;;//
-;;
-;;#define ACCESS_SYSTEM_SECURITY (0x01000000L)
-;;
-;;//
-;;// MaximumAllowed access type
-;;//
-;;
-;;#define MAXIMUM_ALLOWED (0x02000000L)
-;;
-;;//
-;;// These are the generic rights.
-;;//
-;;
-;;#define GENERIC_READ (0x80000000L)
-;;#define GENERIC_WRITE (0x40000000L)
-;;#define GENERIC_EXECUTE (0x20000000L)
-;;#define GENERIC_ALL (0x10000000L)
-;;
-;;
-;;//
-;;// Define the generic mapping array. This is used to denote the
-;;// mapping of each generic access right to a specific access mask.
-;;//
-;;
-;;typedef struct _GENERIC_MAPPING {
-;; ACCESS_MASK GenericRead;
-;; ACCESS_MASK GenericWrite;
-;; ACCESS_MASK GenericExecute;
-;; ACCESS_MASK GenericAll;
-;;} GENERIC_MAPPING;
-;;typedef GENERIC_MAPPING *PGENERIC_MAPPING;
-;;
-;;
-;;
-;;////////////////////////////////////////////////////////////////////////
-;;// //
-;;// LUID_AND_ATTRIBUTES //
-;;// //
-;;////////////////////////////////////////////////////////////////////////
-;;//
-;;//
-;;
-;;
-;;#ifndef RC_INVOKED
-;;#pragma pack(4)
-;;#endif
-;;
-;;typedef struct _LUID_AND_ATTRIBUTES {
-;; LUID Luid;
-;; DWORD Attributes;
-;; } LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES;
-;;typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
-;;typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
-;;
-;;#ifndef RC_INVOKED
-;;#pragma pack()
-;;#endif
-;;
-;;
-;;////////////////////////////////////////////////////////////////////////
-;;// //
-;;// Security Id (SID) //
-;;// //
-;;////////////////////////////////////////////////////////////////////////
-;;//
-;;//
-;;// Pictorially the structure of an SID is as follows:
-;;//
-;;// 1 1 1 1 1 1
-;;// 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
-;;// +---------------------------------------------------------------+
-;;// | SubAuthorityCount |Reserved1 (SBZ)| Revision |
-;;// +---------------------------------------------------------------+
-;;// | IdentifierAuthority[0] |
-;;// +---------------------------------------------------------------+
-;;// | IdentifierAuthority[1] |
-;;// +---------------------------------------------------------------+
-;;// | IdentifierAuthority[2] |
-;;// +---------------------------------------------------------------+
-;;// | |
-;;// +- - - - - - - - SubAuthority[] - - - - - - - - -+
-;;// | |
-;;// +---------------------------------------------------------------+
-;;//
-;;//
-;;
-;;typedef struct _SID_IDENTIFIER_AUTHORITY {
-;; BYTE Value[6];
-;;} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
-;;
-;;
-;;typedef struct _SID {
-;; BYTE Revision;
-;; BYTE SubAuthorityCount;
-;; SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
-;;#ifdef MIDL_PASS
-;; [size_is(SubAuthorityCount)] DWORD SubAuthority[*];
-;;#else // MIDL_PASS
-;; DWORD SubAuthority[ANYSIZE_ARRAY];
-;;#endif // MIDL_PASS
-;;} SID, *PISID;
-;;
-;;
-;;#define SID_REVISION (1) // Current revision level
-;;#define SID_MAX_SUB_AUTHORITIES (15)
-;;#define SID_RECOMMENDED_SUB_AUTHORITIES (1) // Will change to around 6
-;; // in a future release.
-;;
-;;typedef enum _SID_NAME_USE {
-;; SidTypeUser = 1,
-;; SidTypeGroup,
-;; SidTypeDomain,
-;; SidTypeAlias,
-;; SidTypeWellKnownGroup,
-;; SidTypeDeletedAccount,
-;; SidTypeInvalid,
-;; SidTypeUnknown
-;;} SID_NAME_USE, *PSID_NAME_USE;
-;;
-;;
-;;typedef struct _SID_AND_ATTRIBUTES {
-;; PSID Sid;
-;; DWORD Attributes;
-;; } SID_AND_ATTRIBUTES, * PSID_AND_ATTRIBUTES;
-;;
-;;typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
-;;typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;
-;;
-;;
-;;\f
-;;/////////////////////////////////////////////////////////////////////////////
-;;// //
-;;// Universal well-known SIDs //
-;;// //
-;;// Null SID S-1-0-0 //
-;;// World S-1-1-0 //
-;;// Local S-1-2-0 //
-;;// Creator Owner ID S-1-3-0 //
-;;// Creator Group ID S-1-3-1 //
-;;// //
-;;// (Non-unique IDs) S-1-4 //
-;;// //
-;;/////////////////////////////////////////////////////////////////////////////
-;;
-;;#define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0}
-;;#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1}
-;;#define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2}
-;;#define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3}
-;;#define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4}
-;;
-;;#define SECURITY_NULL_RID (0x00000000L)
-;;#define SECURITY_WORLD_RID (0x00000000L)
-;;#define SECURITY_LOCAL_RID (0X00000000L)
-;;
-;;#define SECURITY_CREATOR_OWNER_RID (0x00000000L)
-;;#define SECURITY_CREATOR_GROUP_RID (0x00000001L)
-;;
-;;
-;;
-;;
-;;/////////////////////////////////////////////////////////////////////////////
-;;// //
-;;// NT well-known SIDs //
-;;// //
-;;// NT Authority S-1-5 //
-;;// Dialup S-1-5-1 //
-;;// //
-;;// Network S-1-5-2 //
-;;// Batch S-1-5-3 //
-;;// Interactive S-1-5-4 //
-;;// Service S-1-5-6 //
-;;// AnonymousLogon S-1-5-7 (aka null logon session) //
-;;// //
-;;// (Logon IDs) S-1-5-5-X-Y //
-;;// //
-;;// (NT non-unique IDs) S-1-5-0x15-... //
-;;// //
-;;// (Built-in domain) s-1-5-0x20 //
-;;// //
-;;/////////////////////////////////////////////////////////////////////////////
-;;
-;;
-;;#define SECURITY_NT_AUTHORITY {0,0,0,0,0,5}
-;;
-;;#define SECURITY_DIALUP_RID (0x00000001L)
-;;#define SECURITY_NETWORK_RID (0x00000002L)
-;;#define SECURITY_BATCH_RID (0x00000003L)
-;;#define SECURITY_INTERACTIVE_RID (0x00000004L)
-;;#define SECURITY_SERVICE_RID (0x00000006L)
-;;#define SECURITY_ANONYMOUS_LOGON_RID (0x00000007L)
-;;
-;;#define SECURITY_LOGON_IDS_RID (0x00000005L)
-;;#define SECURITY_LOGON_IDS_RID_COUNT (3L)
-;;
-;;#define SECURITY_LOCAL_SYSTEM_RID (0x00000012L)
-;;
-;;#define SECURITY_NT_NON_UNIQUE (0x00000015L)
-;;
-;;#define SECURITY_BUILTIN_DOMAIN_RID (0x00000020L)
-;;
-;;
-;;
-;;
-;;\f
-;;/////////////////////////////////////////////////////////////////////////////
-;;// //
-;;// well-known domain relative sub-authority values (RIDs)... //
-;;// //
-;;/////////////////////////////////////////////////////////////////////////////
-;;
-;;// Well-known users ...
-;;
-;;#define DOMAIN_USER_RID_ADMIN (0x000001F4L)
-;;#define DOMAIN_USER_RID_GUEST (0x000001F5L)
-;;
-;;
-;;
-;;// well-known groups ...
-;;
-;;#define DOMAIN_GROUP_RID_ADMINS (0x00000200L)
-;;#define DOMAIN_GROUP_RID_USERS (0x00000201L)
-;;
-;;
-;;
-;;
-;;// well-known aliases ...
-;;
-;;#define DOMAIN_ALIAS_RID_ADMINS (0x00000220L)
-;;#define DOMAIN_ALIAS_RID_USERS (0x00000221L)
-;;#define DOMAIN_ALIAS_RID_GUESTS (0x00000222L)
-;;#define DOMAIN_ALIAS_RID_POWER_USERS (0x00000223L)
-;;
-;;#define DOMAIN_ALIAS_RID_ACCOUNT_OPS (0x00000224L)
-;;#define DOMAIN_ALIAS_RID_SYSTEM_OPS (0x00000225L)
-;;#define DOMAIN_ALIAS_RID_PRINT_OPS (0x00000226L)
-;;#define DOMAIN_ALIAS_RID_BACKUP_OPS (0x00000227L)
-;;
-;;#define DOMAIN_ALIAS_RID_REPLICATOR (0x00000228L)
-;;
-;;
-;;
-;;
-;;
-;;
-;;//
-;;// Allocate the System Luid. The first 1000 LUIDs are reserved.
-;;// Use #999 here (0x3E7 = 999)
-;;//
-;;
-;;#define SYSTEM_LUID { 0x3E7, 0x0 }
-;;
-;;
-;;
-;;////////////////////////////////////////////////////////////////////////
-;;// //
-;;// User and Group related SID attributes //
-;;// //
-;;////////////////////////////////////////////////////////////////////////
-;;
-;;//
-;;// Group attributes
-;;//
-;;
-;;#define SE_GROUP_MANDATORY (0x00000001L)
-;;#define SE_GROUP_ENABLED_BY_DEFAULT (0x00000002L)
-;;#define SE_GROUP_ENABLED (0x00000004L)
-;;#define SE_GROUP_OWNER (0x00000008L)
-;;#define SE_GROUP_LOGON_ID (0xC0000000L)
-;;
-;;
-;;
-;;//
-;;// User attributes
-;;//
-;;
-;;// (None yet defined.)
-;;
-;;
-;;\f
-;;
-;;////////////////////////////////////////////////////////////////////////
-;;// //
-;;// ACL and ACE //
-;;// //
-;;////////////////////////////////////////////////////////////////////////
-;;
-;;//
-;;// Define an ACL and the ACE format. The structure of an ACL header
-;;// followed by one or more ACEs. Pictorally the structure of an ACL header
-;;// is as follows:
-;;//
-;;// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
-;;// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
-;;// +-------------------------------+---------------+---------------+
-;;// | AclSize | Sbz1 | AclRevision |
-;;// +-------------------------------+---------------+---------------+
-;;// | Sbz2 | AceCount |
-;;// +-------------------------------+-------------------------------+
-;;//
-;;// The current AclRevision is defined to be ACL_REVISION.
-;;//
-;;// AclSize is the size, in bytes, allocated for the ACL. This includes
-;;// the ACL header, ACES, and remaining free space in the buffer.
-;;//
-;;// AceCount is the number of ACES in the ACL.
-;;//
-;;
-;;// begin_ntddk
-;;// This is the *current* ACL revision
-;;
-;;#define ACL_REVISION (2)
-;;
-;;// This is the history of ACL revisions. Add a new one whenever
-;;// ACL_REVISION is updated
-;;
-;;#define ACL_REVISION1 (1)
-;;#define ACL_REVISION2 (2)
-;;
-;;typedef struct _ACL {
-;; BYTE AclRevision;
-;; BYTE Sbz1;
-;; WORD AclSize;
-;; WORD AceCount;
-;; WORD Sbz2;
-;;} ACL;
-;;typedef ACL *PACL;
-;;
-;;// end_ntddk
-;;
-;;//
-;;// The structure of an ACE is a common ace header followed by ace type
-;;// specific data. Pictorally the structure of the common ace header is
-;;// as follows:
-;;//
-;;// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
-;;// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
-;;// +---------------+-------+-------+---------------+---------------+
-;;// | AceSize | AceFlags | AceType |
-;;// +---------------+-------+-------+---------------+---------------+
-;;//
-;;// AceType denotes the type of the ace, there are some predefined ace
-;;// types
-;;//
-;;// AceSize is the size, in bytes, of ace.
-;;//
-;;// AceFlags are the Ace flags for audit and inheritance, defined shortly.
-;;
-;;typedef struct _ACE_HEADER {
-;; BYTE AceType;
-;; BYTE AceFlags;
-;; WORD AceSize;
-;;} ACE_HEADER;
-;;typedef ACE_HEADER *PACE_HEADER;
-;;
-;;//
-;;// The following are the predefined ace types that go into the AceType
-;;// field of an Ace header.
-;;//
-;;
-;;#define ACCESS_ALLOWED_ACE_TYPE (0x0)
-;;#define ACCESS_DENIED_ACE_TYPE (0x1)
-;;#define SYSTEM_AUDIT_ACE_TYPE (0x2)
-;;#define SYSTEM_ALARM_ACE_TYPE (0x3)
-;;
-;;//
-;;// The following are the inherit flags that go into the AceFlags field
-;;// of an Ace header.
-;;//
-;;
-;;#define OBJECT_INHERIT_ACE (0x1)
-;;#define CONTAINER_INHERIT_ACE (0x2)
-;;#define NO_PROPAGATE_INHERIT_ACE (0x4)
-;;#define INHERIT_ONLY_ACE (0x8)
-;;#define VALID_INHERIT_FLAGS (0xF)
-;;
-;;
-;;// The following are the currently defined ACE flags that go into the
-;;// AceFlags field of an ACE header. Each ACE type has its own set of
-;;// AceFlags.
-;;//
-;;// SUCCESSFUL_ACCESS_ACE_FLAG - used only with system audit and alarm ACE
-;;// types to indicate that a message is generated for successful accesses.
-;;//
-;;// FAILED_ACCESS_ACE_FLAG - used only with system audit and alarm ACE types
-;;// to indicate that a message is generated for failed accesses.
-;;//
-;;
-;;//
-;;// SYSTEM_AUDIT and SYSTEM_ALARM AceFlags
-;;//
-;;// These control the signaling of audit and alarms for success or failure.
-;;//
-;;
-;;#define SUCCESSFUL_ACCESS_ACE_FLAG (0x40)
-;;#define FAILED_ACCESS_ACE_FLAG (0x80)
-;;
-;;
-;;//
-;;// We'll define the structure of the predefined ACE types. Pictorally
-;;// the structure of the predefined ACE's is as follows:
-;;//
-;;// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
-;;// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
-;;// +---------------+-------+-------+---------------+---------------+
-;;// | AceFlags | Resd |Inherit| AceSize | AceType |
-;;// +---------------+-------+-------+---------------+---------------+
-;;// | Mask |
-;;// +---------------------------------------------------------------+
-;;// | |
-;;// + +
-;;// | |
-;;// + Sid +
-;;// | |
-;;// + +
-;;// | |
-;;// +---------------------------------------------------------------+
-;;//
-;;// Mask is the access mask associated with the ACE. This is either the
-;;// access allowed, access denied, audit, or alarm mask.
-;;//
-;;// Sid is the Sid associated with the ACE.
-;;//
-;;
-;;// The following are the four predefined ACE types.
-;;
-;;// Examine the AceType field in the Header to determine
-;;// which structure is appropriate to use for casting.
-;;
-;;typedef struct _ACCESS_ALLOWED_ACE {
-;; ACE_HEADER Header;
-;; ACCESS_MASK Mask;
-;; DWORD SidStart;
-;;} ACCESS_ALLOWED_ACE;
-;;
-;;typedef ACCESS_ALLOWED_ACE *PACCESS_ALLOWED_ACE;
-;;
-;;typedef struct _ACCESS_DENIED_ACE {
-;; ACE_HEADER Header;
-;; ACCESS_MASK Mask;
-;; DWORD SidStart;
-;;} ACCESS_DENIED_ACE;
-;;typedef ACCESS_DENIED_ACE *PACCESS_DENIED_ACE;
-;;
-;;typedef struct _SYSTEM_AUDIT_ACE {
-;; ACE_HEADER Header;
-;; ACCESS_MASK Mask;
-;; DWORD SidStart;
-;;} SYSTEM_AUDIT_ACE;
-;;typedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE;
-;;
-;;typedef struct _SYSTEM_ALARM_ACE {
-;; ACE_HEADER Header;
-;; ACCESS_MASK Mask;
-;; DWORD SidStart;
-;;} SYSTEM_ALARM_ACE;
-;;typedef SYSTEM_ALARM_ACE *PSYSTEM_ALARM_ACE;
-;;
-;;
-;;\f
-;;//
-;;// The following declarations are used for setting and querying information
-;;// about and ACL. First are the various information classes available to
-;;// the user.
-;;//
-;;
-;;typedef enum _ACL_INFORMATION_CLASS {
-;; AclRevisionInformation = 1,
-;; AclSizeInformation
-;;} ACL_INFORMATION_CLASS;
-;;
-;;//
-;;// This record is returned/sent if the user is requesting/setting the
-;;// AclRevisionInformation
-;;//
-;;
-;;typedef struct _ACL_REVISION_INFORMATION {
-;; DWORD AclRevision;
-;;} ACL_REVISION_INFORMATION;
-;;typedef ACL_REVISION_INFORMATION *PACL_REVISION_INFORMATION;
-;;
-;;//
-;;// This record is returned if the user is requesting AclSizeInformation
-;;//
-;;
-;;typedef struct _ACL_SIZE_INFORMATION {
-;; DWORD AceCount;
-;; DWORD AclBytesInUse;
-;; DWORD AclBytesFree;
-;;} ACL_SIZE_INFORMATION;
-;;typedef ACL_SIZE_INFORMATION *PACL_SIZE_INFORMATION;
-;;
-;;
-;;////////////////////////////////////////////////////////////////////////
-;;// //
-;;// SECURITY_DESCRIPTOR //
-;;// //
-;;////////////////////////////////////////////////////////////////////////
-;;//
-;;// Define the Security Descriptor and related data types.
-;;// This is an opaque data structure.
-;;//
-;;
-;;// begin_ntddk
-;;//
-;;// Current security descriptor revision value
-;;//
-;;
-;;#define SECURITY_DESCRIPTOR_REVISION (1)
-;;#define SECURITY_DESCRIPTOR_REVISION1 (1)
-;;
-;;// end_ntddk
-;;
-;;//
-;;// Minimum length, in bytes, needed to build a security descriptor
-;;// (NOTE: This must manually be kept consistent with the)
-;;// (sizeof(SECURITY_DESCRIPTOR) )
-;;//
-;;
-;;#define SECURITY_DESCRIPTOR_MIN_LENGTH (20)
-;;
-;;
-;;typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
-;;
-;;#define SE_OWNER_DEFAULTED (0x0001)
-;;#define SE_GROUP_DEFAULTED (0x0002)
-;;#define SE_DACL_PRESENT (0x0004)
-;;#define SE_DACL_DEFAULTED (0x0008)
-;;#define SE_SACL_PRESENT (0x0010)
-;;#define SE_SACL_DEFAULTED (0x0020)
-;;#define SE_SELF_RELATIVE (0x8000)
-;;
-;;//
-;;// Where:
-;;//
-;;// SE_OWNER_DEFAULTED - This boolean flag, when set, indicates that the
-;;// SID pointed to by the Owner field was provided by a
-;;// defaulting mechanism rather than explicitly provided by the
-;;// original provider of the security descriptor. This may
-;;// affect the treatment of the SID with respect to inheritence
-;;// of an owner.
-;;//
-;;// SE_GROUP_DEFAULTED - This boolean flag, when set, indicates that the
-;;// SID in the Group field was provided by a defaulting mechanism
-;;// rather than explicitly provided by the original provider of
-;;// the security descriptor. This may affect the treatment of
-;;// the SID with respect to inheritence of a primary group.
-;;//
-;;// SE_DACL_PRESENT - This boolean flag, when set, indicates that the
-;;// security descriptor contains a discretionary ACL. If this
-;;// flag is set and the Dacl field of the SECURITY_DESCRIPTOR is
-;;// null, then a null ACL is explicitly being specified.
-;;//
-;;// SE_DACL_DEFAULTED - This boolean flag, when set, indicates that the
-;;// ACL pointed to by the Dacl field was provided by a defaulting
-;;// mechanism rather than explicitly provided by the original
-;;// provider of the security descriptor. This may affect the
-;;// treatment of the ACL with respect to inheritence of an ACL.
-;;// This flag is ignored if the DaclPresent flag is not set.
-;;//
-;;// SE_SACL_PRESENT - This boolean flag, when set, indicates that the
-;;// security descriptor contains a system ACL pointed to by the
-;;// Sacl field. If this flag is set and the Sacl field of the
-;;// SECURITY_DESCRIPTOR is null, then an empty (but present)
-;;// ACL is being specified.
-;;//
-;;// SE_SACL_DEFAULTED - This boolean flag, when set, indicates that the
-;;// ACL pointed to by the Sacl field was provided by a defaulting
-;;// mechanism rather than explicitly provided by the original
-;;// provider of the security descriptor. This may affect the
-;;// treatment of the ACL with respect to inheritence of an ACL.
-;;// This flag is ignored if the SaclPresent flag is not set.
-;;//
-;;// SE_SELF_RELATIVE - This boolean flag, when set, indicates that the
-;;// security descriptor is in self-relative form. In this form,
-;;// all fields of the security descriptor are contiguous in memory
-;;// and all pointer fields are expressed as offsets from the
-;;// beginning of the security descriptor. This form is useful
-;;// for treating security descriptors as opaque data structures
-;;// for transmission in communication protocol or for storage on
-;;// secondary media.
-;;//
-;;//
-;;//
-;;// Pictorially the structure of a security descriptor is as follows:
-;;//
-;;// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
-;;// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
-;;// +---------------------------------------------------------------+
-;;// | Control |Reserved1 (SBZ)| Revision |
-;;// +---------------------------------------------------------------+
-;;// | Owner |
-;;// +---------------------------------------------------------------+
-;;// | Group |
-;;// +---------------------------------------------------------------+
-;;// | Sacl |
-;;// +---------------------------------------------------------------+
-;;// | Dacl |
-;;// +---------------------------------------------------------------+
-;;//
-;;// In general, this data structure should be treated opaquely to ensure future
-;;// compatibility.
-;;//
-;;//
-;;
-;;typedef struct _SECURITY_DESCRIPTOR {
-;; BYTE Revision;
-;; BYTE Sbz1;
-;; SECURITY_DESCRIPTOR_CONTROL Control;
-;; PSID Owner;
-;; PSID Group;
-;; PACL Sacl;
-;; PACL Dacl;
-;; } SECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;
-;;
-;;
-;;// Where:
-;;//
-;;// Revision - Contains the revision level of the security
-;;// descriptor. This allows this structure to be passed between
-;;// systems or stored on disk even though it is expected to
-;;// change in the future.
-;;//
-;;// Control - A set of flags which qualify the meaning of the
-;;// security descriptor or individual fields of the security
-;;// descriptor.
-;;//
-;;// Owner - is a pointer to an SID representing an object's owner.
-;;// If this field is null, then no owner SID is present in the
-;;// security descriptor. If the security descriptor is in
-;;// self-relative form, then this field contains an offset to
-;;// the SID, rather than a pointer.
-;;//
-;;// Group - is a pointer to an SID representing an object's primary
-;;// group. If this field is null, then no primary group SID is
-;;// present in the security descriptor. If the security descriptor
-;;// is in self-relative form, then this field contains an offset to
-;;// the SID, rather than a pointer.
-;;//
-;;// Sacl - is a pointer to a system ACL. This field value is only
-;;// valid if the DaclPresent control flag is set. If the
-;;// SaclPresent flag is set and this field is null, then a null
-;;// ACL is specified. If the security descriptor is in
-;;// self-relative form, then this field contains an offset to
-;;// the ACL, rather than a pointer.
-;;//
-;;// Dacl - is a pointer to a discretionary ACL. This field value is
-;;// only valid if the DaclPresent control flag is set. If the
-;;// DaclPresent flag is set and this field is null, then a null
-;;// ACL (unconditionally granting access) is specified. If the
-;;// security descriptor is in self-relative form, then this field
-;;// contains an offset to the ACL, rather than a pointer.
-;;//
-;;
-;;
-;;
-;;////////////////////////////////////////////////////////////////////////
-;;// //
-;;// Privilege Related Data Structures //
-;;// //
-;;////////////////////////////////////////////////////////////////////////
-;;
-;;
-;;// begin_ntddk begin_nthal
-;;//
-;;// Privilege attributes
-;;//
-;;
-;;#define SE_PRIVILEGE_ENABLED_BY_DEFAULT (0x00000001L)
-;;#define SE_PRIVILEGE_ENABLED (0x00000002L)
-;;#define SE_PRIVILEGE_USED_FOR_ACCESS (0x80000000L)
-;;
-;;//
-;;// Privilege Set Control flags
-;;//
-;;
-;;#define PRIVILEGE_SET_ALL_NECESSARY (1)
-;;
-;;//
-;;// Privilege Set - This is defined for a privilege set of one.
-;;// If more than one privilege is needed, then this structure
-;;// will need to be allocated with more space.
-;;//
-;;// Note: don't change this structure without fixing the INITIAL_PRIVILEGE_SET
-;;// structure (defined in se.h)
-;;//
-;;
-;;typedef struct _PRIVILEGE_SET {
-;; DWORD PrivilegeCount;
-;; DWORD Control;
-;; LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY];
-;; } PRIVILEGE_SET, * PPRIVILEGE_SET;
-;;
-;;
-;;////////////////////////////////////////////////////////////////////////
-;;// //
-;;// NT Defined Privileges //
-;;// //
-;;////////////////////////////////////////////////////////////////////////
-;;
-;;#define SE_CREATE_TOKEN_NAME TEXT("SeCreateTokenPrivilege")
-;;#define SE_ASSIGNPRIMARYTOKEN_NAME TEXT("SeAssignPrimaryTokenPrivilege")
-;;#define SE_LOCK_MEMORY_NAME TEXT("SeLockMemoryPrivilege")
-;;#define SE_INCREASE_QUOTA_NAME TEXT("SeIncreaseQuotaPrivilege")
-;;#define SE_UNSOLICITED_INPUT_NAME TEXT("SeUnsolicitedInputPrivilege")
-;;#define SE_TCB_NAME TEXT("SeTcbPrivilege")
-;;#define SE_SECURITY_NAME TEXT("SeSecurityPrivilege")
-;;#define SE_TAKE_OWNERSHIP_NAME TEXT("SeTakeOwnershipPrivilege")
-;;#define SE_LOAD_DRIVER_NAME TEXT("SeLoadDriverPrivilege")
-;;#define SE_SYSTEM_PROFILE_NAME TEXT("SeSystemProfilePrivilege")
-;;#define SE_SYSTEMTIME_NAME TEXT("SeSystemtimePrivilege")
-;;#define SE_PROF_SINGLE_PROCESS_NAME TEXT("SeProfileSingleProcessPrivilege")
-;;#define SE_INC_BASE_PRIORITY_NAME TEXT("SeIncreaseBasePriorityPrivilege")
-;;#define SE_CREATE_PAGEFILE_NAME TEXT("SeCreatePagefilePrivilege")
-;;#define SE_CREATE_PERMANENT_NAME TEXT("SeCreatePermanentPrivilege")
-;;#define SE_BACKUP_NAME TEXT("SeBackupPrivilege")
-;;#define SE_RESTORE_NAME TEXT("SeRestorePrivilege")
-;;#define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege")
-;;#define SE_DEBUG_NAME TEXT("SeDebugPrivilege")
-;;#define SE_AUDIT_NAME TEXT("SeAuditPrivilege")
-;;#define SE_SYSTEM_ENVIRONMENT_NAME TEXT("SeSystemEnvironmentPrivilege")
-;;#define SE_CHANGE_NOTIFY_NAME TEXT("SeChangeNotifyPrivilege")
-;;#define SE_REMOTE_SHUTDOWN_NAME TEXT("SeRemoteShutdownPrivilege")
-;;
-;;
-;;////////////////////////////////////////////////////////////////////
-;;// //
-;;// Security Quality Of Service //
-;;// //
-;;// //
-;;////////////////////////////////////////////////////////////////////
-;;
-;;// begin_ntddk begin_nthal
-;;//
-;;// Impersonation Level
-;;//
-;;// Impersonation level is represented by a pair of bits in Windows.
-;;// If a new impersonation level is added or lowest value is changed from
-;;// 0 to something else, fix the Windows CreateFile call.
-;;//
-;;
-;;typedef enum _SECURITY_IMPERSONATION_LEVEL {
-;; SecurityAnonymous,
-;; SecurityIdentification,
-;; SecurityImpersonation,
-;; SecurityDelegation
-;; } SECURITY_IMPERSONATION_LEVEL, * PSECURITY_IMPERSONATION_LEVEL;
-;;
-;;#define SECURITY_MAX_IMPERSONATION_LEVEL SecurityDelegation
-;;
-;;#define DEFAULT_IMPERSONATION_LEVEL SecurityImpersonation
-;;
-;;// end_nthal
-;;//
-;;// Security Tracking Mode
-;;//
-;;
-;;#define SECURITY_DYNAMIC_TRACKING (TRUE)
-;;#define SECURITY_STATIC_TRACKING (FALSE)
-;;
-;;typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,
-;; * PSECURITY_CONTEXT_TRACKING_MODE;
-;;
-;;
-;;
-;;//
-;;// Quality Of Service
-;;//
-;;
-;;typedef struct _SECURITY_QUALITY_OF_SERVICE {
-;; DWORD Length;
-;; SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
-;; SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode;
-;; BOOLEAN EffectiveOnly;
-;; } SECURITY_QUALITY_OF_SERVICE, * PSECURITY_QUALITY_OF_SERVICE;
-;;
-;;
-;;//
-;;// Used to represent information related to a thread impersonation
-;;//
-;;
-;;typedef struct _SE_IMPERSONATION_STATE {
-;; PACCESS_TOKEN Token;
-;; BOOLEAN CopyOnOpen;
-;; BOOLEAN EffectiveOnly;
-;; SECURITY_IMPERSONATION_LEVEL Level;
-;;} SE_IMPERSONATION_STATE, *PSE_IMPERSONATION_STATE;
-;;
-;;
-;;////////////////////////////////////////////////////////////////////
-;;// //
-;;// Token Object Definitions //
-;;// //
-;;// //
-;;////////////////////////////////////////////////////////////////////
-;;
-;;
-;;//
-;;// Token Specific Access Rights.
-;;//
-;;
-;;#define TOKEN_ASSIGN_PRIMARY (0x0001)
-;;#define TOKEN_DUPLICATE (0x0002)
-;;#define TOKEN_IMPERSONATE (0x0004)
-;;#define TOKEN_QUERY (0x0008)
-;;#define TOKEN_QUERY_SOURCE (0x0010)
-;;#define TOKEN_ADJUST_PRIVILEGES (0x0020)
-;;#define TOKEN_ADJUST_GROUPS (0x0040)
-;;#define TOKEN_ADJUST_DEFAULT (0x0080)
-;;
-;;#define TOKEN_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\
-;; TOKEN_ASSIGN_PRIMARY |\
-;; TOKEN_DUPLICATE |\
-;; TOKEN_IMPERSONATE |\
-;; TOKEN_QUERY |\
-;; TOKEN_QUERY_SOURCE |\
-;; TOKEN_ADJUST_PRIVILEGES |\
-;; TOKEN_ADJUST_GROUPS |\
-;; TOKEN_ADJUST_DEFAULT)
-;;
-;;
-;;#define TOKEN_READ (STANDARD_RIGHTS_READ |\
-;; TOKEN_QUERY)
-;;
-;;
-;;#define TOKEN_WRITE (STANDARD_RIGHTS_WRITE |\
-;; TOKEN_ADJUST_PRIVILEGES |\
-;; TOKEN_ADJUST_GROUPS |\
-;; TOKEN_ADJUST_DEFAULT)
-;;
-;;#define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE)
-;;
-;;
-;;//
-;;// Token Types
-;;//
-;;
-;;typedef enum _TOKEN_TYPE {
-;; TokenPrimary = 1,
-;; TokenImpersonation
-;; } TOKEN_TYPE;
-;;typedef TOKEN_TYPE *PTOKEN_TYPE;
-;;
-;;
-;;//
-;;// Token Information Classes.
-;;//
-;;
-;;
-;;typedef enum _TOKEN_INFORMATION_CLASS {
-;; TokenUser = 1,
-;; TokenGroups,
-;; TokenPrivileges,
-;; TokenOwner,
-;; TokenPrimaryGroup,
-;; TokenDefaultDacl,
-;; TokenSource,
-;; TokenType,
-;; TokenImpersonationLevel,
-;; TokenStatistics
-;;} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;
-;;
-;;//
-;;// Token information class structures
-;;//
-;;
-;;typedef struct _TOKEN_USER {
-;; SID_AND_ATTRIBUTES User;
-;;} TOKEN_USER, *PTOKEN_USER;
-;;
-;;
-;;typedef struct _TOKEN_GROUPS {
-;; DWORD GroupCount;
-;; SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];
-;;} TOKEN_GROUPS, *PTOKEN_GROUPS;
-;;
-;;
-;;typedef struct _TOKEN_PRIVILEGES {
-;; DWORD PrivilegeCount;
-;; LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
-;;} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
-;;
-;;
-;;typedef struct _TOKEN_OWNER {
-;; PSID Owner;
-;;} TOKEN_OWNER, *PTOKEN_OWNER;
-;;
-;;
-;;typedef struct _TOKEN_PRIMARY_GROUP {
-;; PSID PrimaryGroup;
-;;} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;
-;;
-;;
-;;typedef struct _TOKEN_DEFAULT_DACL {
-;; PACL DefaultDacl;
-;;} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;
-;;
-;;
-;;
-;;#define TOKEN_SOURCE_LENGTH 8
-;;
-;;typedef struct _TOKEN_SOURCE {
-;; CHAR SourceName[TOKEN_SOURCE_LENGTH];
-;; LUID SourceIdentifier;
-;;} TOKEN_SOURCE, *PTOKEN_SOURCE;
-;;
-;;
-;;typedef struct _TOKEN_STATISTICS {
-;; LUID TokenId;
-;; LUID AuthenticationId;
-;; LARGE_INTEGER ExpirationTime;
-;; TOKEN_TYPE TokenType;
-;; SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
-;; DWORD DynamicCharged;
-;; DWORD DynamicAvailable;
-;; DWORD GroupCount;
-;; DWORD PrivilegeCount;
-;; LUID ModifiedId;
-;;} TOKEN_STATISTICS, *PTOKEN_STATISTICS;
-;;
-;;
-;;typedef struct _TOKEN_CONTROL {
-;; LUID TokenId;
-;; LUID AuthenticationId;
-;; LUID ModifiedId;
-;; TOKEN_SOURCE TokenSource;
-;; } TOKEN_CONTROL, *PTOKEN_CONTROL;
-;;
-;;
-;;typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;
-;;
-;;#define OWNER_SECURITY_INFORMATION (0X00000001L)
-;;#define GROUP_SECURITY_INFORMATION (0X00000002L)
-;;#define DACL_SECURITY_INFORMATION (0X00000004L)
-;;#define SACL_SECURITY_INFORMATION (0X00000008L)
-;;
-;;
-;;//
-;;// Image Format
-;;//
-;;
-;;#ifndef RC_INVOKED
-;;#pragma pack (1)
-;;#endif // !RC_INVOKED
-;;
-;;#define IMAGE_DOS_SIGNATURE 0x5A4D // MZ
-;;#define IMAGE_OS2_SIGNATURE 0x454E // NE
-;;#define IMAGE_OS2_SIGNATURE_LE 0x454C // LE
-;;#define IMAGE_NT_SIGNATURE 0x00004550 // PE00
-;;
-;;typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header
-;; WORD e_magic; // Magic number
-;; WORD e_cblp; // Bytes on last page of file
-;; WORD e_cp; // Pages in file
-;; WORD e_crlc; // Relocations
-;; WORD e_cparhdr; // Size of header in paragraphs
-;; WORD e_minalloc; // Minimum extra paragraphs needed
-;; WORD e_maxalloc; // Maximum extra paragraphs needed
-;; WORD e_ss; // Initial (relative) SS value
-;; WORD e_sp; // Initial SP value
-;; WORD e_csum; // Checksum
-;; WORD e_ip; // Initial IP value
-;; WORD e_cs; // Initial (relative) CS value
-;; WORD e_lfarlc; // File address of relocation table
-;; WORD e_ovno; // Overlay number
-;; WORD e_res[4]; // Reserved words
-;; WORD e_oemid; // OEM identifier (for e_oeminfo)
-;; WORD e_oeminfo; // OEM information; e_oemid specific
-;; WORD e_res2[10]; // Reserved words
-;; LONG e_lfanew; // File address of new exe header
-;; } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;
-;;
-;;typedef struct _IMAGE_OS2_HEADER { // OS/2 .EXE header
-;; WORD ne_magic; // Magic number
-;; CHAR ne_ver; // Version number
-;; CHAR ne_rev; // Revision number
-;; WORD ne_enttab; // Offset of Entry Table
-;; WORD ne_cbenttab; // Number of bytes in Entry Table
-;; LONG ne_crc; // Checksum of whole file
-;; WORD ne_flags; // Flag word
-;; WORD ne_autodata; // Automatic data segment number
-;; WORD ne_heap; // Initial heap allocation
-;; WORD ne_stack; // Initial stack allocation
-;; LONG ne_csip; // Initial CS:IP setting
-;; LONG ne_sssp; // Initial SS:SP setting
-;; WORD ne_cseg; // Count of file segments
-;; WORD ne_cmod; // Entries in Module Reference Table
-;; WORD ne_cbnrestab; // Size of non-resident name table
-;; WORD ne_segtab; // Offset of Segment Table
-;; WORD ne_rsrctab; // Offset of Resource Table
-;; WORD ne_restab; // Offset of resident name table
-;; WORD ne_modtab; // Offset of Module Reference Table
-;; WORD ne_imptab; // Offset of Imported Names Table
-;; LONG ne_nrestab; // Offset of Non-resident Names Table
-;; WORD ne_cmovent; // Count of movable entries
-;; WORD ne_align; // Segment alignment shift count
-;; WORD ne_cres; // Count of resource segments
-;; BYTE ne_exetyp; // Target Operating system
-;; BYTE ne_flagsothers; // Other .EXE flags
-;; WORD ne_pretthunks; // offset to return thunks
-;; WORD ne_psegrefbytes; // offset to segment ref. bytes
-;; WORD ne_swaparea; // Minimum code swap area size
-;; WORD ne_expver; // Expected Windows version number
-;; } IMAGE_OS2_HEADER, *PIMAGE_OS2_HEADER;
-;;
-;;//
-;;// File header format.
-;;//
-;;
-;;typedef struct _IMAGE_FILE_HEADER {
-;; WORD Machine;
-;; WORD NumberOfSections;
-;; DWORD TimeDateStamp;
-;; DWORD PointerToSymbolTable;
-;; DWORD NumberOfSymbols;
-;; WORD SizeOfOptionalHeader;
-;; WORD Characteristics;
-;;} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
-;;
-;;#define IMAGE_SIZEOF_FILE_HEADER 20
-;;
-;;#define IMAGE_FILE_RELOCS_STRIPPED 0x0001 // Relocation info stripped from file.
-;;#define IMAGE_FILE_EXECUTABLE_IMAGE 0x0002 // File is executable (i.e. no unresolved externel references).
-;;#define IMAGE_FILE_LINE_NUMS_STRIPPED 0x0004 // Line nunbers stripped from file.
-;;#define IMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008 // Local symbols stripped from file.
-;;#define IMAGE_FILE_MINIMAL_OBJECT 0x0010 // Reserved.
-;;#define IMAGE_FILE_UPDATE_OBJECT 0x0020 // Reserved.
-;;#define IMAGE_FILE_16BIT_MACHINE 0x0040 // 16 bit word machine.
-;;#define IMAGE_FILE_BYTES_REVERSED_LO 0x0080 // Bytes of machine word are reversed.
-;;#define IMAGE_FILE_32BIT_MACHINE 0x0100 // 32 bit word machine.
-;;#define IMAGE_FILE_DEBUG_STRIPPED 0x0200 // Debugging info stripped from file in .DBG file
-;;#define IMAGE_FILE_PATCH 0x0400 // Reserved.
-;;#define IMAGE_FILE_SYSTEM 0x1000 // System File.
-;;#define IMAGE_FILE_DLL 0x2000 // File is a DLL.
-;;#define IMAGE_FILE_BYTES_REVERSED_HI 0x8000 // Bytes of machine word are reversed.
-;;
-;;#define IMAGE_FILE_MACHINE_UNKNOWN 0
-;;#define IMAGE_FILE_MACHINE_I860 0x14d // Intel 860.
-;;#define IMAGE_FILE_MACHINE_I386 0x14c // Intel 386.
-;;#define IMAGE_FILE_MACHINE_R3000 0x162 // MIPS little-endian, 0540 big-endian
-;;#define IMAGE_FILE_MACHINE_R4000 0x166 // MIPS little-endian
-;;#define IMAGE_FILE_MACHINE_ALPHA 0x184 // Alpha_AXP
-;;
-;;//
-;;// Directory format.
-;;//
-;;
-;;typedef struct _IMAGE_DATA_DIRECTORY {
-;; DWORD VirtualAddress;
-;; DWORD Size;
-;;} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
-;;
-;;#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
-;;
-;;//
-;;// Optional header format.
-;;//
-;;
-;;typedef struct _IMAGE_OPTIONAL_HEADER {
-;; //
-;; // Standard fields.
-;; //
-;;
-;; WORD Magic;
-;; BYTE MajorLinkerVersion;
-;; BYTE MinorLinkerVersion;
-;; DWORD SizeOfCode;
-;; DWORD SizeOfInitializedData;
-;; DWORD SizeOfUninitializedData;
-;; DWORD AddressOfEntryPoint;
-;; DWORD BaseOfCode;
-;; DWORD BaseOfData;
-;;
-;; //
-;; // NT additional fields.
-;; //
-;;
-;; DWORD ImageBase;
-;; DWORD SectionAlignment;
-;; DWORD FileAlignment;
-;; WORD MajorOperatingSystemVersion;
-;; WORD MinorOperatingSystemVersion;
-;; WORD MajorImageVersion;
-;; WORD MinorImageVersion;
-;; WORD MajorSubsystemVersion;
-;; WORD MinorSubsystemVersion;
-;; DWORD Reserved1;
-;; DWORD SizeOfImage;
-;; DWORD SizeOfHeaders;
-;; DWORD CheckSum;
-;; WORD Subsystem;
-;; WORD DllCharacteristics;
-;; DWORD SizeOfStackReserve;
-;; DWORD SizeOfStackCommit;
-;; DWORD SizeOfHeapReserve;
-;; DWORD SizeOfHeapCommit;
-;; DWORD LoaderFlags;
-;; DWORD NumberOfRvaAndSizes;
-;; IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
-;;} IMAGE_OPTIONAL_HEADER, *PIMAGE_OPTIONAL_HEADER;
-;;
-;;#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER 28
-;;#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER 224
-;;
-;;typedef struct _IMAGE_NT_HEADERS {
-;; DWORD Signature;
-;; IMAGE_FILE_HEADER FileHeader;
-;; IMAGE_OPTIONAL_HEADER OptionalHeader;
-;;} IMAGE_NT_HEADERS, *PIMAGE_NT_HEADERS;
-;;
-;;#define IMAGE_FIRST_SECTION( ntheader ) ((PIMAGE_SECTION_HEADER) \
-;; ((DWORD)ntheader + \
-;; FIELD_OFFSET( IMAGE_NT_HEADERS, OptionalHeader ) + \
-;; ((PIMAGE_NT_HEADERS)(ntheader))->FileHeader.SizeOfOptionalHeader \
-;; ))
-;;
-;;
-;;// Subsystem Values
-;;
-;;#define IMAGE_SUBSYSTEM_UNKNOWN 0 // Unknown subsystem.
-;;#define IMAGE_SUBSYSTEM_NATIVE 1 // Image doesn't require a subsystem.
-;;#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2 // Image runs in the Windows GUI subsystem.
-;;#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3 // Image runs in the Windows character subsystem.
-;;#define IMAGE_SUBSYSTEM_OS2_CUI 5 // image runs in the OS/2 character subsystem.
-;;#define IMAGE_SUBSYSTEM_POSIX_CUI 7 // image run in the Posix character subsystem.
-;;
-;;// Dll Characteristics
-;;
-;;#define IMAGE_LIBRARY_PROCESS_INIT 1 // Dll has a process initialization routine.
-;;#define IMAGE_LIBRARY_PROCESS_TERM 2 // Dll has a thread termination routine.
-;;#define IMAGE_LIBRARY_THREAD_INIT 4 // Dll has a thread initialization routine.
-;;#define IMAGE_LIBRARY_THREAD_TERM 8 // Dll has a thread termination routine.
-;;
-;;//
-;;// Loader Flags
-;;//
-;;
-;;#define IMAGE_LOADER_FLAGS_BREAK_ON_LOAD 0x00000001
-;;#define IMAGE_LOADER_FLAGS_DEBUG_ON_LOAD 0x00000002
-;;
-;;
-;;// Directory Entries
-;;
-;;#define IMAGE_DIRECTORY_ENTRY_EXPORT 0 // Export Directory
-;;#define IMAGE_DIRECTORY_ENTRY_IMPORT 1 // Import Directory
-;;#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 // Resource Directory
-;;#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 // Exception Directory
-;;#define IMAGE_DIRECTORY_ENTRY_SECURITY 4 // Security Directory
-;;#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 // Base Relocation Table
-;;#define IMAGE_DIRECTORY_ENTRY_DEBUG 6 // Debug Directory
-;;#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7 // Description String
-;;#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 // Machine Value (MIPS GP)
-;;#define IMAGE_DIRECTORY_ENTRY_TLS 9 // TLS Directory
-;;#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 // Load Configuration Directory
-;;
-;;//
-;;// Section header format.
-;;//
-;;
-;;#define IMAGE_SIZEOF_SHORT_NAME 8
-;;
-;;typedef struct _IMAGE_SECTION_HEADER {
-;; BYTE Name[IMAGE_SIZEOF_SHORT_NAME];
-;; union {
-;; DWORD PhysicalAddress;
-;; DWORD VirtualSize;
-;; } Misc;
-;; DWORD VirtualAddress;
-;; DWORD SizeOfRawData;
-;; DWORD PointerToRawData;
-;; DWORD PointerToRelocations;
-;; DWORD PointerToLinenumbers;
-;; WORD NumberOfRelocations;
-;; WORD NumberOfLinenumbers;
-;; DWORD Characteristics;
-;;} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;
-;;
-;;#define IMAGE_SIZEOF_SECTION_HEADER 40
-;;
-;;#define IMAGE_SCN_TYPE_REGULAR 0x00000000 //
-;;#define IMAGE_SCN_TYPE_DUMMY 0x00000001 // Reserved.
-;;#define IMAGE_SCN_TYPE_NO_LOAD 0x00000002 // Reserved.
-;;#define IMAGE_SCN_TYPE_GROUPED 0x00000004 // Used for 16-bit offset code.
-;;#define IMAGE_SCN_TYPE_NO_PAD 0x00000008 // Reserved.
-;;#define IMAGE_SCN_TYPE_COPY 0x00000010 // Reserved.
-;;
-;;#define IMAGE_SCN_CNT_CODE 0x00000020 // Section contains code.
-;;#define IMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040 // Section contains initialized data.
-;;#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x00000080 // Section contains uninitialized data.
-;;
-;;#define IMAGE_SCN_LNK_OTHER 0x00000100 // Reserved.
-;;#define IMAGE_SCN_LNK_INFO 0x00000200 // Section contains comments or some other type of information.
-;;#define IMAGE_SCN_LNK_OVERLAY 0x00000400 // Section contains an overlay.
-;;#define IMAGE_SCN_LNK_REMOVE 0x00000800 // Section contents will not become part of image.
-;;#define IMAGE_SCN_LNK_COMDAT 0x00001000 // Section contents comdat.
-;;
-;;#define IMAGE_SCN_ALIGN_1BYTES 0x00100000 //
-;;#define IMAGE_SCN_ALIGN_2BYTES 0x00200000 //
-;;#define IMAGE_SCN_ALIGN_4BYTES 0x00300000 //
-;;#define IMAGE_SCN_ALIGN_8BYTES 0x00400000 //
-;;#define IMAGE_SCN_ALIGN_16BYTES 0x00500000 // Default alignment if no others are specified.
-;;#define IMAGE_SCN_ALIGN_32BYTES 0x00600000 //
-;;#define IMAGE_SCN_ALIGN_64BYTES 0x00700000 //
-;;
-;;#define IMAGE_SCN_MEM_DISCARDABLE 0x02000000 // Section can be discarded.
-;;#define IMAGE_SCN_MEM_NOT_CACHED 0x04000000 // Section is not cachable.
-;;#define IMAGE_SCN_MEM_NOT_PAGED 0x08000000 // Section is not pageable.
-;;#define IMAGE_SCN_MEM_SHARED 0x10000000 // Section is shareable.
-;;#define IMAGE_SCN_MEM_EXECUTE 0x20000000 // Section is executable.
-;;#define IMAGE_SCN_MEM_READ 0x40000000 // Section is readable.
-;;#define IMAGE_SCN_MEM_WRITE 0x80000000 // Section is writeable.
-;;
-;;//
-;;// Symbol format.
-;;//
-;;
-;;typedef struct _IMAGE_SYMBOL {
-;; union {
-;; BYTE ShortName[8];
-;; struct {
-;; DWORD Short; // if 0, use LongName
-;; DWORD Long; // offset into string table
-;; } Name;
-;; PBYTE LongName[2];
-;; } N;
-;; DWORD Value;
-;; SHORT SectionNumber;
-;; WORD Type;
-;; BYTE StorageClass;
-;; BYTE NumberOfAuxSymbols;
-;;} IMAGE_SYMBOL;
-;;typedef IMAGE_SYMBOL UNALIGNED *PIMAGE_SYMBOL;
-;;
-;;#define IMAGE_SIZEOF_SYMBOL 18
-;;
-;;//
-;;// Section values.
-;;//
-;;// Symbols have a section number of the section in which they are
-;;// defined. Otherwise, section numbers have the following meanings:
-;;//
-;;
-;;#define IMAGE_SYM_UNDEFINED (SHORT)0 // Symbol is undefined or is common.
-;;#define IMAGE_SYM_ABSOLUTE (SHORT)-1 // Symbol is an absolute value.
-;;#define IMAGE_SYM_DEBUG (SHORT)-2 // Symbol is a special debug item.
-;;
-;;//
-;;// Type (fundamental) values.
-;;//
-;;
-;;#define IMAGE_SYM_TYPE_NULL 0 // no type.
-;;#define IMAGE_SYM_TYPE_VOID 1 //
-;;#define IMAGE_SYM_TYPE_CHAR 2 // type character.
-;;#define IMAGE_SYM_TYPE_SHORT 3 // type short integer.
-;;#define IMAGE_SYM_TYPE_INT 4 //
-;;#define IMAGE_SYM_TYPE_LONG 5 //
-;;#define IMAGE_SYM_TYPE_FLOAT 6 //
-;;#define IMAGE_SYM_TYPE_DOUBLE 7 //
-;;#define IMAGE_SYM_TYPE_STRUCT 8 //
-;;#define IMAGE_SYM_TYPE_UNION 9 //
-;;#define IMAGE_SYM_TYPE_ENUM 10 // enumeration.
-;;#define IMAGE_SYM_TYPE_MOE 11 // member of enumeration.
-;;#define IMAGE_SYM_TYPE_BYTE 12 //
-;;#define IMAGE_SYM_TYPE_WORD 13 //
-;;#define IMAGE_SYM_TYPE_UINT 14 //
-;;#define IMAGE_SYM_TYPE_DWORD 15 //
-;;
-;;//
-;;// Type (derived) values.
-;;//
-;;
-;;#define IMAGE_SYM_DTYPE_NULL 0 // no derived type.
-;;#define IMAGE_SYM_DTYPE_POINTER 1 // pointer.
-;;#define IMAGE_SYM_DTYPE_FUNCTION 2 // function.
-;;#define IMAGE_SYM_DTYPE_ARRAY 3 // array.
-;;
-;;//
-;;// Storage classes.
-;;//
-;;
-;;#define IMAGE_SYM_CLASS_END_OF_FUNCTION (BYTE )-1
-;;#define IMAGE_SYM_CLASS_NULL 0
-;;#define IMAGE_SYM_CLASS_AUTOMATIC 1
-;;#define IMAGE_SYM_CLASS_EXTERNAL 2
-;;#define IMAGE_SYM_CLASS_STATIC 3
-;;#define IMAGE_SYM_CLASS_REGISTER 4
-;;#define IMAGE_SYM_CLASS_EXTERNAL_DEF 5
-;;#define IMAGE_SYM_CLASS_LABEL 6
-;;#define IMAGE_SYM_CLASS_UNDEFINED_LABEL 7
-;;#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 8
-;;#define IMAGE_SYM_CLASS_ARGUMENT 9
-;;#define IMAGE_SYM_CLASS_STRUCT_TAG 10
-;;#define IMAGE_SYM_CLASS_MEMBER_OF_UNION 11
-;;#define IMAGE_SYM_CLASS_UNION_TAG 12
-;;#define IMAGE_SYM_CLASS_TYPE_DEFINITION 13
-;;#define IMAGE_SYM_CLASS_UNDEFINED_STATIC 14
-;;#define IMAGE_SYM_CLASS_ENUM_TAG 15
-;;#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16
-;;#define IMAGE_SYM_CLASS_REGISTER_PARAM 17
-;;#define IMAGE_SYM_CLASS_BIT_FIELD 18
-;;#define IMAGE_SYM_CLASS_BLOCK 100
-;;#define IMAGE_SYM_CLASS_FUNCTION 101
-;;#define IMAGE_SYM_CLASS_END_OF_STRUCT 102
-;;#define IMAGE_SYM_CLASS_FILE 103
-;;// new
-;;#define IMAGE_SYM_CLASS_SECTION 104
-;;#define IMAGE_SYM_CLASS_WEAK_EXTERNAL 105
-;;
-;;// type packing constants
-;;
-;;#define N_BTMASK 017
-;;#define N_TMASK 060
-;;#define N_TMASK1 0300
-;;#define N_TMASK2 0360
-;;#define N_BTSHFT 4
-;;#define N_TSHIFT 2
-;;
-;;// MACROS
-;;
-;;// Basic Type of x
-;;#define BTYPE(x) ((x) & N_BTMASK)
-;;
-;;// Is x a pointer?
-;;#ifndef ISPTR
-;;#define ISPTR(x) (((x) & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHFT))
-;;#endif
-;;
-;;// Is x a function?
-;;#ifndef ISFCN
-;;#define ISFCN(x) (((x) & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSHFT))
-;;#endif
-;;
-;;// Is x an array?
-;;
-;;#ifndef ISARY
-;;#define ISARY(x) (((x) & N_TMASK) == (IMAGE_SYM_DTYPE_ARRAY << N_BTSHFT))
-;;#endif
-;;
-;;// Is x a structure, union, or enumeration TAG?
-;;#ifndef ISTAG
-;;#define ISTAG(x) ((x)==IMAGE_SYM_CLASS_STRUCT_TAG || (x)==IMAGE_SYM_CLASS_UNION_TAG || (x)==IMAGE_SYM_CLASS_ENUM_TAG)
-;;#endif
-;;
-;;#ifndef INCREF
-;;#define INCREF(x) ((((x)&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|((x)&N_BTMASK))
-;;#endif
-;;#ifndef DECREF
-;;#define DECREF(x) ((((x)>>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK))
-;;#endif
-;;
-;;//
-;;// Auxiliary entry format.
-;;//
-;;
-;;typedef union _IMAGE_AUX_SYMBOL {
-;; struct {
-;; DWORD TagIndex; // struct, union, or enum tag index
-;; union {
-;; struct {
-;; WORD Linenumber; // declaration line number
-;; WORD Size; // size of struct, union, or enum
-;; } LnSz;
-;; DWORD TotalSize;
-;; } Misc;
-;; union {
-;; struct { // if ISFCN, tag, or .bb
-;; DWORD PointerToLinenumber;
-;; DWORD PointerToNextFunction;
-;; } Function;
-;; struct { // if ISARY, up to 4 dimen.
-;; WORD Dimension[4];
-;; } Array;
-;; } FcnAry;
-;; WORD TvIndex; // tv index
-;; } Sym;
-;; struct {
-;; BYTE Name[IMAGE_SIZEOF_SYMBOL];
-;; } File;
-;; struct {
-;; DWORD Length; // section length
-;; WORD NumberOfRelocations; // number of relocation entries
-;; WORD NumberOfLinenumbers; // number of line numbers
-;; DWORD CheckSum; // checksum for communal
-;; SHORT Number; // section number to associate with
-;; BYTE Selection; // communal selection type
-;; } Section;
-;;} IMAGE_AUX_SYMBOL;
-;;typedef IMAGE_AUX_SYMBOL UNALIGNED *PIMAGE_AUX_SYMBOL;
-;;
-;;#define IMAGE_SIZEOF_AUX_SYMBOL 18
-;;
-;;//
-;;// Communal selection types.
-;;//
-;;
-;;#define IMAGE_COMDAT_SELECT_UNKNOWN 0
-;;#define IMAGE_COMDAT_SELECT_NODUPLICATES 1
-;;#define IMAGE_COMDAT_SELECT_ANY 2
-;;#define IMAGE_COMDAT_SELECT_SAME_SIZE 3
-;;#define IMAGE_COMDAT_SELECT_EXACT_MATCH 4
-;;#define IMAGE_COMDAT_SELECT_ASSOCIATIVE 5
-;;
-;;#define IMAGE_WEAK_EXTERN_SEARCH_UNKNOWN 0
-;;#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1
-;;#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2
-;;
-;;
-;;//
-;;// Relocation format.
-;;//
-;;
-;;typedef struct _IMAGE_RELOCATION {
-;; DWORD VirtualAddress;
-;; DWORD SymbolTableIndex;
-;; WORD Type;
-;;} IMAGE_RELOCATION;
-;;typedef IMAGE_RELOCATION UNALIGNED *PIMAGE_RELOCATION;
-;;
-;;#define IMAGE_SIZEOF_RELOCATION 10
-;;
-;;//
-;;// I860 relocation types.
-;;//
-;;
-;;#define IMAGE_REL_I860_ABSOLUTE 0 // Reference is absolute, no relocation is necessary
-;;#define IMAGE_REL_I860_DIR32 06 // Direct 32-bit reference to the symbols virtual address
-;;#define IMAGE_REL_I860_DIR32NB 07
-;;#define IMAGE_REL_I860_SECTION 012
-;;#define IMAGE_REL_I860_SECREL 013
-;;#define IMAGE_REL_I860_PAIR 034
-;;#define IMAGE_REL_I860_HIGH 036
-;;#define IMAGE_REL_I860_LOW0 037
-;;#define IMAGE_REL_I860_LOW1 040
-;;#define IMAGE_REL_I860_LOW2 041
-;;#define IMAGE_REL_I860_LOW3 042
-;;#define IMAGE_REL_I860_LOW4 043
-;;#define IMAGE_REL_I860_SPLIT0 044
-;;#define IMAGE_REL_I860_SPLIT1 045
-;;#define IMAGE_REL_I860_SPLIT2 046
-;;#define IMAGE_REL_I860_HIGHADJ 047
-;;#define IMAGE_REL_I860_BRADDR 050
-;;
-;;//
-;;// I386 relocation types.
-;;//
-;;
-;;#define IMAGE_REL_I386_ABSOLUTE 0 // Reference is absolute, no relocation is necessary
-;;#define IMAGE_REL_I386_DIR16 01 // Direct 16-bit reference to the symbols virtual address
-;;#define IMAGE_REL_I386_REL16 02 // PC-relative 16-bit reference to the symbols virtual address
-;;#define IMAGE_REL_I386_DIR32 06 // Direct 32-bit reference to the symbols virtual address
-;;#define IMAGE_REL_I386_DIR32NB 07 // Direct 32-bit reference to the symbols virtual address, base not included
-;;#define IMAGE_REL_I386_SEG12 011 // Direct 16-bit reference to the segment-selector bits of a 32-bit virtual address
-;;#define IMAGE_REL_I386_SECTION 012
-;;#define IMAGE_REL_I386_SECREL 013
-;;#define IMAGE_REL_I386_REL32 024 // PC-relative 32-bit reference to the symbols virtual address
-;;
-;;//
-;;// MIPS relocation types.
-;;//
-;;
-;;#define IMAGE_REL_MIPS_ABSOLUTE 0 // Reference is absolute, no relocation is necessary
-;;#define IMAGE_REL_MIPS_REFHALF 01
-;;#define IMAGE_REL_MIPS_REFWORD 02
-;;#define IMAGE_REL_MIPS_JMPADDR 03
-;;#define IMAGE_REL_MIPS_REFHI 04
-;;#define IMAGE_REL_MIPS_REFLO 05
-;;#define IMAGE_REL_MIPS_GPREL 06
-;;#define IMAGE_REL_MIPS_LITERAL 07
-;;#define IMAGE_REL_MIPS_SECTION 012
-;;#define IMAGE_REL_MIPS_SECREL 013
-;;#define IMAGE_REL_MIPS_REFWORDNB 042
-;;#define IMAGE_REL_MIPS_PAIR 045
-;;
-;;//
-;;// Alpha Relocation types.
-;;//
-;;
-;;#define IMAGE_REL_ALPHA_ABSOLUTE 0x0
-;;#define IMAGE_REL_ALPHA_REFLONG 0x1
-;;#define IMAGE_REL_ALPHA_REFQUAD 0x2
-;;#define IMAGE_REL_ALPHA_GPREL32 0x3
-;;#define IMAGE_REL_ALPHA_LITERAL 0x4
-;;#define IMAGE_REL_ALPHA_LITUSE 0x5
-;;#define IMAGE_REL_ALPHA_GPDISP 0x6
-;;#define IMAGE_REL_ALPHA_BRADDR 0x7
-;;#define IMAGE_REL_ALPHA_HINT 0x8
-;;#define IMAGE_REL_ALPHA_INLINE_REFLONG 0x9
-;;#define IMAGE_REL_ALPHA_REFHI 0xA
-;;#define IMAGE_REL_ALPHA_REFLO 0xB
-;;#define IMAGE_REL_ALPHA_PAIR 0xC
-;;#define IMAGE_REL_ALPHA_MATCH 0xD
-;;#define IMAGE_REL_ALPHA_SECTION 0xE
-;;#define IMAGE_REL_ALPHA_SECREL 0xF
-;;#define IMAGE_REL_ALPHA_REFLONGNB 0x10
-;;
-;;//
-;;// Based relocation format.
-;;//
-;;
-;;typedef struct _IMAGE_BASE_RELOCATION {
-;; DWORD VirtualAddress;
-;; DWORD SizeOfBlock;
-;;// WORD TypeOffset[1];
-;;} IMAGE_BASE_RELOCATION, *PIMAGE_BASE_RELOCATION;
-;;
-;;#define IMAGE_SIZEOF_BASE_RELOCATION 8
-;;
-;;//
-;;// Based relocation types.
-;;//
-;;
-;;#define IMAGE_REL_BASED_ABSOLUTE 0
-;;#define IMAGE_REL_BASED_HIGH 1
-;;#define IMAGE_REL_BASED_LOW 2
-;;#define IMAGE_REL_BASED_HIGHLOW 3
-;;#define IMAGE_REL_BASED_HIGHADJ 4
-;;#define IMAGE_REL_BASED_MIPS_JMPADDR 5
-;;#define IMAGE_REL_BASED_I860_BRADDR 6
-;;#define IMAGE_REL_BASED_I860_SPLIT 7
-;;
-;;//
-;;// Line number format.
-;;//
-;;
-;;typedef struct _IMAGE_LINENUMBER {
-;; union {
-;; DWORD SymbolTableIndex; // Symbol table index of function name if Linenumber is 0.
-;; DWORD VirtualAddress; // Virtual address of line number.
-;; } Type;
-;; WORD Linenumber; // Line number.
-;;} IMAGE_LINENUMBER;
-;;typedef IMAGE_LINENUMBER UNALIGNED *PIMAGE_LINENUMBER;
-;;
-;;#define IMAGE_SIZEOF_LINENUMBER 6
-;;
-;;//
-;;// Archive format.
-;;//
-;;
-;;#define IMAGE_ARCHIVE_START_SIZE 8
-;;#define IMAGE_ARCHIVE_START "!<arch>\n"
-;;#define IMAGE_ARCHIVE_END "`\n"
-;;#define IMAGE_ARCHIVE_PAD "\n"
-;;#define IMAGE_ARCHIVE_LINKER_MEMBER "/ "
-;;#define IMAGE_ARCHIVE_LONGNAMES_MEMBER "// "
-;;
-;;typedef struct _IMAGE_ARCHIVE_MEMBER_HEADER {
-;; BYTE Name[16]; // File member name - `/' terminated.
-;; BYTE Date[12]; // File member date - decimal.
-;; BYTE UserID[6]; // File member user id - decimal.
-;; BYTE GroupID[6]; // File member group id - decimal.
-;; BYTE Mode[8]; // File member mode - octal.
-;; BYTE Size[10]; // File member size - decimal.
-;; BYTE EndHeader[2]; // String to end header.
-;;} IMAGE_ARCHIVE_MEMBER_HEADER, *PIMAGE_ARCHIVE_MEMBER_HEADER;
-;;
-;;#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60
-;;
-;;//
-;;// DLL support.
-;;//
-;;
-;;//
-;;// Export Format
-;;//
-;;
-;;typedef struct _IMAGE_EXPORT_DIRECTORY {
-;; DWORD Characteristics;
-;; DWORD TimeDateStamp;
-;; WORD MajorVersion;
-;; WORD MinorVersion;
-;; DWORD Name;
-;; DWORD Base;
-;; DWORD NumberOfFunctions;
-;; DWORD NumberOfNames;
-;; PDWORD *AddressOfFunctions;
-;; PDWORD *AddressOfNames;
-;; PWORD *AddressOfNameOrdinals;
-;;} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;
-;;
-;;//
-;;// Import Format
-;;//
-;;
-;;typedef struct _IMAGE_IMPORT_BY_NAME {
-;; WORD Hint;
-;; BYTE Name[1];
-;;} IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME;
-;;
-;;typedef struct _IMAGE_THUNK_DATA {
-;; union {
-;; PDWORD Function;
-;; DWORD Ordinal;
-;; PIMAGE_IMPORT_BY_NAME AddressOfData;
-;; } u1;
-;;} IMAGE_THUNK_DATA, *PIMAGE_THUNK_DATA;
-;;
-;;#define IMAGE_ORDINAL_FLAG 0x80000000
-;;#define IMAGE_SNAP_BY_ORDINAL(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG) != 0)
-;;#define IMAGE_ORDINAL(Ordinal) (Ordinal & 0xffff)
-;;
-;;typedef struct _IMAGE_IMPORT_DESCRIPTOR {
-;; DWORD Characteristics;
-;; DWORD TimeDateStamp;
-;; DWORD ForwarderChain;
-;; DWORD Name;
-;; PIMAGE_THUNK_DATA FirstThunk;
-;;} IMAGE_IMPORT_DESCRIPTOR, *PIMAGE_IMPORT_DESCRIPTOR;
-;;
-;;//
-;;// Thread Local Storage
-;;//
-;;
-;;typedef VOID
-;;(NTAPI *PIMAGE_TLS_CALLBACK) (
-;; PVOID DllHandle,
-;; DWORD Reason,
-;; PVOID Reserved
-;; );
-;;
-;;typedef struct _IMAGE_TLS_DIRECTORY {
-;; DWORD StartAddressOfRawData;
-;; DWORD EndAddressOfRawData;
-;; PDWORD AddressOfIndex;
-;; PIMAGE_TLS_CALLBACK *AddressOfCallBacks;
-;; DWORD SizeOfZeroFill;
-;; DWORD Characteristics;
-;;} IMAGE_TLS_DIRECTORY, *PIMAGE_TLS_DIRECTORY;
-;;
-;;
-;;//
-;;// Resource Format.
-;;//
-;;
-;;//
-;;// Resource directory consists of two counts, following by a variable length
-;;// array of directory entries. The first count is the number of entries at
-;;// beginning of the array that have actual names associated with each entry.
-;;// The entries are in ascending order, case insensitive strings. The second
-;;// count is the number of entries that immediately follow the named entries.
-;;// This second count identifies the number of entries that have 31-bit integer
-;;// Ids as their name. These entries are also sorted in ascending order.
-;;//
-;;// This structure allows fast lookup by either name or number, but for any
-;;// given resource entry only one form of lookup is supported, not both.
-;;// This is consistant with the syntax of the .RC file and the .RES file.
-;;//
-;;
-;;typedef struct _IMAGE_RESOURCE_DIRECTORY {
-;; DWORD Characteristics;
-;; DWORD TimeDateStamp;
-;; WORD MajorVersion;
-;; WORD MinorVersion;
-;; WORD NumberOfNamedEntries;
-;; WORD NumberOfIdEntries;
-;;// IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[];
-;;} IMAGE_RESOURCE_DIRECTORY, *PIMAGE_RESOURCE_DIRECTORY;
-;;
-;;#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000
-;;#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000
-;;
-;;//
-;;// Each directory contains the 32-bit Name of the entry and an offset,
-;;// relative to the beginning of the resource directory of the data associated
-;;// with this directory entry. If the name of the entry is an actual text
-;;// string instead of an integer Id, then the high order bit of the name field
-;;// is set to one and the low order 31-bits are an offset, relative to the
-;;// beginning of the resource directory of the string, which is of type
-;;// IMAGE_RESOURCE_DIRECTORY_STRING. Otherwise the high bit is clear and the
-;;// low-order 31-bits are the integer Id that identify this resource directory
-;;// entry. If the directory entry is yet another resource directory (i.e. a
-;;// subdirectory), then the high order bit of the offset field will be
-;;// set to indicate this. Otherwise the high bit is clear and the offset
-;;// field points to a resource data entry.
-;;//
-;;
-;;typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
-;; DWORD Name;
-;; DWORD OffsetToData;
-;;} IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY;
-;;
-;;//
-;;// For resource directory entries that have actual string names, the Name
-;;// field of the directory entry points to an object of the following type.
-;;// All of these string objects are stored together after the last resource
-;;// directory entry and before the first resource data object. This minimizes
-;;// the impact of these variable length objects on the alignment of the fixed
-;;// size directory entry objects.
-;;//
-;;
-;;typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING {
-;; WORD Length;
-;; CHAR NameString[ 1 ];
-;;} IMAGE_RESOURCE_DIRECTORY_STRING, *PIMAGE_RESOURCE_DIRECTORY_STRING;
-;;
-;;
-;;typedef struct _IMAGE_RESOURCE_DIR_STRING_U {
-;; WORD Length;
-;; WCHAR NameString[ 1 ];
-;;} IMAGE_RESOURCE_DIR_STRING_U, *PIMAGE_RESOURCE_DIR_STRING_U;
-;;
-;;
-;;//
-;;// Each resource data entry describes a leaf node in the resource directory
-;;// tree. It contains an offset, relative to the beginning of the resource
-;;// directory of the data for the resource, a size field that gives the number
-;;// of bytes of data at that offset, a CodePage that should be used when
-;;// decoding code point values within the resource data. Typically for new
-;;// applications the code page would be the unicode code page.
-;;//
-;;
-;;typedef struct _IMAGE_RESOURCE_DATA_ENTRY {
-;; DWORD OffsetToData;
-;; DWORD Size;
-;; DWORD CodePage;
-;; DWORD Reserved;
-;;} IMAGE_RESOURCE_DATA_ENTRY, *PIMAGE_RESOURCE_DATA_ENTRY;
-;;
-;;//
-;;// Load Configuration Directory Entry
-;;//
-;;
-;;typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY {
-;; DWORD Characteristics;
-;; DWORD TimeDateStamp;
-;; WORD MajorVersion;
-;; WORD MinorVersion;
-;; DWORD GlobalFlagsClear;
-;; DWORD GlobalFlagsSet;
-;; DWORD CriticalSectionDefaultTimeout;
-;; DWORD DeCommitFreeBlockThreshold;
-;; DWORD DeCommitTotalFreeThreshold;
-;; DWORD Reserved[ 8 ];
-;;} IMAGE_LOAD_CONFIG_DIRECTORY, *PIMAGE_LOAD_CONFIG_DIRECTORY;
-;;
-;;
-;;//
-;;// Function table entry format for MIPS/ALPHA images. Function table is
-;;// pointed to by the IMAGE_DIRECTORY_ENTRY_EXCEPTION directory entry.
-;;// This definition duplicates ones in ntmips.h and ntalpha.h for use
-;;// by portable image file mungers.
-;;//
-;;
-;;typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY {
-;; DWORD BeginAddress;
-;; DWORD EndAddress;
-;; PVOID ExceptionHandler;
-;; PVOID HandlerData;
-;; DWORD PrologEndAddress;
-;;} IMAGE_RUNTIME_FUNCTION_ENTRY, *PIMAGE_RUNTIME_FUNCTION_ENTRY;
-;;
-;;//
-;;// Debug Format
-;;//
-;;
-;;typedef struct _IMAGE_DEBUG_DIRECTORY {
-;; DWORD Characteristics;
-;; DWORD TimeDateStamp;
-;; WORD MajorVersion;
-;; WORD MinorVersion;
-;; DWORD Type;
-;; DWORD SizeOfData;
-;; DWORD AddressOfRawData;
-;; DWORD PointerToRawData;
-;;} IMAGE_DEBUG_DIRECTORY, *PIMAGE_DEBUG_DIRECTORY;
-;;
-;;#define IMAGE_DEBUG_TYPE_UNKNOWN 0
-;;#define IMAGE_DEBUG_TYPE_COFF 1
-;;#define IMAGE_DEBUG_TYPE_CODEVIEW 2
-;;#define IMAGE_DEBUG_TYPE_FPO 3
-;;#define IMAGE_DEBUG_TYPE_MISC 4
-;;#define IMAGE_DEBUG_TYPE_EXCEPTION 5
-;;#define IMAGE_DEBUG_TYPE_FIXUP 6
-;;#define IMAGE_DEBUG_TYPE_RESERVED6 7
-;;#define IMAGE_DEBUG_TYPE_RESERVED7 8
-;;
-;;typedef struct _IMAGE_COFF_SYMBOLS_HEADER {
-;; DWORD NumberOfSymbols;
-;; DWORD LvaToFirstSymbol;
-;; DWORD NumberOfLinenumbers;
-;; DWORD LvaToFirstLinenumber;
-;; DWORD RvaToFirstByteOfCode;
-;; DWORD RvaToLastByteOfCode;
-;; DWORD RvaToFirstByteOfData;
-;; DWORD RvaToLastByteOfData;
-;;} IMAGE_COFF_SYMBOLS_HEADER, *PIMAGE_COFF_SYMBOLS_HEADER;
-;;
-;;#define FRAME_FPO 0
-;;#define FRAME_TRAP 1
-;;#define FRAME_TSS 2
-;;
-;;typedef struct _FPO_DATA {
-;; DWORD ulOffStart; // offset 1st byte of function code
-;; DWORD cbProcSize; // # bytes in function
-;; DWORD cdwLocals; // # bytes in locals/4
-;; WORD cdwParams; // # bytes in params/4
-;; WORD cbProlog : 8; // # bytes in prolog
-;; WORD cbRegs : 3; // # regs saved
-;; WORD fHasSEH : 1; // TRUE if SEH in func
-;; WORD fUseBP : 1; // TRUE if EBP has been allocated
-;; WORD reserved : 1; // reserved for future use
-;; WORD cbFrame : 2; // frame type
-;;} FPO_DATA, *PFPO_DATA;
-;;#define SIZEOF_RFPO_DATA 16
-;;
-;;
-;;#define IMAGE_DEBUG_MISC_EXENAME 1
-;;
-;;typedef struct _IMAGE_DEBUG_MISC {
-;; DWORD DataType; // type of misc data, see defines
-;; DWORD Length; // total length of record, rounded to four
-;; // byte multiple.
-;; BOOLEAN Unicode; // TRUE if data is unicode string
-;; BYTE Reserved[ 3 ];
-;; BYTE Data[ 1 ]; // Actual data
-;;} IMAGE_DEBUG_MISC, *PIMAGE_DEBUG_MISC;
-;;
-;;
-;;//
-;;// Debugging information can be stripped from an image file and placed
-;;// in a separate .DBG file, whose file name part is the same as the
-;;// image file name part (e.g. symbols for CMD.EXE could be stripped
-;;// and placed in CMD.DBG). This is indicated by the IMAGE_FILE_DEBUG_STRIPPED
-;;// flag in the Characteristics field of the file header. The beginning of
-;;// the .DBG file contains the following structure which captures certain
-;;// information from the image file. This allows a debug to proceed even if
-;;// the original image file is not accessable. This header is followed by
-;;// zero of more IMAGE_SECTION_HEADER structures, followed by zero or more
-;;// IMAGE_DEBUG_DIRECTORY structures. The latter structures and those in
-;;// the image file contain file offsets relative to the beginning of the
-;;// .DBG file.
-;;//
-;;// If symbols have been stripped from an image, the IMAGE_DEBUG_MISC structure
-;;// is left in the image file, but not mapped. This allows a debugger to
-;;// compute the name of the .DBG file, from the name of the image in the
-;;// IMAGE_DEBUG_MISC structure.
-;;//
-;;
-;;typedef struct _IMAGE_SEPARATE_DEBUG_HEADER {
-;; WORD Signature;
-;; WORD Flags;
-;; WORD Machine;
-;; WORD Characteristics;
-;; DWORD TimeDateStamp;
-;; DWORD CheckSum;
-;; DWORD ImageBase;
-;; DWORD SizeOfImage;
-;; DWORD NumberOfSections;
-;; DWORD ExportedNamesSize;
-;; DWORD DebugDirectorySize;
-;; DWORD Reserved[ 3 ];
-;;} IMAGE_SEPARATE_DEBUG_HEADER, *PIMAGE_SEPARATE_DEBUG_HEADER;
-;;
-;;#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944
-;;
-;;#ifndef RC_INVOKED
-;;#pragma pack ()
-;;#endif // !RC_INVOKED
-;;
-;;//
-;;// End Image Format
-;;//
-;;
-;;//
-;;// for move macros
-;;//
-;;#include <string.h>
-;;#define HEAP_NO_SERIALIZE 0x00000001
-;;#define HEAP_GROWABLE 0x00000002
-;;#define HEAP_GENERATE_EXCEPTIONS 0x00000004
-;;#define HEAP_ZERO_MEMORY 0x00000008
-;;#define HEAP_REALLOC_IN_PLACE_ONLY 0x00000010
-;;#define HEAP_TAIL_CHECKING_ENABLED 0x00000020
-;;#define HEAP_FREE_CHECKING_ENABLED 0x00000040
-;;#define HEAP_DISABLE_COALESCE_ON_FREE 0x00000080
-;;#ifdef _M_IX86
-;;#define RtlMoveMemory(Destination,Source,Length) memmove((Destination),(Source),(Length))
-;;#define RtlCopyMemory(Destination,Source,Length) memcpy((Destination),(Source),(Length))
-;;#define RtlFillMemory(Destination,Length,Fill) memset((Destination),(Fill),(Length))
-;;#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length))
-;;#else
-;;#define RtlCopyMemory(Destination,Source,Length) RtlMoveMemory((Destination),(Source),(Length))
-;;VOID
-;;NTAPI
-;;RtlMoveMemory (
-;; PVOID Destination,
-;; CONST VOID *Source,
-;; DWORD Length
-;; );
-;;
-;;VOID
-;;NTAPI
-;;RtlFillMemory (
-;; PVOID Destination,
-;; DWORD Length,
-;; BYTE Fill
-;; );
-;;
-;;VOID
-;;NTAPI
-;;RtlZeroMemory (
-;; PVOID Destination,
-;; DWORD Length
-;; );
-;;#endif
-;;
-;;typedef struct _RTL_CRITICAL_SECTION_DEBUG {
-;; WORD Type;
-;; WORD CreatorBackTraceIndex;
-;; struct _RTL_CRITICAL_SECTION *CriticalSection;
-;; LIST_ENTRY ProcessLocksList;
-;; DWORD EntryCount;
-;; DWORD ContentionCount;
-;; DWORD Depth;
-;; PVOID OwnerBackTrace[ 5 ];
-;;} RTL_CRITICAL_SECTION_DEBUG, *PRTL_CRITICAL_SECTION_DEBUG;
-;;
-;;#define RTL_CRITSECT_TYPE 0
-;;#define RTL_RESOURCE_TYPE 1
-;;
-;;typedef struct _RTL_CRITICAL_SECTION {
-;; PRTL_CRITICAL_SECTION_DEBUG DebugInfo;
-;;
-;; //
-;; // The following three fields control entering and exiting the critical
-;; // section for the resource
-;; //
-;;
-;; LONG LockCount;
-;; LONG RecursionCount;
-;; HANDLE OwningThread; // from the thread's ClientId->UniqueThread
-;; HANDLE LockSemaphore;
-;; DWORD Reserved;
-;;} RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION;
-;;#define DLL_PROCESS_ATTACH 1
-;;#define DLL_THREAD_ATTACH 2
-;;#define DLL_THREAD_DETACH 3
-;;#define DLL_PROCESS_DETACH 0
-;;
-;;//
-;;// Defines for the READ flags for Eventlogging
-;;//
-;;#define EVENTLOG_SEQUENTIAL_READ 0X0001
-;;#define EVENTLOG_SEEK_READ 0X0002
-;;#define EVENTLOG_FORWARDS_READ 0X0004
-;;#define EVENTLOG_BACKWARDS_READ 0X0008
-;;
-;;//
-;;// The types of events that can be logged.
-;;//
-;;#define EVENTLOG_SUCCESS 0X0000
-;;#define EVENTLOG_ERROR_TYPE 0x0001
-;;#define EVENTLOG_WARNING_TYPE 0x0002
-;;#define EVENTLOG_INFORMATION_TYPE 0x0004
-;;#define EVENTLOG_AUDIT_SUCCESS 0x0008
-;;#define EVENTLOG_AUDIT_FAILURE 0x0010
-;;
-;;//
-;;// Defines for the WRITE flags used by Auditing for paired events
-;;// These are not implemented in Product 1
-;;//
-;;
-;;#define EVENTLOG_START_PAIRED_EVENT 0x0001
-;;#define EVENTLOG_END_PAIRED_EVENT 0x0002
-;;#define EVENTLOG_END_ALL_PAIRED_EVENTS 0x0004
-;;#define EVENTLOG_PAIRED_EVENT_ACTIVE 0x0008
-;;#define EVENTLOG_PAIRED_EVENT_INACTIVE 0x0010
-;;
-;;//
-;;// Structure that defines the header of the Eventlog record. This is the
-;;// fixed-sized portion before all the variable-length strings, binary
-;;// data and pad bytes.
-;;//
-;;// TimeGenerated is the time it was generated at the client.
-;;// TimeWritten is the time it was put into the log at the server end.
-;;//
-;;
-;;typedef struct _EVENTLOGRECORD {
-;; DWORD Length; // Length of full record
-;; DWORD Reserved; // Used by the service
-;; DWORD RecordNumber; // Absolute record number
-;; DWORD TimeGenerated; // Seconds since 1-1-1970
-;; DWORD TimeWritten; // Seconds since 1-1-1970
-;; DWORD EventID;
-;; WORD EventType;
-;; WORD NumStrings;
-;; WORD EventCategory;
-;; WORD ReservedFlags; // For use with paired events (auditing)
-;; DWORD ClosingRecordNumber; // For use with paired events (auditing)
-;; DWORD StringOffset; // Offset from beginning of record
-;; DWORD UserSidLength;
-;; DWORD UserSidOffset;
-;; DWORD DataLength;
-;; DWORD DataOffset; // Offset from beginning of record
-;; //
-;; // Then follow:
-;; //
-;; // WCHAR SourceName[]
-;; // WCHAR Computername[]
-;; // SID UserSid
-;; // WCHAR Strings[]
-;; // BYTE Data[]
-;; // CHAR Pad[]
-;; // DWORD Length;
-;; //
-;;} EVENTLOGRECORD, *PEVENTLOGRECORD;
-;;
-;;#define DBG_CONTINUE ((DWORD )0x00010002L)
-;;#define DBG_TERMINATE_THREAD ((DWORD )0x40010003L)
-;;#define DBG_TERMINATE_PROCESS ((DWORD )0x40010004L)
-;;#define DBG_CONTROL_C ((DWORD )0x40010005L)
-;;#define DBG_CONTROL_BREAK ((DWORD )0x40010008L)
-;;#define DBG_EXCEPTION_NOT_HANDLED ((DWORD )0x80010001L)
-;;//
-;;
-;;// begin_ntddk begin_nthal
-;;//
-;;// Registry Specific Access Rights.
-;;//
-;;
-;;#define KEY_QUERY_VALUE (0x0001)
-;;#define KEY_SET_VALUE (0x0002)
-;;#define KEY_CREATE_SUB_KEY (0x0004)
-;;#define KEY_ENUMERATE_SUB_KEYS (0x0008)
-;;#define KEY_NOTIFY (0x0010)
-;;#define KEY_CREATE_LINK (0x0020)
-;;
-;;#define KEY_READ ((STANDARD_RIGHTS_READ |\
-;; KEY_QUERY_VALUE |\
-;; KEY_ENUMERATE_SUB_KEYS |\
-;; KEY_NOTIFY) \
-;; & \
-;; (~SYNCHRONIZE))
-;;
-;;
-;;#define KEY_WRITE ((STANDARD_RIGHTS_WRITE |\
-;; KEY_SET_VALUE |\
-;; KEY_CREATE_SUB_KEY) \
-;; & \
-;; (~SYNCHRONIZE))
-;;
-;;#define KEY_EXECUTE ((KEY_READ) \
-;; & \
-;; (~SYNCHRONIZE))
-;;
-;;#define KEY_ALL_ACCESS ((STANDARD_RIGHTS_ALL |\
-;; KEY_QUERY_VALUE |\
-;; KEY_SET_VALUE |\
-;; KEY_CREATE_SUB_KEY |\
-;; KEY_ENUMERATE_SUB_KEYS |\
-;; KEY_NOTIFY |\
-;; KEY_CREATE_LINK) \
-;; & \
-;; (~SYNCHRONIZE))
-;;
-;;//
-;;// Open/Create Options
-;;//
-;;
-;;#define REG_OPTION_RESERVED (0x00000000L) // Parameter is reserved
-;;
-;;#define REG_OPTION_NON_VOLATILE (0x00000000L) // Key is preserved
-;; // when system is rebooted
-;;
-;;#define REG_OPTION_VOLATILE (0x00000001L) // Key is not preserved
-;; // when system is rebooted
-;;
-;;#define REG_OPTION_CREATE_LINK (0x00000002L) // Created key is a
-;; // symbolic link
-;;
-;;#define REG_OPTION_BACKUP_RESTORE (0x00000004L) // open for backup or restore
-;; // special access rules
-;; // privilege required
-;;
-;;#define REG_LEGAL_OPTION \
-;; (REG_OPTION_RESERVED |\
-;; REG_OPTION_NON_VOLATILE |\
-;; REG_OPTION_VOLATILE |\
-;; REG_OPTION_CREATE_LINK |\
-;; REG_OPTION_BACKUP_RESTORE)
-;;
-;;//
-;;// Key creation/open disposition
-;;//
-;;
-;;#define REG_CREATED_NEW_KEY (0x00000001L) // New Registry Key created
-;;#define REG_OPENED_EXISTING_KEY (0x00000002L) // Existing Key opened
-;;
-;;//
-;;// Key restore flags
-;;//
-;;
-;;#define REG_WHOLE_HIVE_VOLATILE (0x00000001L) // Restore whole hive volatile
-;;#define REG_REFRESH_HIVE (0x00000002L) // Unwind changes to last flush
-;;
-;;// end_ntddk end_nthal
-;;
-;;//
-;;// Notify filter values
-;;//
-;;#define REG_NOTIFY_CHANGE_NAME (0x00000001L) // Create or delete (child)
-;;#define REG_NOTIFY_CHANGE_ATTRIBUTES (0x00000002L)
-;;#define REG_NOTIFY_CHANGE_LAST_SET (0x00000004L) // time stamp
-;;#define REG_NOTIFY_CHANGE_SECURITY (0x00000008L)
-;;
-;;#define REG_LEGAL_CHANGE_FILTER \
-;; (REG_NOTIFY_CHANGE_NAME |\
-;; REG_NOTIFY_CHANGE_ATTRIBUTES |\
-;; REG_NOTIFY_CHANGE_LAST_SET |\
-;; REG_NOTIFY_CHANGE_SECURITY)
-;;
-;;//
-;;//
-;;// Predefined Value Types.
-;;//
-;;
-;;#define REG_NONE ( 0 ) // No value type
-;;#define REG_SZ ( 1 ) // Unicode nul terminated string
-;;#define REG_EXPAND_SZ ( 2 ) // Unicode nul terminated string
-;; // (with environment variable references)
-;;#define REG_BINARY ( 3 ) // Free form binary
-;;#define REG_DWORD ( 4 ) // 32-bit number
-;;#define REG_DWORD_LITTLE_ENDIAN ( 4 ) // 32-bit number (same as REG_DWORD)
-;;#define REG_DWORD_BIG_ENDIAN ( 5 ) // 32-bit number
-;;#define REG_LINK ( 6 ) // Symbolic Link (unicode)
-;;#define REG_MULTI_SZ ( 7 ) // Multiple Unicode strings
-;;#define REG_RESOURCE_LIST ( 8 ) // Resource list in the resource map
-;;#define REG_FULL_RESOURCE_DESCRIPTOR ( 9 ) // Resource list in the hardware description
-;;
-;;// end_ntddk end_nthal
-;;\f
-;;// begin_ntddk begin_nthal
-;;//
-;;// Service Types (Bit Mask)
-;;//
-;;#define SERVICE_KERNEL_DRIVER 0x00000001
-;;#define SERVICE_FILE_SYSTEM_DRIVER 0x00000002
-;;#define SERVICE_ADAPTER 0x00000004
-;;#define SERVICE_RECOGNIZER_DRIVER 0x00000008
-;;
-;;#define SERVICE_DRIVER (SERVICE_KERNEL_DRIVER | \
-;; SERVICE_FILE_SYSTEM_DRIVER | \
-;; SERVICE_RECOGNIZER_DRIVER)
-;;
-;;#define SERVICE_WIN32_OWN_PROCESS 0x00000010
-;;#define SERVICE_WIN32_SHARE_PROCESS 0x00000020
-;;#define SERVICE_WIN32 (SERVICE_WIN32_OWN_PROCESS | \
-;; SERVICE_WIN32_SHARE_PROCESS)
-;;
-;;#define SERVICE_TYPE_ALL (SERVICE_WIN32 | \
-;; SERVICE_ADAPTER | \
-;; SERVICE_DRIVER)
-;;
-;;//
-;;// Start Type
-;;//
-;;
-;;#define SERVICE_BOOT_START 0x00000000
-;;#define SERVICE_SYSTEM_START 0x00000001
-;;#define SERVICE_AUTO_START 0x00000002
-;;#define SERVICE_DEMAND_START 0x00000003
-;;#define SERVICE_DISABLED 0x00000004
-;;
-;;//
-;;// Error control type
-;;//
-;;#define SERVICE_ERROR_IGNORE 0x00000000
-;;#define SERVICE_ERROR_NORMAL 0x00000001
-;;#define SERVICE_ERROR_SEVERE 0x00000002
-;;#define SERVICE_ERROR_CRITICAL 0x00000003
-;;
-;;//
-;;//
-;;// Define the registry driver node enumerations
-;;//
-;;
-;;typedef enum _CM_SERVICE_NODE_TYPE {
-;; DriverType = SERVICE_KERNEL_DRIVER,
-;; FileSystemType = SERVICE_FILE_SYSTEM_DRIVER,
-;; Win32ServiceOwnProcess = SERVICE_WIN32_OWN_PROCESS,
-;; Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS,
-;; AdapterType = SERVICE_ADAPTER,
-;; RecognizerType = SERVICE_RECOGNIZER_DRIVER
-;;} SERVICE_NODE_TYPE;
-;;
-;;typedef enum _CM_SERVICE_LOAD_TYPE {
-;; BootLoad = SERVICE_BOOT_START,
-;; SystemLoad = SERVICE_SYSTEM_START,
-;; AutoLoad = SERVICE_AUTO_START,
-;; DemandLoad = SERVICE_DEMAND_START,
-;; DisableLoad = SERVICE_DISABLED
-;;} SERVICE_LOAD_TYPE;
-;;
-;;typedef enum _CM_ERROR_CONTROL_TYPE {
-;; IgnoreError = SERVICE_ERROR_IGNORE,
-;; NormalError = SERVICE_ERROR_NORMAL,
-;; SevereError = SERVICE_ERROR_SEVERE,
-;; CriticalError = SERVICE_ERROR_CRITICAL
-;;} SERVICE_ERROR_TYPE;
-;;
-;;
-;;//
-;;// IOCTL_TAPE_ERASE definitions
-;;//
-;;
-;;#define TAPE_ERASE_SHORT 0L
-;;#define TAPE_ERASE_LONG 1L
-;;
-;;typedef struct _TAPE_ERASE {
-;; DWORD Type;
-;; BOOLEAN Immediate;
-;;} TAPE_ERASE, *PTAPE_ERASE;
-;;
-;;//
-;;// IOCTL_TAPE_PREPARE definitions
-;;//
-;;
-;;#define TAPE_LOAD 0L
-;;#define TAPE_UNLOAD 1L
-;;#define TAPE_TENSION 2L
-;;#define TAPE_LOCK 3L
-;;#define TAPE_UNLOCK 4L
-;;#define TAPE_FORMAT 5L
-;;
-;;typedef struct _TAPE_PREPARE {
-;; DWORD Operation;
-;; BOOLEAN Immediate;
-;;} TAPE_PREPARE, *PTAPE_PREPARE;
-;;
-;;//
-;;// IOCTL_TAPE_WRITE_MARKS definitions
-;;//
-;;
-;;#define TAPE_SETMARKS 0L
-;;#define TAPE_FILEMARKS 1L
-;;#define TAPE_SHORT_FILEMARKS 2L
-;;#define TAPE_LONG_FILEMARKS 3L
-;;
-;;typedef struct _TAPE_WRITE_MARKS {
-;; DWORD Type;
-;; DWORD Count;
-;; BOOLEAN Immediate;
-;;} TAPE_WRITE_MARKS, *PTAPE_WRITE_MARKS;
-;;
-;;//
-;;// IOCTL_TAPE_GET_POSITION definitions
-;;//
-;;
-;;#define TAPE_ABSOLUTE_POSITION 0L
-;;#define TAPE_LOGICAL_POSITION 1L
-;;#define TAPE_PSEUDO_LOGICAL_POSITION 2L
-;;
-;;typedef struct _TAPE_GET_POSITION {
-;; DWORD Type;
-;; DWORD Partition;
-;; LARGE_INTEGER Offset;
-;;} TAPE_GET_POSITION, *PTAPE_GET_POSITION;
-;;
-;;//
-;;// IOCTL_TAPE_SET_POSITION definitions
-;;//
-;;
-;;#define TAPE_REWIND 0L
-;;#define TAPE_ABSOLUTE_BLOCK 1L
-;;#define TAPE_LOGICAL_BLOCK 2L
-;;#define TAPE_PSEUDO_LOGICAL_BLOCK 3L
-;;#define TAPE_SPACE_END_OF_DATA 4L
-;;#define TAPE_SPACE_RELATIVE_BLOCKS 5L
-;;#define TAPE_SPACE_FILEMARKS 6L
-;;#define TAPE_SPACE_SEQUENTIAL_FMKS 7L
-;;#define TAPE_SPACE_SETMARKS 8L
-;;#define TAPE_SPACE_SEQUENTIAL_SMKS 9L
-;;
-;;typedef struct _TAPE_SET_POSITION {
-;; DWORD Method;
-;; DWORD Partition;
-;; LARGE_INTEGER Offset;
-;; BOOLEAN Immediate;
-;;} TAPE_SET_POSITION, *PTAPE_SET_POSITION;
-;;
-;;//
-;;// IOCTL_TAPE_GET_DRIVE_PARAMS definitions
-;;//
-;;
-;;//
-;;// Definitions for FeaturesLow parameter
-;;//
-;;
-;;#define TAPE_DRIVE_FIXED 0x00000001
-;;#define TAPE_DRIVE_SELECT 0x00000002
-;;#define TAPE_DRIVE_INITIATOR 0x00000004
-;;
-;;#define TAPE_DRIVE_ERASE_SHORT 0x00000010
-;;#define TAPE_DRIVE_ERASE_LONG 0x00000020
-;;#define TAPE_DRIVE_ERASE_BOP_ONLY 0x00000040
-;;#define TAPE_DRIVE_ERASE_IMMEDIATE 0x00000080
-;;
-;;#define TAPE_DRIVE_TAPE_CAPACITY 0x00000100
-;;#define TAPE_DRIVE_TAPE_REMAINING 0x00000200
-;;#define TAPE_DRIVE_FIXED_BLOCK 0x00000400
-;;#define TAPE_DRIVE_VARIABLE_BLOCK 0x00000800
-;;
-;;#define TAPE_DRIVE_WRITE_PROTECT 0x00001000
-;;#define TAPE_DRIVE_EOT_WZ_SIZE 0x00002000
-;;
-;;#define TAPE_DRIVE_ECC 0x00010000
-;;#define TAPE_DRIVE_COMPRESSION 0x00020000
-;;#define TAPE_DRIVE_PADDING 0x00040000
-;;#define TAPE_DRIVE_REPORT_SMKS 0x00080000
-;;
-;;#define TAPE_DRIVE_GET_ABSOLUTE_BLK 0x00100000
-;;#define TAPE_DRIVE_GET_LOGICAL_BLK 0x00200000
-;;#define TAPE_DRIVE_SET_EOT_WZ_SIZE 0x00400000
-;;
-;;#define TAPE_DRIVE_RESERVED_BIT 0x80000000 //don't use this bit!
-;;// //can't be a low features bit!
-;;// //reserved; high features only
-;;
-;;//
-;;// Definitions for FeaturesHigh parameter
-;;//
-;;
-;;#define TAPE_DRIVE_LOAD_UNLOAD 0x80000001
-;;#define TAPE_DRIVE_TENSION 0x80000002
-;;#define TAPE_DRIVE_LOCK_UNLOCK 0x80000004
-;;#define TAPE_DRIVE_REWIND_IMMEDIATE 0x80000008
-;;
-;;#define TAPE_DRIVE_SET_BLOCK_SIZE 0x80000010
-;;#define TAPE_DRIVE_LOAD_UNLD_IMMED 0x80000020
-;;#define TAPE_DRIVE_TENSION_IMMED 0x80000040
-;;#define TAPE_DRIVE_LOCK_UNLK_IMMED 0x80000080
-;;
-;;#define TAPE_DRIVE_SET_ECC 0x80000100
-;;#define TAPE_DRIVE_SET_COMPRESSION 0x80000200
-;;#define TAPE_DRIVE_SET_PADDING 0x80000400
-;;#define TAPE_DRIVE_SET_REPORT_SMKS 0x80000800
-;;
-;;#define TAPE_DRIVE_ABSOLUTE_BLK 0x80001000
-;;#define TAPE_DRIVE_ABS_BLK_IMMED 0x80002000
-;;#define TAPE_DRIVE_LOGICAL_BLK 0x80004000
-;;#define TAPE_DRIVE_LOG_BLK_IMMED 0x80008000
-;;
-;;#define TAPE_DRIVE_END_OF_DATA 0x80010000
-;;#define TAPE_DRIVE_RELATIVE_BLKS 0x80020000
-;;#define TAPE_DRIVE_FILEMARKS 0x80040000
-;;#define TAPE_DRIVE_SEQUENTIAL_FMKS 0x80080000
-;;
-;;#define TAPE_DRIVE_SETMARKS 0x80100000
-;;#define TAPE_DRIVE_SEQUENTIAL_SMKS 0x80200000
-;;#define TAPE_DRIVE_REVERSE_POSITION 0x80400000
-;;#define TAPE_DRIVE_SPACE_IMMEDIATE 0x80800000
-;;
-;;#define TAPE_DRIVE_WRITE_SETMARKS 0x81000000
-;;#define TAPE_DRIVE_WRITE_FILEMARKS 0x82000000
-;;#define TAPE_DRIVE_WRITE_SHORT_FMKS 0x84000000
-;;#define TAPE_DRIVE_WRITE_LONG_FMKS 0x88000000
-;;
-;;#define TAPE_DRIVE_WRITE_MARK_IMMED 0x90000000
-;;#define TAPE_DRIVE_FORMAT 0xA0000000
-;;#define TAPE_DRIVE_FORMAT_IMMEDIATE 0xC0000000
-;;#define TAPE_DRIVE_HIGH_FEATURES 0x80000000 //mask for high features flag
-;;
-;;typedef struct _TAPE_GET_DRIVE_PARAMETERS {
-;; BOOLEAN ECC;
-;; BOOLEAN Compression;
-;; BOOLEAN DataPadding;
-;; BOOLEAN ReportSetmarks;
-;; DWORD DefaultBlockSize;
-;; DWORD MaximumBlockSize;
-;; DWORD MinimumBlockSize;
-;; DWORD MaximumPartitionCount;
-;; DWORD FeaturesLow;
-;; DWORD FeaturesHigh;
-;; DWORD EOTWarningZoneSize;
-;;} TAPE_GET_DRIVE_PARAMETERS, *PTAPE_GET_DRIVE_PARAMETERS;
-;;
-;;//
-;;// IOCTL_TAPE_SET_DRIVE_PARAMETERS definitions
-;;//
-;;
-;;typedef struct _TAPE_SET_DRIVE_PARAMETERS {
-;; BOOLEAN ECC;
-;; BOOLEAN Compression;
-;; BOOLEAN DataPadding;
-;; BOOLEAN ReportSetmarks;
-;; DWORD EOTWarningZoneSize;
-;;} TAPE_SET_DRIVE_PARAMETERS, *PTAPE_SET_DRIVE_PARAMETERS;
-;;
-;;//
-;;// IOCTL_TAPE_GET_MEDIA_PARAMETERS definitions
-;;//
-;;
-;;typedef struct _TAPE_GET_MEDIA_PARAMETERS {
-;; LARGE_INTEGER Capacity;
-;; LARGE_INTEGER Remaining;
-;; DWORD BlockSize;
-;; DWORD PartitionCount;
-;; BOOLEAN WriteProtected;
-;;} TAPE_GET_MEDIA_PARAMETERS, *PTAPE_GET_MEDIA_PARAMETERS;
-;;
-;;//
-;;// IOCTL_TAPE_SET_MEDIA_PARAMETERS definitions
-;;//
-;;
-;;typedef struct _TAPE_SET_MEDIA_PARAMETERS {
-;; DWORD BlockSize;
-;;} TAPE_SET_MEDIA_PARAMETERS, *PTAPE_SET_MEDIA_PARAMETERS;
-;;
-;;//
-;;// IOCTL_TAPE_CREATE_PARTITION definitions
-;;//
-;;
-;;#define TAPE_FIXED_PARTITIONS 0L
-;;#define TAPE_SELECT_PARTITIONS 1L
-;;#define TAPE_INITIATOR_PARTITIONS 2L
-;;
-;;typedef struct _TAPE_CREATE_PARTITION {
-;; DWORD Method;
-;; DWORD Count;
-;; DWORD Size;
-;;} TAPE_CREATE_PARTITION, *PTAPE_CREATE_PARTITION;
-;;
-;;
-;;#ifdef __cplusplus
-;;}
-;;#endif
-;;
-;;#endif /* _WINNT_ */
-;;
+#| -*-Scheme-*-
+
+$Id: winnt.scm,v 1.2 1999/01/09 03:37:25 cph Exp $
+
+Copyright (c) 1993, 1999 Massachusetts Institute of Technology
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+|#
+
+(define-integrable APPLICATION_ERROR_MASK #x20000000)
\ No newline at end of file
-;;/*++ BUILD Version: 0003 // Increment this if a change has global effects
-;;
-;;Copyright (c) 1985-91, Microsoft Corporation
-;;
-;;Module Name:
-;;
-;; winuser.h
-;;
-;;Abstract:
-;;
-;; Procedure declarations, constant definitions and macros for the User
-;; component.
-;;
-;;--*/
-;;
-;;#ifndef _WINUSER_
-;;#define _WINUSER_
-;;
-;;#ifdef __cplusplus
-;;extern "C" {
-;;#endif /* __cplusplus */
-;;
-;;#ifndef WINVER
-;;#define WINVER 0x0314 // version 3.2
-;;#endif /* !WINVER */
-;;
-;;#include "stdarg.h"
-;;
-;;#ifndef NOUSER
-;;
-;;typedef HANDLE HDWP;
-;;typedef VOID MENUTEMPLATEA;
-;;typedef VOID MENUTEMPLATEW;
-;;#ifdef UNICODE
-;;typedef MENUTEMPLATEW MENUTEMPLATE;
-;;#else
-;;typedef MENUTEMPLATEA MENUTEMPLATE;
-;;#endif // UNICODE
-;;typedef PVOID LPMENUTEMPLATEA;
-;;typedef PVOID LPMENUTEMPLATEW;
-;;#ifdef UNICODE
-;;typedef LPMENUTEMPLATEW LPMENUTEMPLATE;
-;;#else
-;;typedef LPMENUTEMPLATEA LPMENUTEMPLATE;
-;;#endif // UNICODE
-;;
-;;typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
-;;#ifdef STRICT
-;;typedef BOOL (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM);
-;;typedef VOID (CALLBACK* TIMERPROC)(HWND, UINT, UINT, DWORD);
-;;typedef BOOL (CALLBACK* GRAYSTRINGPROC)(HDC, LPARAM, int);
-;;typedef BOOL (CALLBACK* PROPENUMPROC)(HWND, LPCSTR, HANDLE);
-;;typedef BOOL (CALLBACK* PROPENUMPROCEX)(HWND, LPTSTR, HANDLE, DWORD);
-;;typedef BOOL (CALLBACK* WNDENUMPROC)(HWND, LPARAM);
-;;typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam);
-;;typedef int (CALLBACK* EDITWORDBREAKPROC)(LPSTR lpch, int ichCurrent, int cch, int code);
-;;typedef VOID (CALLBACK* SENDASYNCPROC)(HWND, UINT, DWORD, LRESULT);
-;;#else /* !STRICT */
-;;typedef FARPROC DLGPROC;
-;;typedef FARPROC TIMERPROC;
-;;typedef FARPROC GRAYSTRINGPROC;
-;;typedef FARPROC PROPENUMPROC;
-;;typedef FARPROC PROPENUMPROCEX;
-;;typedef FARPROC WNDENUMPROC;
-;;typedef FARPROC HOOKPROC;
-;;typedef FARPROC EDITWORDBREAKPROC;
-;;typedef FARPROC SENDASYNCPROC;
-;;#endif /* !STRICT */
-;;
-;;#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
-;;#define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i)))
-;;#ifdef UNICODE
-;;#define MAKEINTRESOURCE MAKEINTRESOURCEW
-;;#else
-;;#define MAKEINTRESOURCE MAKEINTRESOURCEA
-;;#endif // !UNICODE
-;;
-;;#ifndef NORESOURCE
-;;
-;;/*
-;; * Predefined Resource Types
-;; */
+#| -*-Scheme-*-
+
+$Id: winuser.scm,v 1.2 1999/01/09 03:37:06 cph Exp $
+
+Copyright (c) 1993, 1999 Massachusetts Institute of Technology
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+|#
+
+;;Predefined Resource Types
(define-integrable RT_CURSOR 1)
(define-integrable RT_BITMAP 2)
(define-integrable RT_ICON 3)
(define-integrable RT_GROUP_ICON (+ RT_ICON DIFFERENCE))
(define-integrable RT_VERSION 16)
(define-integrable RT_DLGINCLUDE 17)
-;;
-;;#endif /* !NORESOURCE */
-;;
-;;int WINAPI wvsprintfA(LPSTR, LPCSTR, CONST VOID *arglist);
-;;int WINAPI wvsprintfW(LPWSTR, LPCWSTR, CONST VOID *arglist);
-;;#ifdef UNICODE
-;;#define wvsprintf wvsprintfW
-;;#else
-;;#define wvsprintf wvsprintfA
-;;#endif // !UNICODE
-;;int WINAPI wsprintfA(LPSTR, LPCSTR, ...);
-;;int WINAPI wsprintfW(LPWSTR, LPCWSTR, ...);
-;;#ifdef UNICODE
-;;#define wsprintf wsprintfW
-;;#else
-;;#define wsprintf wsprintfA
-;;#endif // !UNICODE
-;;
-;;#ifndef NOSCROLL
-;;
-;;/*
-;; * Scroll Bar Constants
-;; */
+
+;;Scroll Bar Constants
(define-integrable SB_HORZ 0)
(define-integrable SB_VERT 1)
(define-integrable SB_CTL 2)
(define-integrable SB_BOTH 3)
-;;/*
-;; * Scroll Bar Commands
-;; */
+;;Scroll Bar Commands
(define-integrable SB_LINEUP 0)
(define-integrable SB_LINELEFT 0)
(define-integrable SB_LINEDOWN 1)
(define-integrable SB_RIGHT 7)
(define-integrable SB_ENDSCROLL 8)
-;;#endif /* !NOSCROLL */
-;;
-;;#ifndef NOSHOWWINDOW
-;;
-;;/*
-;; * ShowWindow() Commands
-;; */
+;;ShowWindow Commands
(define-integrable SW_HIDE 0)
(define-integrable SW_SHOWNORMAL 1)
(define-integrable SW_NORMAL 1)
(define-integrable SW_SHOWDEFAULT 10)
(define-integrable SW_MAX 10)
-;;/*
-;; * Old ShowWindow() Commands
-;; */
+;;Old ShowWindow Commands
(define-integrable HIDE_WINDOW 0)
(define-integrable SHOW_OPENWINDOW 1)
(define-integrable SHOW_ICONWINDOW 2)
(define-integrable SHOW_FULLSCREEN 3)
(define-integrable SHOW_OPENNOACTIVATE 4)
-;;/*
-;; * Identifiers for the WM_SHOWWINDOW message
-;; */
+;;Identifiers for the WM_SHOWWINDOW message
(define-integrable SW_PARENTCLOSING 1)
(define-integrable SW_OTHERZOOM 2)
(define-integrable SW_PARENTOPENING 3)
(define-integrable SW_OTHERUNZOOM 4)
-;;#endif /* !NOSHOWWINDOW */
-;;
-;;/*
-;; * WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags
-;; */
+;;WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags
(define-integrable KF_EXTENDED #x0100)
(define-integrable KF_DLGMODE #x0800)
(define-integrable KF_MENUMODE #x1000)
(define-integrable KF_ALTDOWN #x2000)
(define-integrable KF_REPEAT #x4000)
(define-integrable KF_UP #x8000)
-;;
-;;#ifndef NOVIRTUALKEYCODES
-;;
-;;/*
-;; * Virtual Keys, Standard Set
-;; */
+
+;;Virtual Keys, Standard Set
(define-integrable VK_LBUTTON #x01)
(define-integrable VK_RBUTTON #x02)
(define-integrable VK_CANCEL #x03)
-(define-integrable VK_MBUTTON #x04) ; /* NOT contiguous with L & RBUTTON */
+(define-integrable VK_MBUTTON #x04) ;NOT contiguous with L & RBUTTON
(define-integrable VK_BACK #x08)
(define-integrable VK_TAB #x09)
(define-integrable VK_DELETE #x2E)
(define-integrable VK_HELP #x2F)
-;;/* VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */
-;;/* VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */
+;;VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39)
+;;VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A)
(define-integrable VK_NUMPAD0 #x60)
(define-integrable VK_NUMPAD1 #x61)
(define-integrable VK_NUMLOCK #x90)
(define-integrable VK_SCROLL #x91)
-;;/*
-;; * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
-;; * Used only as parameters to GetAsyncKeyState() and GetKeyState().
-;; * No other API or message will distinguish left and right keys in this way.
-;; */
+;; VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
+;; Used only as parameters to GetAsyncKeyState and GetKeyState.
+;; No other API or message will distinguish left and right keys in this way.
(define-integrable VK_LSHIFT #xA0)
(define-integrable VK_RSHIFT #xA1)
(define-integrable VK_LCONTROL #xA2)
(define-integrable VK_PA1 #xFD)
(define-integrable VK_OEM_CLEAR #xFE)
-;;#endif /* !NOVIRTUALKEYCODES */
-;;
-;;#ifndef NOWH
-;;
-;;/*
-;; * SetWindowsHook() codes
-;; */
+;; SetWindowsHook codes
(define-integrable WH_MIN -1)
(define-integrable WH_MSGFILTER -1)
(define-integrable WH_JOURNALRECORD 0)
(define-integrable WH_FOREGROUNDIDLE 11)
(define-integrable WH_MAX 11)
-;;/*
;; * Hook Codes
-;; */
(define-integrable HC_ACTION 0)
(define-integrable HC_GETNEXT 1)
(define-integrable HC_SKIP 2)
(define-integrable HC_SYSMODALON 4)
(define-integrable HC_SYSMODALOFF 5)
-;;/*
;; * CBT Hook Codes
-;; */
(define-integrable HCBT_MOVESIZE 0)
(define-integrable HCBT_MINMAX 1)
(define-integrable HCBT_QS 2)
(define-integrable HCBT_SYSCOMMAND 8)
(define-integrable HCBT_SETFOCUS 9)
-;;/*
-;; * HCBT_CREATEWND parameters pointed to by lParam
-;; */
-;;typedef struct tagCBT_CREATEWNDA
-;;{
-;; struct tagCREATESTRUCTA *lpcs;
-;; HWND hwndInsertAfter;
-;;} CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
-;;/*
-;; * HCBT_CREATEWND parameters pointed to by lParam
-;; */
-;;typedef struct tagCBT_CREATEWNDW
-;;{
-;; struct tagCREATESTRUCTW *lpcs;
-;; HWND hwndInsertAfter;
-;;} CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
-;;#ifdef UNICODE
-;;typedef CBT_CREATEWNDW CBT_CREATEWND;
-;;typedef LPCBT_CREATEWNDW LPCBT_CREATEWND;
-;;#else
-;;typedef CBT_CREATEWNDA CBT_CREATEWND;
-;;typedef LPCBT_CREATEWNDA LPCBT_CREATEWND;
-;;#endif // UNICODE
-;;
-;;/*
-;; * HCBT_ACTIVATE structure pointed to by lParam
-;; */
-;;typedef struct tagCBTACTIVATESTRUCT
-;;{
-;; BOOL fMouse;
-;; HWND hWndActive;
-;;} CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT;
-;;
-;;/*
;; * WH_MSGFILTER Filter Proc Codes
-;; */
(define-integrable MSGF_DIALOGBOX 0)
(define-integrable MSGF_MESSAGEBOX 1)
(define-integrable MSGF_MENU 2)
(define-integrable MSGF_MAX 8)
(define-integrable MSGF_USER 4096)
-;;/*
;; * Shell support
-;; */
(define-integrable HSHELL_WINDOWCREATED 1)
(define-integrable HSHELL_WINDOWDESTROYED 2)
(define-integrable HSHELL_ACTIVATESHELLWINDOW 3)
-;;/*
;; * Window Manager Hook Codes
-;; */
(define-integrable WC_INIT 1)
(define-integrable WC_SWP 2)
(define-integrable WC_DEFWINDOWPROC 3)
(define-integrable WC_SIZE 6)
(define-integrable WC_DRAWCAPTION 7)
-;;/*
-;; * Message Structure used in Journaling
-;; */
-;;typedef struct tagEVENTMSG {
-;; UINT message;
-;; UINT paramL;
-;; UINT paramH;
-;; DWORD time;
-;; HWND hwnd;
-;;} EVENTMSG, *PEVENTMSGMSG, NEAR *NPEVENTMSGMSG, FAR *LPEVENTMSGMSG;
-;;
-;;typedef struct tagEVENTMSG *PEVENTMSG, NEAR *NPEVENTMSG, FAR *LPEVENTMSG;
-;;
-;;/*
-;; * Message structure used by WH_CALLWNDPROC
-;; */
-;;typedef struct tagCWPSTRUCT {
-;; LPARAM lParam;
-;; WPARAM wParam;
-;; DWORD message;
-;; HWND hwnd;
-;;} CWPSTRUCT, *PCWPSTRUCT, NEAR *NPCWPSTRUCT, FAR *LPCWPSTRUCT;
-;;
-;;/*
-;; * Structure used by WH_DEBUG
-;; */
-;;typedef struct tagDEBUGHOOKINFO
-;;{
-;; DWORD idThread;
-;; LPARAM reserved;
-;; LPARAM lParam;
-;; WPARAM wParam;
-;; int code;
-;;} DEBUGHOOKINFO, *PDEBUGHOOKINFO, NEAR *NPDEBUGHOOKINFO, FAR* LPDEBUGHOOKINFO;
-;;
-;;typedef struct tagMOUSEHOOKSTRUCT {
-;; POINT pt;
-;; HWND hwnd;
-;; UINT wHitTestCode;
-;; DWORD dwExtraInfo;
-;;} MOUSEHOOKSTRUCT, FAR *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT;
-;;#endif /* !NOWH */
-;;
-;;/*
;; * Keyboard Layout API
-;; */
(define-integrable HKL_PREV 0)
(define-integrable HKL_NEXT 1)
(define-integrable KLF_UNLOADPREVIOUS #x00000004)
(define-integrable KLF_REORDER #x00000008)
-;;/*
;; * Size of KeyboardLayoutName (number of characters), including nul terminator
-;; */
(define-integrable KL_NAMELENGTH 9)
-;;HKL WINAPI LoadKeyboardLayoutA(LPCSTR pwszKLID, UINT Flags);
-;;HKL WINAPI LoadKeyboardLayoutW(LPCWSTR pwszKLID, UINT Flags);
-;;#ifdef UNICODE
-;;#define LoadKeyboardLayout LoadKeyboardLayoutW
-;;#else
-;;#define LoadKeyboardLayout LoadKeyboardLayoutA
-;;#endif // !UNICODE
-;;BOOL WINAPI ActivateKeyboardLayout(HKL hkl, UINT Flags);
-;;BOOL WINAPI UnloadKeyboardLayout(HKL hkl);
-;;BOOL WINAPI GetKeyboardLayoutNameA(LPSTR pwszKLID);
-;;BOOL WINAPI GetKeyboardLayoutNameW(LPWSTR pwszKLID);
-;;#ifdef UNICODE
-;;#define GetKeyboardLayoutName GetKeyboardLayoutNameW
-;;#else
-;;#define GetKeyboardLayoutName GetKeyboardLayoutNameA
-;;#endif // !UNICODE
-;;
-;;#ifndef NODESKTOP
-;;/*
;; * Desktop-specific access flags
-;; */
(define-integrable DESKTOP_ENUMWINDOWS #x0001)
(define-integrable DESKTOP_CREATEWINDOW #x0002)
(define-integrable DESKTOP_CREATEMENU #x0004)
(define-integrable DESKTOP_JOURNALPLAYBACK #x0020)
(define-integrable DESKTOP_ENUMERATE #x0040)
-;;HDESK
-;;WINAPI
-;;GetThreadDesktop(
-;; DWORD);
-;;
-;;#endif /* !NODESKTOP */
-;;
-;;#ifndef NOWINDOWSTATION
-;;/*
;; * Windowstation-specific access flags
-;; */
(define-integrable WINSTA_ENUMDESKTOPS #x0001)
(define-integrable WINSTA_READATTRIBUTES #x0002)
(define-integrable WINSTA_ACCESSCLIPBOARD #x0004)
(define-integrable WINSTA_ENUMERATE #x0100)
(define-integrable WINSTA_READSCREEN #x0200)
-;;HWINSTA
-;;WINAPI
-;;GetProcessWindowStation(
-;; VOID);
-;;#endif /* !NOWINDOWSTATION */
-;;
-;;#ifndef NOSECURITY
-;;/*
;; * window-specific access flags
-;; */
(define-integrable WIN_ACCESSWINDOW #x0001)
-;;/*
;; * menu-specific access flags
-;; */
(define-integrable MENU_ACCESSMENU #x0001)
-;;BOOL
-;;WINAPI
-;;SetUserObjectSecurity(
-;; HANDLE hObj,
-;; PSECURITY_INFORMATION pSIRequested,
-;; PSECURITY_DESCRIPTOR pSID);
-;;
-;;BOOL
-;;WINAPI
-;;GetUserObjectSecurity(
-;; HANDLE hObj,
-;; PSECURITY_INFORMATION pSIRequested,
-;; PSECURITY_DESCRIPTOR pSID,
-;; DWORD nLength,
-;; LPDWORD lpnLengthNeeded);
-;;
-;;#endif /* !NOSECURITY */
-;;
-;;typedef struct tagWNDCLASSA {
-;; UINT style;
-;; WNDPROC lpfnWndProc;
-;; int cbClsExtra;
-;; int cbWndExtra;
-;; HINSTANCE hInstance;
-;; HICON hIcon;
-;; HCURSOR hCursor;
-;; HBRUSH hbrBackground;
-;; LPCSTR lpszMenuName;
-;; LPCSTR lpszClassName;
-;;} WNDCLASSA, *PWNDCLASSA, NEAR *NPWNDCLASSA, FAR *LPWNDCLASSA;
-;;typedef struct tagWNDCLASSW {
-;; UINT style;
-;; WNDPROC lpfnWndProc;
-;; int cbClsExtra;
-;; int cbWndExtra;
-;; HINSTANCE hInstance;
-;; HICON hIcon;
-;; HCURSOR hCursor;
-;; HBRUSH hbrBackground;
-;; LPCWSTR lpszMenuName;
-;; LPCWSTR lpszClassName;
-;;} WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW;
-;;#ifdef UNICODE
-;;typedef WNDCLASSW WNDCLASS;
-;;typedef PWNDCLASSW PWNDCLASS;
-;;typedef NPWNDCLASSW NPWNDCLASS;
-;;typedef LPWNDCLASSW LPWNDCLASS;
-;;#else
-;;typedef WNDCLASSA WNDCLASS;
-;;typedef PWNDCLASSA PWNDCLASS;
-;;typedef NPWNDCLASSA NPWNDCLASS;
-;;typedef LPWNDCLASSA LPWNDCLASS;
-;;#endif // UNICODE
-
-
-;;#ifndef NOMSG
-;;
-;;/*
-;; * Message structure
-;; */
-;;typedef struct tagMSG {
-;; HWND hwnd;
-;; UINT message;
-;; WPARAM wParam;
-;; LPARAM lParam;
-;; DWORD time;
-;; POINT pt;
-;;} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;
-;;
-;;#define POINTSTOPOINT(pt,pts) {(pt).x = (SHORT)LOWORD(pts); \
-;; (pt).y = (SHORT)HIWORD(pts);}
-;;#define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x), (short)((pt).y)))
-;;#define MAKEWPARAM(l, h) (WPARAM)MAKELONG(l, h)
-;;#define MAKELPARAM(l, h) (LPARAM)MAKELONG(l, h)
-;;#define MAKELRESULT(l, h) (LRESULT)MAKELONG(l, h)
-
-
-;;#endif /* !NOMSG */
-;;
-;;#ifndef NOWINOFFSETS
-;;
-;;/*
-;; * Window field offsets for GetWindowLong()
-;; */
+;; * Window field offsets for GetWindowLong
(define-integrable GWL_WNDPROC -4)
(define-integrable GWL_HINSTANCE -6)
(define-integrable GWL_HWNDPARENT -8)
(define-integrable GWL_USERDATA -21)
(define-integrable GWL_ID -12)
-;;/*
-;; * Class field offsets for GetClassLong()
-;; */
+;; * Class field offsets for GetClassLong
(define-integrable GCL_MENUNAME -8)
(define-integrable GCL_HBRBACKGROUND -10)
(define-integrable GCL_HCURSOR -12)
(define-integrable GCL_STYLE -26)
-;;#endif /* !NOWINOFFSETS */
-;;
-;;#ifndef NOWINMESSAGES
-;;
-;;/*
;; * Window Messages
-;; */
(define-integrable WM_NULL #x0000)
(define-integrable WM_CREATE #x0001)
(define-integrable WM_SIZE #x0005)
(define-integrable WM_ACTIVATE #x0006)
-;;/*
;; * WM_ACTIVATE state values
-;; */
(define-integrable WA_INACTIVE 0)
(define-integrable WA_ACTIVE 1)
(define-integrable WA_CLICKACTIVE 2)
(define-integrable WM_QUEUESYNC #x0023)
(define-integrable WM_GETMINMAXINFO #x0024)
-;;/*
;; * STRUCT POINTED TO BY WM_GETMINMAXINFO LPARAM
-;; */
-;;TYPEDEF STRUCT TAGMINMAXINFO {
-;; POINT PTRESERVED;
-;; POINT PTMAXSIZE;
-;; POINT PTMAXPOSITION;
-;; POINT PTMINTRACKSIZE;
-;; POINT PTMAXTRACKSIZE;
-;;} MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO;
(define-integrable WM_PAINTICON #x0026)
(define-integrable WM_ICONERASEBKGND #x0027)
(define-integrable WM_WINDOWPOSCHANGED #x0047)
(define-integrable WM_POWER #x0048)
-;;/*
+
;; * WPARAM FOR WM_POWER WINDOW MESSAGE AND DRV_POWER DRIVER NOTIFICATION
-;; */
(define-integrable PWR_OK 1)
(define-integrable PWR_FAIL -1)
(define-integrable PWR_SUSPENDREQUEST 1)
(define-integrable WM_COPYDATA #x004A)
(define-integrable WM_CANCELJOURNAL #x004B)
-;;/*
-;; * LPARAM OF WM_COPYDATA MESSAGE POINTS TO...
-;; */
-;;TYPEDEF STRUCT TAGCOPYDATASTRUCT {
-;; DWORD DWDATA;
-;; DWORD CBDATA;
-;; PVOID LPDATA;
-;;} COPYDATASTRUCT, *PCOPYDATASTRUCT;
(define-integrable WM_NCCREATE #x0081)
(define-integrable WM_NCDESTROY #x0082)
(define-integrable WM_DROPFILES #x0233)
(define-integrable WM_MDIREFRESHMENU #x0234)
-
(define-integrable WM_CUT #x0300)
(define-integrable WM_COPY #x0301)
(define-integrable WM_PASTE #x0302)
-;;/*
;; * NOTE: ALL MESSAGE NUMBERS BELOW 0X0400 ARE RESERVED.
-;; *
+
;; * PRIVATE WINDOW MESSAGES START HERE:
-;; */
+
(define-integrable WM_USER #x0400)
-;;#IFNDEF NONCMESSAGES
-;;
-;;/*
;; * WM_SYNCTASK COMMANDS
-;; */
(define-integrable ST_BEGINSWP 0)
(define-integrable ST_ENDSWP 1)
-;;/*
;; * WM_NCHITTEST AND MOUSEHOOKSTRUCT MOUSE POSITION CODES
-;; */
(define-integrable HTERROR -2)
(define-integrable HTTRANSPARENT -1)
(define-integrable HTNOWHERE 0)
(define-integrable HTSIZEFIRST 10)
(define-integrable HTSIZELAST 17)
-;;/*
;; * SENDMESSAGETIMEOUT VALUES
-;; */
(define-integrable SMTO_NORMAL #x0000)
(define-integrable SMTO_BLOCK #x0001)
(define-integrable SMTO_ABORTIFHUNG #x0002)
-;;#ENDIF /* !NONCMESSAGES */
-;;
-;;/*
;; * WM_MOUSEACTIVATE RETURN CODES
-;; */
(define-integrable MA_ACTIVATE 1)
(define-integrable MA_ACTIVATEANDEAT 2)
(define-integrable MA_NOACTIVATE 3)
(define-integrable MA_NOACTIVATEANDEAT 4)
-;;UINT
-;;WINAPI
-;;REGISTERWINDOWMESSAGEA(
-;; LPCSTR LPSTRING);
-;;UINT
-;;WINAPI
-;;REGISTERWINDOWMESSAGEW(
-;; LPCWSTR LPSTRING);
-;;#IFDEF UNICODE
-;;#DEFINE REGISTERWINDOWMESSAGE REGISTERWINDOWMESSAGEW
-;;#ELSE
-;;#DEFINE REGISTERWINDOWMESSAGE REGISTERWINDOWMESSAGEA
-;;#ENDIF // !UNICODE
-;;
-;;/*
;; * WM_SIZE MESSAGE WPARAM VALUES
-;; */
(define-integrable SIZE_RESTORED 0)
(define-integrable SIZE_MINIMIZED 1)
(define-integrable SIZE_MAXIMIZED 2)
(define-integrable SIZE_MAXSHOW 3)
(define-integrable SIZE_MAXHIDE 4)
-;;/*
;; * OBSOLETE CONSTANT NAMES
-;; */
(define-integrable SIZENORMAL 0)
(define-integrable SIZEICONIC 1)
(define-integrable SIZEFULLSCREEN 2)
(define-integrable SIZEZOOMSHOW 3)
(define-integrable SIZEZOOMHIDE 4)
-;;/*
-;; * WM_WINDOWPOSCHANGING/CHANGED STRUCT POINTED TO BY LPARAM
-;; */
-;;TYPEDEF STRUCT TAGWINDOWPOS {
-;; HWND HWND;
-;; HWND HWNDINSERTAFTER;
-;; INT X;
-;; INT Y;
-;; INT CX;
-;; INT CY;
-;; UINT FLAGS;
-;;} WINDOWPOS, *LPWINDOWPOS, *PWINDOWPOS;
-;;
-;;/*
-;; * WM_NCCALCSIZE PARAMETER STRUCTURE
-;; */
-;;TYPEDEF STRUCT TAGNCCALCSIZE_PARAMS {
-;; RECT RGRC[3];
-;; PWINDOWPOS LPPOS;
-;;} NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
-;;
-;;/*
;; * WM_NCCALCSIZE "WINDOW VALID RECT" RETURN VALUES
-;; */
(define-integrable WVR_ALIGNTOP #x0010)
(define-integrable WVR_ALIGNLEFT #x0020)
(define-integrable WVR_ALIGNBOTTOM #x0040)
WVR_VREDRAW))
(define-integrable WVR_VALIDRECTS #x0400)
-
-;;#IFNDEF NOKEYSTATES
-;;
-;;/*
;; * KEY STATE MASKS FOR MOUSE MESSAGES
-;; */
(define-integrable MK_LBUTTON #x0001)
(define-integrable MK_RBUTTON #x0002)
(define-integrable MK_SHIFT #x0004)
(define-integrable MK_CONTROL #x0008)
(define-integrable MK_MBUTTON #x0010)
-;;
-;;#ENDIF /* !NOKEYSTATES */
-;;
-;;#ENDIF /* !NOWINMESSAGES */
-;;
-;;#IFNDEF NOWINSTYLES
-;;
-;;/*
+
;; * WINDOW STYLES
-;; */
(define-integrable WS_OVERLAPPED #x00000000)
(define-integrable WS_POPUP #x80000000)
(define-integrable WS_CHILD #x40000000)
(define-integrable WS_SIZEBOX WS_THICKFRAME)
(define-integrable WS_TILEDWINDOW (+ WS_OVERLAPPED WS_CAPTION WS_SYSMENU WS_THICKFRAME WS_MINIMIZEBOX WS_MAXIMIZEBOX))
-;;/*
;; * COMMON WINDOW STYLES
-;; */
(define-integrable WS_OVERLAPPEDWINDOW (+ WS_OVERLAPPED
WS_CAPTION
WS_SYSMENU
(define-integrable WS_CHILDWINDOW WS_CHILD)
-;;/*
;; * EXTENDED WINDOW STYLES
-;; */
(define-integrable WS_EX_DLGMODALFRAME #x00000001)
(define-integrable WS_EX_NOPARENTNOTIFY #x00000004)
(define-integrable WS_EX_TOPMOST #x00000008)
(define-integrable WS_EX_ACCEPTFILES #x00000010)
(define-integrable WS_EX_TRANSPARENT #x00000020)
-;;/*
;; * CLASS STYLES
-;; */
(define-integrable CS_VREDRAW #x0001)
(define-integrable CS_HREDRAW #x0002)
(define-integrable CS_KEYCVTWINDOW #x0004)
(define-integrable CS_BYTEALIGNWINDOW #X2000)
(define-integrable CS_GLOBALCLASS #X4000)
-;;#ENDIF /* !NOWINSTYLES */
-;;
-;;#IFNDEF NOCLIPBOARD
-;;
-;;/*
;; * PREDEFINED CLIPBOARD FORMATS
-;; */
(define-integrable CF_TEXT 1)
(define-integrable CF_BITMAP 2)
(define-integrable CF_METAFILEPICT 3)
(define-integrable CF_DSPMETAFILEPICT #x0083)
(define-integrable CF_DSPENHMETAFILE #x008E)
-;;/*
-;; * "PRIVATE" FORMATS DON'T GET GLOBALFREE()'D
-;; */
+;; * "PRIVATE" FORMATS DON'T GET GLOBALFREE'D
(define-integrable CF_PRIVATEFIRST #x0200)
(define-integrable CF_PRIVATELAST #x02FF)
-;;/*
-;; * "GDIOBJ" FORMATS DO GET DELETEOBJECT()'D
-;; */
+;; * "GDIOBJ" FORMATS DO GET DELETEOBJECT'D
(define-integrable CF_GDIOBJFIRST #x0300)
(define-integrable CF_GDIOBJLAST #x03FF)
-;;#ENDIF /* !NOCLIPBOARD */
-;;
-;;/*
;; * DEFINES FOR THE FVIRT FIELD OF THE ACCELERATOR TABLE STRUCTURE.
-;; */
(define-integrable FVIRTKEY #t)
(define-integrable FNOINVERT #x02)
(define-integrable FSHIFT #x04)
(define-integrable FCONTROL #x08)
(define-integrable FALT #X10)
-;;TYPEDEF STRUCT TAGACCEL {
-;; BYTE FVIRT; /* ALSO CALLED THE FLAGS FIELD */
-;; WORD KEY;
-;; WORD CMD;
-;;} ACCEL, *LPACCEL;
-;;
-;;TYPEDEF STRUCT TAGPAINTSTRUCT {
-;; HDC HDC;
-;; BOOL FERASE;
-;; RECT RCPAINT;
-;; BOOL FRESTORE;
-;; BOOL FINCUPDATE;
-;; BYTE RGBRESERVED[32];
-;;} PAINTSTRUCT, *PPAINTSTRUCT, *NPPAINTSTRUCT, *LPPAINTSTRUCT;
-;;
-;;TYPEDEF STRUCT TAGCREATESTRUCTA {
-;; LPVOID LPCREATEPARAMS;
-;; HINSTANCE HINSTANCE;
-;; HMENU HMENU;
-;; HWND HWNDPARENT;
-;; INT CY;
-;; INT CX;
-;; INT Y;
-;; INT X;
-;; LONG STYLE;
-;; LPCSTR LPSZNAME;
-;; LPCSTR LPSZCLASS;
-;; DWORD DWEXSTYLE;
-;;} CREATESTRUCTA, *LPCREATESTRUCTA;
-;;TYPEDEF STRUCT TAGCREATESTRUCTW {
-;; LPVOID LPCREATEPARAMS;
-;; HINSTANCE HINSTANCE;
-;; HMENU HMENU;
-;; HWND HWNDPARENT;
-;; INT CY;
-;; INT CX;
-;; INT Y;
-;; INT X;
-;; LONG STYLE;
-;; LPCWSTR LPSZNAME;
-;; LPCWSTR LPSZCLASS;
-;; DWORD DWEXSTYLE;
-;;} CREATESTRUCTW, *LPCREATESTRUCTW;
-;;#IFDEF UNICODE
-;;TYPEDEF CREATESTRUCTW CREATESTRUCT;
-;;TYPEDEF LPCREATESTRUCTW LPCREATESTRUCT;
-;;#ELSE
-;;TYPEDEF CREATESTRUCTA CREATESTRUCT;
-;;TYPEDEF LPCREATESTRUCTA LPCREATESTRUCT;
-;;#ENDIF // UNICODE
-
-;;TYPEDEF STRUCT TAGWINDOWPLACEMENT {
-;; UINT LENGTH;
-;; UINT FLAGS;
-;; UINT SHOWCMD;
-;; POINT PTMINPOSITION;
-;; POINT PTMAXPOSITION;
-;; RECT RCNORMALPOSITION;
-;;} WINDOWPLACEMENT;
-;;TYPEDEF WINDOWPLACEMENT *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT;
-
(define-integrable WPF_SETMINPOSITION #x0001)
(define-integrable WPF_RESTORETOMAXIMIZED #x0002)
-;;/*
;; * OWNER DRAW CONTROL TYPES
-;; */
(define-integrable ODT_MENU 1)
(define-integrable ODT_LISTBOX 2)
(define-integrable ODT_COMBOBOX 3)
(define-integrable ODT_BUTTON 4)
-;;/*
;; * OWNER DRAW ACTIONS
-;; */
(define-integrable ODA_DRAWENTIRE #x0001)
(define-integrable ODA_SELECT #x0002)
(define-integrable ODA_FOCUS #x0004)
-;;/*
;; * OWNER DRAW STATE
-;; */
(define-integrable ODS_SELECTED #x0001)
(define-integrable ODS_GRAYED #x0002)
(define-integrable ODS_DISABLED #x0004)
(define-integrable ODS_CHECKED #x0008)
(define-integrable ODS_FOCUS #x0010)
-;;/*
-;; * MEASUREITEMSTRUCT FOR OWNERDRAW
-;; */
-;;TYPEDEF STRUCT TAGMEASUREITEMSTRUCT {
-;; UINT CTLTYPE;
-;; UINT CTLID;
-;; UINT ITEMID;
-;; UINT ITEMWIDTH;
-;; UINT ITEMHEIGHT;
-;; DWORD ITEMDATA;
-;;} MEASUREITEMSTRUCT, NEAR *PMEASUREITEMSTRUCT, FAR *LPMEASUREITEMSTRUCT;
-
-
-
-;;/*
-;; * DRAWITEMSTRUCT FOR OWNERDRAW
-;; */
-;;TYPEDEF STRUCT TAGDRAWITEMSTRUCT {
-;; UINT CTLTYPE;
-;; UINT CTLID;
-;; UINT ITEMID;
-;; UINT ITEMACTION;
-;; UINT ITEMSTATE;
-;; HWND HWNDITEM;
-;; HDC HDC;
-;; RECT RCITEM;
-;; DWORD ITEMDATA;
-;;} DRAWITEMSTRUCT, NEAR *PDRAWITEMSTRUCT, FAR *LPDRAWITEMSTRUCT;
-;;
-;;/*
-;; * DELETEITEMSTRUCT FOR OWNERDRAW
-;; */
-;;TYPEDEF STRUCT TAGDELETEITEMSTRUCT {
-;; UINT CTLTYPE;
-;; UINT CTLID;
-;; UINT ITEMID;
-;; HWND HWNDITEM;
-;; UINT ITEMDATA;
-;;} DELETEITEMSTRUCT, NEAR *PDELETEITEMSTRUCT, FAR *LPDELETEITEMSTRUCT;
-;;
-;;/*
-;; * COMPAREITEMSTUCT FOR OWNERDRAW SORTING
-;; */
-;;TYPEDEF STRUCT TAGCOMPAREITEMSTRUCT {
-;; UINT CTLTYPE;
-;; UINT CTLID;
-;; HWND HWNDITEM;
-;; UINT ITEMID1;
-;; DWORD ITEMDATA1;
-;; UINT ITEMID2;
-;; DWORD ITEMDATA2;
-;; DWORD DWLOCALEID;
-;;} COMPAREITEMSTRUCT, NEAR *PCOMPAREITEMSTRUCT, FAR *LPCOMPAREITEMSTRUCT;
-;;
-;;#IFNDEF NOMSG
-
-;;/*
-;; * MESSAGE FUNCTION TEMPLATES
-;; */
-;;BOOL
-;;WINAPI
-;;GETMESSAGEA(
-;; LPMSG LPMSG,
-;; HWND HWND ,
-;; UINT WMSGFILTERMIN,
-;; UINT WMSGFILTERMAX);
-;;/*
-;; * MESSAGE FUNCTION TEMPLATES
-;; */
-;;BOOL
-;;WINAPI
-;;GETMESSAGEW(
-;; LPMSG LPMSG,
-;; HWND HWND ,
-;; UINT WMSGFILTERMIN,
-;; UINT WMSGFILTERMAX);
-;;#IFDEF UNICODE
-;;#DEFINE GETMESSAGE GETMESSAGEW
-;;#ELSE
-;;#DEFINE GETMESSAGE GETMESSAGEA
-;;#ENDIF // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;TRANSLATEMESSAGE(
-;; CONST MSG *LPMSG);
-
-;;LONG
-;;WINAPI
-;;DISPATCHMESSAGEA(
-;; CONST MSG *LPMSG);
-;;LONG
-;;WINAPI
-;;DISPATCHMESSAGEW(
-;; CONST MSG *LPMSG);
-;;#IFDEF UNICODE
-;;#DEFINE DISPATCHMESSAGE DISPATCHMESSAGEW
-;;#ELSE
-;;#DEFINE DISPATCHMESSAGE DISPATCHMESSAGEA
-;;#ENDIF // !UNICODE
-
-
-;;BOOL
-;;WINAPI
-;;SETMESSAGEQUEUE(
-;; INT CMESSAGESMAX);
-;;
-;;BOOL
-;;WINAPI
-;;PEEKMESSAGEA(
-;; LPMSG LPMSG,
-;; HWND HWND ,
-;; UINT WMSGFILTERMIN,
-;; UINT WMSGFILTERMAX,
-;; UINT WREMOVEMSG);
-;;BOOL
-;;WINAPI
-;;PEEKMESSAGEW(
-;; LPMSG LPMSG,
-;; HWND HWND ,
-;; UINT WMSGFILTERMIN,
-;; UINT WMSGFILTERMAX,
-;; UINT WREMOVEMSG);
-;;#IFDEF UNICODE
-;;#DEFINE PEEKMESSAGE PEEKMESSAGEW
-;;#ELSE
-;;#DEFINE PEEKMESSAGE PEEKMESSAGEA
-;;#ENDIF // !UNICODE
-;;
-;;/*
-;; * PEEKMESSAGE() OPTIONS
-;; */
+;; * PEEKMESSAGE OPTIONS
(define-integrable PM_NOREMOVE #x0000)
(define-integrable PM_REMOVE #x0001)
(define-integrable PM_NOYIELD #x0002)
-;;#ENDIF /* !NOMSG */
-;;
-;;BOOL
-;;WINAPI
-;;REGISTERHOTKEY(
-;; HWND HWND ,
-;; INT ID,
-;; UINT FSMODIFIERS,
-;; UINT VK);
-;;
-;;BOOL
-;;WINAPI
-;;UNREGISTERHOTKEY(
-;; HWND HWND,
-;; INT ID);
-
(define-integrable MOD_ALT #x0001)
(define-integrable MOD_CONTROL #x0002)
(define-integrable MOD_SHIFT #x0004)
-(define-integrable IDHOT_SNAPWINDOW -1) ; /* SHIFT-PRINTSCRN */
-(define-integrable IDHOT_SNAPDESKTOP -2) ; /* PRINTSCRN */
-
-;;#IFDEF WIN_INTERNAL
-;; #IFNDEF LSTRING
-;; #DEFINE NOLSTRING
-;; #ENDIF /* LSTRING */
-;; #IFNDEF LFILEIO
-;; #DEFINE NOLFILEIO
-;; #ENDIF /* LFILEIO */
-;;#ENDIF /* WIN_INTERNAL */
-
+(define-integrable IDHOT_SNAPWINDOW -1) ;SHIFT-PRINTSCRN
+(define-integrable IDHOT_SNAPDESKTOP -2) ;PRINTSCRN
(define-integrable EWX_LOGOFF 0)
(define-integrable EWX_SHUTDOWN 1)
(define-integrable EWX_REBOOT 2)
(define-integrable EWX_FORCE 4)
-
-;;#DEFINE EXITWINDOWS(DWRESERVED, CODE) EXITWINDOWSEX(EWX_LOGOFF, 0XFFFFFFFF)
-;;
-;;BOOL
-;;WINAPI
-;;EXITWINDOWSEX(
-;; UINT UFLAGS,
-;; DWORD DWRESERVED);
-;;
-;;BOOL
-;;WINAPI
-;;SWAPMOUSEBUTTON(
-;; BOOL FSWAP);
-;;
-;;DWORD
-;;WINAPI
-;;GETMESSAGEPOS(
-;; VOID);
-;;
-;;LONG
-;;WINAPI
-;;GETMESSAGETIME(
-;; VOID);
-;;
-;;LONG
-;;WINAPI
-;;GETMESSAGEEXTRAINFO(
-;; VOID);
-;;
-;;LRESULT
-;;WINAPI
-;;SENDMESSAGEA(
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;LRESULT
-;;WINAPI
-;;SENDMESSAGEW(
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;#IFDEF UNICODE
-;;#DEFINE SENDMESSAGE SENDMESSAGEW
-;;#ELSE
-;;#DEFINE SENDMESSAGE SENDMESSAGEA
-;;#ENDIF // !UNICODE
-;;
-;;LRESULT
-;;WINAPI
-;;SENDMESSAGETIMEOUTA(
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM,
-;; UINT FUFLAGS,
-;; UINT UTIMEOUT,
-;; LPDWORD LPDWRESULT);
-;;LRESULT
-;;WINAPI
-;;SENDMESSAGETIMEOUTW(
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM,
-;; UINT FUFLAGS,
-;; UINT UTIMEOUT,
-;; LPDWORD LPDWRESULT);
-;;#IFDEF UNICODE
-;;#DEFINE SENDMESSAGETIMEOUT SENDMESSAGETIMEOUTW
-;;#ELSE
-;;#DEFINE SENDMESSAGETIMEOUT SENDMESSAGETIMEOUTA
-;;#ENDIF // !UNICODE
-
-;;BOOL
-;;WINAPI
-;;SENDNOTIFYMESSAGEA(
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;BOOL
-;;WINAPI
-;;SENDNOTIFYMESSAGEW(
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;#IFDEF UNICODE
-;;#DEFINE SENDNOTIFYMESSAGE SENDNOTIFYMESSAGEW
-;;#ELSE
-;;#DEFINE SENDNOTIFYMESSAGE SENDNOTIFYMESSAGEA
-;;#ENDIF // !UNICODE
-
-;;BOOL
-;;WINAPI
-;;SENDMESSAGECALLBACKA(
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM,
-;; SENDASYNCPROC LPRESULTCALLBACK,
-;; DWORD DWDATA);
-;;BOOL
-;;WINAPI
-;;SENDMESSAGECALLBACKW(
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM,
-;; SENDASYNCPROC LPRESULTCALLBACK,
-;; DWORD DWDATA);
-;;#IFDEF UNICODE
-;;#DEFINE SENDMESSAGECALLBACK SENDMESSAGECALLBACKW
-;;#ELSE
-;;#DEFINE SENDMESSAGECALLBACK SENDMESSAGECALLBACKA
-;;#ENDIF // !UNICODE
-
-;;BOOL
-;;WINAPI
-;;POSTMESSAGEA(
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;BOOL
-;;WINAPI
-;;POSTMESSAGEW(
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;#IFDEF UNICODE
-;;#DEFINE POSTMESSAGE POSTMESSAGEW
-;;#ELSE
-;;#DEFINE POSTMESSAGE POSTMESSAGEA
-;;#ENDIF // !UNICODE
-
-;;BOOL
-;;WINAPI
-;;POSTTHREADMESSAGEA(
-;; DWORD IDTHREAD,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;BOOL
-;;WINAPI
-;;POSTTHREADMESSAGEW(
-;; DWORD IDTHREAD,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;#IFDEF UNICODE
-;;#DEFINE POSTTHREADMESSAGE POSTTHREADMESSAGEW
-;;#ELSE
-;;#DEFINE POSTTHREADMESSAGE POSTTHREADMESSAGEA
-;;#ENDIF // !UNICODE
-
-;;#DEFINE POSTAPPMESSAGEA(IDTHREAD, WMSG, WPARAM, LPARAM)\
-;; POSTTHREADMESSAGEA((DWORD)IDTHREAD, WMSG, WPARAM, LPARAM)
-;;#DEFINE POSTAPPMESSAGEW(IDTHREAD, WMSG, WPARAM, LPARAM)\
-;; POSTTHREADMESSAGEW((DWORD)IDTHREAD, WMSG, WPARAM, LPARAM)
-;;#IFDEF UNICODE
-;;#DEFINE POSTAPPMESSAGE POSTAPPMESSAGEW
-;;#ELSE
-;;#DEFINE POSTAPPMESSAGE POSTAPPMESSAGEA
-;;#ENDIF // !UNICODE
-
-;;/*
-;; * SPECIAL HWND VALUE FOR USE WITH POSTMESSAGE() AND SENDMESSAGE()
-;; */
+;; * SPECIAL HWND VALUE FOR USE WITH POSTMESSAGE AND SENDMESSAGE
(define-integrable HWND_BROADCAST #xFFFF) ; ((HWND)0XFFFF)
-;;BOOL
-;;WINAPI
-;;ATTACHTHREADINPUT(
-;; DWORD IDATTACH,
-;; DWORD IDATTACHTO,
-;; BOOL FATTACH);
-;;
-;;
-;;BOOL
-;;WINAPI
-;;REPLYMESSAGE(
-;; LRESULT LRESULT);
-;;
-;;BOOL
-;;WINAPI
-;;WAITMESSAGE(
-;; VOID);
-;;
-;;DWORD
-;;WINAPI
-;;WAITFORINPUTIDLE(
-;; HANDLE HPROCESS,
-;; DWORD DWMILLISECONDS);
-;;
-;;LRESULT
-;;WINAPI
-;;DEFWINDOWPROCA(
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;LRESULT
-;;WINAPI
-;;DEFWINDOWPROCW(
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;#IFDEF UNICODE
-;;#DEFINE DEFWINDOWPROC DEFWINDOWPROCW
-;;#ELSE
-;;#DEFINE DEFWINDOWPROC DEFWINDOWPROCA
-;;#ENDIF // !UNICODE
-;;
-;;VOID
-;;WINAPI
-;;POSTQUITMESSAGE(
-;; INT NEXITCODE);
-;;
-;;#IFDEF STRICT
-;;
-;;LRESULT
-;;WINAPI
-;;CALLWINDOWPROCA(
-;; WNDPROC LPPREVWNDFUNC,
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;LRESULT
-;;WINAPI
-;;CALLWINDOWPROCW(
-;; WNDPROC LPPREVWNDFUNC,
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;#IFDEF UNICODE
-;;#DEFINE CALLWINDOWPROC CALLWINDOWPROCW
-;;#ELSE
-;;#DEFINE CALLWINDOWPROC CALLWINDOWPROCA
-;;#ENDIF // !UNICODE
-;;
-;;#ELSE /* !STRICT */
-;;
-;;LRESULT
-;;WINAPI
-;;CALLWINDOWPROCA(
-;; FARPROC LPPREVWNDFUNC,
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;LRESULT
-;;WINAPI
-;;CALLWINDOWPROCW(
-;; FARPROC LPPREVWNDFUNC,
-;; HWND HWND,
-;; UINT MSG,
-;; WPARAM WPARAM,
-;; LPARAM LPARAM);
-;;#IFDEF UNICODE
-;;#DEFINE CALLWINDOWPROC CALLWINDOWPROCW
-;;#ELSE
-;;#DEFINE CALLWINDOWPROC CALLWINDOWPROCA
-;;#ENDIF // !UNICODE
-;;
-;;#ENDIF /* !STRICT */
-;;
-;;BOOL
-;;WINAPI
-;;INSENDMESSAGE(
-;; VOID);
-;;
-;;UINT
-;;WINAPI
-;;GETDOUBLECLICKTIME(
-;; VOID);
-;;
-;;BOOL
-;;WINAPI
-;;SETDOUBLECLICKTIME(
-;; UINT);
-;;
-;;ATOM
-;;WINAPI
-;;REGISTERCLASSA(
-;; CONST WNDCLASSA *LPWNDCLASS);
-;;ATOM
-;;WINAPI
-;;REGISTERCLASSW(
-;; CONST WNDCLASSW *LPWNDCLASS);
-;;#IFDEF UNICODE
-;;#DEFINE REGISTERCLASS REGISTERCLASSW
-;;#ELSE
-;;#DEFINE REGISTERCLASS REGISTERCLASSA
-;;#ENDIF // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;UNREGISTERCLASSA(
-;; LPCSTR LPCLASSNAME,
-;; HINSTANCE HINSTANCE);
-;;BOOL
-;;WINAPI
-;;UNREGISTERCLASSW(
-;; LPCWSTR LPCLASSNAME,
-;; HINSTANCE HINSTANCE);
-;;#IFDEF UNICODE
-;;#DEFINE UNREGISTERCLASS UNREGISTERCLASSW
-;;#ELSE
-;;#DEFINE UNREGISTERCLASS UNREGISTERCLASSA
-;;#ENDIF // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;GETCLASSINFOA(
-;; HINSTANCE HINSTANCE ,
-;; LPCSTR LPCLASSNAME,
-;; LPWNDCLASSA LPWNDCLASS);
-;;BOOL
-;;WINAPI
-;;GETCLASSINFOW(
-;; HINSTANCE HINSTANCE ,
-;; LPCWSTR LPCLASSNAME,
-;; LPWNDCLASSW LPWNDCLASS);
-;;#IFDEF UNICODE
-;;#DEFINE GETCLASSINFO GETCLASSINFOW
-;;#ELSE
-;;#DEFINE GETCLASSINFO GETCLASSINFOA
-;;#ENDIF // !UNICODE
-
(define-integrable CW_USEDEFAULT #x80000000) ; ((UINT)0X80000000)
-;;/*
;; * SPECIAL VALUE FOR CREATEWINDOW, ET AL.
-;; */
(define-integrable HWND_DESKTOP 0) ; ((HWND)0)
-;;HWND
-;;WINAPI
-;;CreateWindowExA(
-;; DWORD dwExStyle,
-;; LPCSTR lpClassName,
-;; LPCSTR lpWindowName,
-;; DWORD dwStyle,
-;; int X,
-;; int Y,
-;; int nWidth,
-;; int nHeight,
-;; HWND hWndParent ,
-;; HMENU hMenu,
-;; HINSTANCE hInstance,
-;; LPVOID lpParam);
-;;HWND
-;;WINAPI
-;;CreateWindowExW(
-;; DWORD dwExStyle,
-;; LPCWSTR lpClassName,
-;; LPCWSTR lpWindowName,
-;; DWORD dwStyle,
-;; int X,
-;; int Y,
-;; int nWidth,
-;; int nHeight,
-;; HWND hWndParent ,
-;; HMENU hMenu,
-;; HINSTANCE hInstance,
-;; LPVOID lpParam);
-;;#ifdef UNICODE
-;;#define CreateWindowEx CreateWindowExW
-;;#else
-;;#define CreateWindowEx CreateWindowExA
-;;#endif // !UNICODE
-;;
-;;#define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y,\
-;;nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\
-;;CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,\
-;;nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
-;;#define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,\
-;;nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\
-;;CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,\
-;;nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
-;;#ifdef UNICODE
-;;#define CreateWindow CreateWindowW
-;;#else
-;;#define CreateWindow CreateWindowA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;IsWindow(
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;IsMenu(
-;; HMENU hMenu);
-;;
-;;BOOL
-;;WINAPI
-;;IsChild(
-;; HWND hWndParent,
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;DestroyWindow(
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;ShowWindow(
-;; HWND hWnd,
-;; int nCmdShow);
-;;
-;;BOOL
-;;WINAPI
-;;FlashWindow(
-;; HWND hWnd,
-;; BOOL bInvert);
-;;
-;;BOOL
-;;WINAPI
-;;ShowOwnedPopups(
-;; HWND hWnd,
-;; BOOL fShow);
-;;
-;;BOOL
-;;WINAPI
-;;OpenIcon(
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;CloseWindow(
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;MoveWindow(
-;; HWND hWnd,
-;; int X,
-;; int Y,
-;; int nWidth,
-;; int nHeight,
-;; BOOL bRepaint);
-;;
-;;BOOL
-;;WINAPI
-;;SetWindowPos(
-;; HWND hWnd,
-;; HWND hWndInsertAfter ,
-;; int X,
-;; int Y,
-;; int cx,
-;; int cy,
-;; UINT uFlags);
-;;
-;;BOOL
-;;WINAPI
-;;GetWindowPlacement(
-;; HWND hWnd,
-;; WINDOWPLACEMENT *lpwndpl);
-;;
-;;BOOL
-;;WINAPI
-;;SetWindowPlacement(
-;; HWND hWnd,
-;; CONST WINDOWPLACEMENT *lpwndpl);
-;;
-;;
-;;#ifndef NODEFERWINDOWPOS
-;;
-;;HDWP
-;;WINAPI
-;;BeginDeferWindowPos(
-;; int nNumWindows);
-;;
-;;HDWP
-;;WINAPI
-;;DeferWindowPos(
-;; HDWP hWinPosInfo,
-;; HWND hWnd,
-;; HWND hWndInsertAfter ,
-;; int x,
-;; int y,
-;; int cx,
-;; int cy,
-;; UINT uFlags);
-;;
-;;BOOL
-;;WINAPI
-;;EndDeferWindowPos(
-;; HDWP hWinPosInfo);
-;;
-;;#endif /* !NODEFERWINDOWPOS */
-;;
-;;BOOL
-;;WINAPI
-;;IsWindowVisible(
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;IsIconic(
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;AnyPopup(
-;; VOID);
-;;
-;;BOOL
-;;WINAPI
-;;BringWindowToTop(
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;IsZoomed(
-;; HWND hWnd);
-;;
-;;/*
;; * SetWindowPos Flags
-;; */
(define-integrable SWP_NOSIZE #x0001)
(define-integrable SWP_NOMOVE #x0002)
(define-integrable SWP_NOZORDER #x0004)
(define-integrable SWP_NOREDRAW #x0008)
(define-integrable SWP_NOACTIVATE #x0010)
-(define-integrable SWP_FRAMECHANGED #x0020) ; /* The frame changed: send WM_NCCALCSIZE */
+(define-integrable SWP_FRAMECHANGED #x0020) ;The frame changed: send WM_NCCALCSIZE
(define-integrable SWP_SHOWWINDOW #x0040)
(define-integrable SWP_HIDEWINDOW #x0080)
(define-integrable SWP_NOCOPYBITS #x0100)
-(define-integrable SWP_NOOWNERZORDER #x0200) ; /* Don't do owner Z ordering */
+(define-integrable SWP_NOOWNERZORDER #x0200) ;Don't do owner Z ordering
(define-integrable SWP_DRAWFRAME SWP_FRAMECHANGED)
(define-integrable SWP_NOREPOSITION SWP_NOOWNERZORDER)
-
(define-integrable HWND_TOP 0) ;((HWND)0)
(define-integrable HWND_BOTTOM 1) ;((HWND)1)
(define-integrable HWND_TOPMOST -1) ;((HWND)-1)
(define-integrable HWND_NOTOPMOST -2) ;((HWND)-2)
-;;#ifndef NOCTLMGR
-
-;;#ifndef RC_INVOKED // RC can't handle #pragmas
-;;
-;;/*
-;; * WARNING:
-;; * The following structures must NOT be DWORD padded because they are
-;; * followed by strings, etc that do not have to be DWORD aligned.
-;; */
-;;#pragma pack(2)
-
-;;typedef struct {
-;; DWORD style;
-;; DWORD dwExtendedStyle;
-;; WORD cdit;
-;; short x;
-;; short y;
-;; short cx;
-;; short cy;
-;;} DLGTEMPLATE;
-;;typedef DLGTEMPLATE *LPDLGTEMPLATEA;
-;;typedef DLGTEMPLATE *LPDLGTEMPLATEW;
-;;#ifdef UNICODE
-;;typedef LPDLGTEMPLATEW LPDLGTEMPLATE;
-;;#else
-;;typedef LPDLGTEMPLATEA LPDLGTEMPLATE;
-;;#endif // UNICODE
-;;typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEA;
-;;typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEW;
-;;#ifdef UNICODE
-;;typedef LPCDLGTEMPLATEW LPCDLGTEMPLATE;
-;;#else
-;;typedef LPCDLGTEMPLATEA LPCDLGTEMPLATE;
-;;#endif // UNICODE
-;;
-;;/*
-;; * Dialog item template (dit)
-;; */
-;;typedef struct {
-;; DWORD style;
-;; DWORD dwExtendedStyle;
-;; short x;
-;; short y;
-;; short cx;
-;; short cy;
-;; WORD id;
-;;} DLGITEMTEMPLATE;
-;;typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA;
-;;typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW;
-;;#ifdef UNICODE
-;;typedef PDLGITEMTEMPLATEW PDLGITEMTEMPLATE;
-;;#else
-;;typedef PDLGITEMTEMPLATEA PDLGITEMTEMPLATE;
-;;#endif // UNICODE
-;;typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;
-;;typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;
-;;#ifdef UNICODE
-;;typedef LPDLGITEMTEMPLATEW LPDLGITEMTEMPLATE;
-;;#else
-;;typedef LPDLGITEMTEMPLATEA LPDLGITEMTEMPLATE;
-;;#endif // UNICODE
-;;
-;;#pragma pack() // Resume normal packing
-;;#endif /* !RC_INVOKED */
-;;
-;;HWND
-;;WINAPI
-;;CreateDialogParamA(
-;; HINSTANCE hInstance,
-;; LPCSTR lpTemplateName,
-;; HWND hWndParent ,
-;; DLGPROC lpDialogFunc,
-;; LPARAM dwInitParam);
-;;HWND
-;;WINAPI
-;;CreateDialogParamW(
-;; HINSTANCE hInstance,
-;; LPCWSTR lpTemplateName,
-;; HWND hWndParent ,
-;; DLGPROC lpDialogFunc,
-;; LPARAM dwInitParam);
-;;#ifdef UNICODE
-;;#define CreateDialogParam CreateDialogParamW
-;;#else
-;;#define CreateDialogParam CreateDialogParamA
-;;#endif // !UNICODE
-;;
-;;HWND
-;;WINAPI
-;;CreateDialogIndirectParamA(
-;; HINSTANCE hInstance,
-;; LPCDLGTEMPLATEA lpTemplate,
-;; HWND hWndParent,
-;; DLGPROC lpDialogFunc,
-;; LPARAM dwInitParam);
-;;HWND
-;;WINAPI
-;;CreateDialogIndirectParamW(
-;; HINSTANCE hInstance,
-;; LPCDLGTEMPLATEW lpTemplate,
-;; HWND hWndParent,
-;; DLGPROC lpDialogFunc,
-;; LPARAM dwInitParam);
-;;#ifdef UNICODE
-;;#define CreateDialogIndirectParam CreateDialogIndirectParamW
-;;#else
-;;#define CreateDialogIndirectParam CreateDialogIndirectParamA
-;;#endif // !UNICODE
-
-;;#define CreateDialogA(hInstance, lpName, hWndParent, lpDialogFunc) \
-;;CreateDialogParamA(hInstance, lpName, hWndParent, lpDialogFunc, 0L)
-;;#define CreateDialogW(hInstance, lpName, hWndParent, lpDialogFunc) \
-;;CreateDialogParamW(hInstance, lpName, hWndParent, lpDialogFunc, 0L)
-;;#ifdef UNICODE
-;;#define CreateDialog CreateDialogW
-;;#else
-;;#define CreateDialog CreateDialogA
-;;#endif // !UNICODE
-;;
-;;#define CreateDialogIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
-;;CreateDialogIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
-;;#define CreateDialogIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
-;;CreateDialogIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
-;;#ifdef UNICODE
-;;#define CreateDialogIndirect CreateDialogIndirectW
-;;#else
-;;#define CreateDialogIndirect CreateDialogIndirectA
-;;#endif // !UNICODE
-;;
-;;int
-;;WINAPI
-;;DialogBoxParamA(
-;; HINSTANCE hInstance,
-;; LPCSTR lpTemplateName,
-;; HWND hWndParent ,
-;; DLGPROC lpDialogFunc,
-;; LPARAM dwInitParam);
-;;int
-;;WINAPI
-;;DialogBoxParamW(
-;; HINSTANCE hInstance,
-;; LPCWSTR lpTemplateName,
-;; HWND hWndParent ,
-;; DLGPROC lpDialogFunc,
-;; LPARAM dwInitParam);
-;;#ifdef UNICODE
-;;#define DialogBoxParam DialogBoxParamW
-;;#else
-;;#define DialogBoxParam DialogBoxParamA
-;;#endif // !UNICODE
-;;
-;;int
-;;WINAPI
-;;DialogBoxIndirectParamA(
-;; HINSTANCE hInstance,
-;; LPCDLGTEMPLATEA hDialogTemplate,
-;; HWND hWndParent ,
-;; DLGPROC lpDialogFunc,
-;; LPARAM dwInitParam);
-;;int
-;;WINAPI
-;;DialogBoxIndirectParamW(
-;; HINSTANCE hInstance,
-;; LPCDLGTEMPLATEW hDialogTemplate,
-;; HWND hWndParent ,
-;; DLGPROC lpDialogFunc,
-;; LPARAM dwInitParam);
-;;#ifdef UNICODE
-;;#define DialogBoxIndirectParam DialogBoxIndirectParamW
-;;#else
-;;#define DialogBoxIndirectParam DialogBoxIndirectParamA
-;;#endif // !UNICODE
-;;
-;;#define DialogBoxA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
-;;DialogBoxParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
-;;#define DialogBoxW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
-;;DialogBoxParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
-;;#ifdef UNICODE
-;;#define DialogBox DialogBoxW
-;;#else
-;;#define DialogBox DialogBoxA
-;;#endif // !UNICODE
-;;
-;;#define DialogBoxIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
-;;DialogBoxIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
-;;#define DialogBoxIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
-;;DialogBoxIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
-;;#ifdef UNICODE
-;;#define DialogBoxIndirect DialogBoxIndirectW
-;;#else
-;;#define DialogBoxIndirect DialogBoxIndirectA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;EndDialog(
-;; HWND hDlg,
-;; int nResult);
-;;
-;;HWND
-;;WINAPI
-;;GetDlgItem(
-;; HWND hDlg,
-;; int nIDDlgItem);
-
-;;BOOL
-;;WINAPI
-;;SetDlgItemInt(
-;; HWND hDlg,
-;; int nIDDlgItem,
-;; UINT uValue,
-;; BOOL bSigned);
-;;
-;;UINT
-;;WINAPI
-;;GetDlgItemInt(
-;; HWND hDlg,
-;; int nIDDlgItem,
-;; BOOL *lpTranslated,
-;; BOOL bSigned);
-;;
-;;BOOL
-;;WINAPI
-;;SetDlgItemTextA(
-;; HWND hDlg,
-;; int nIDDlgItem,
-;; LPCSTR lpString);
-;;BOOL
-;;WINAPI
-;;SetDlgItemTextW(
-;; HWND hDlg,
-;; int nIDDlgItem,
-;; LPCWSTR lpString);
-;;#ifdef UNICODE
-;;#define SetDlgItemText SetDlgItemTextW
-;;#else
-;;#define SetDlgItemText SetDlgItemTextA
-;;#endif // !UNICODE
-;;
-;;UINT
-;;WINAPI
-;;GetDlgItemTextA(
-;; HWND hDlg,
-;; int nIDDlgItem,
-;; LPSTR lpString,
-;; int nMaxCount);
-;;UINT
-;;WINAPI
-;;GetDlgItemTextW(
-;; HWND hDlg,
-;; int nIDDlgItem,
-;; LPWSTR lpString,
-;; int nMaxCount);
-;;#ifdef UNICODE
-;;#define GetDlgItemText GetDlgItemTextW
-;;#else
-;;#define GetDlgItemText GetDlgItemTextA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;CheckDlgButton(
-;; HWND hDlg,
-;; int nIDButton,
-;; UINT uCheck);
-
-;;BOOL
-;;WINAPI
-;;CheckRadioButton(
-;; HWND hDlg,
-;; int nIDFirstButton,
-;; int nIDLastButton,
-;; int nIDCheckButton);
-;;
-;;UINT
-;;WINAPI
-;;IsDlgButtonChecked(
-;; HWND hDlg,
-;; int nIDButton);
-;;
-;;LONG
-;;WINAPI
-;;SendDlgItemMessageA(
-;; HWND hDlg,
-;; int nIDDlgItem,
-;; UINT Msg,
-;; WPARAM wParam,
-;; LPARAM lParam);
-;;LONG
-;;WINAPI
-;;SendDlgItemMessageW(
-;; HWND hDlg,
-;; int nIDDlgItem,
-;; UINT Msg,
-;; WPARAM wParam,
-;; LPARAM lParam);
-;;#ifdef UNICODE
-;;#define SendDlgItemMessage SendDlgItemMessageW
-;;#else
-;;#define SendDlgItemMessage SendDlgItemMessageA
-;;#endif // !UNICODE
-;;
-;;HWND
-;;WINAPI
-;;GetNextDlgGroupItem(
-;; HWND hDlg,
-;; HWND hCtl,
-;; BOOL bPrevious);
-;;
-;;HWND
-;;WINAPI
-;;GetNextDlgTabItem(
-;; HWND hDlg,
-;; HWND hCtl,
-;; BOOL bPrevious);
-;;
-;;int
-;;WINAPI
-;;GetDlgCtrlID(
-;; HWND hWnd);
-;;
-;;long
-;;WINAPI
-;;GetDialogBaseUnits(VOID);
-;;
-;;LRESULT
-;;WINAPI
-;;DefDlgProcA(
-;; HWND hDlg,
-;; UINT Msg,
-;; WPARAM wParam,
-;; LPARAM lParam);
-;;LRESULT
-;;WINAPI
-;;DefDlgProcW(
-;; HWND hDlg,
-;; UINT Msg,
-;; WPARAM wParam,
-;; LPARAM lParam);
-;;#ifdef UNICODE
-;;#define DefDlgProc DefDlgProcW
-;;#else
-;;#define DefDlgProc DefDlgProcA
-;;#endif // !UNICODE
-;;
-;;/*
;; * Window extra byted needed for private dialog classes.
-;; */
(define DLGWINDOWEXTRA 30)
-;;#endif /* !NOCTLMGR */
-;;
-;;#ifndef NOMSG
-;;BOOL
-;;WINAPI
-;;CallMsgFilter(
-;; LPMSG lpMsg,
-;; int nCode);
-;;#endif /* !NOMSG */
-;;
-;;#ifndef NOCLIPBOARD
-;;
-;;/*
-;; * Clipboard Manager Functions
-;; */
-;;BOOL
-;;WINAPI
-;;OpenClipboard(
-;; HWND hWndNewOwner);
-;;
-;;BOOL
-;;WINAPI
-;;CloseClipboard(
-;; VOID);
-;;
-;;HWND
-;;WINAPI
-;;GetClipboardOwner(
-;; VOID);
-;;
-;;HWND
-;;WINAPI
-;;SetClipboardViewer(
-;; HWND hWndNewViewer);
-;;
-;;HWND
-;;WINAPI
-;;GetClipboardViewer(
-;; VOID);
-;;
-;;BOOL
-;;WINAPI
-;;ChangeClipboardChain(
-;; HWND hWndRemove,
-;; HWND hWndNewNext);
-;;
-;;HANDLE
-;;WINAPI
-;;SetClipboardData(
-;; UINT uFormat,
-;; HANDLE hMem);
-;;
-;;HANDLE
-;;WINAPI
-;; GetClipboardData(
-;; UINT uFormat);
-;;
-;;UINT
-;;WINAPI
-;;RegisterClipboardFormatA(
-;; LPCSTR lpszFormat);
-;;UINT
-;;WINAPI
-;;RegisterClipboardFormatW(
-;; LPCWSTR lpszFormat);
-;;#ifdef UNICODE
-;;#define RegisterClipboardFormat RegisterClipboardFormatW
-;;#else
-;;#define RegisterClipboardFormat RegisterClipboardFormatA
-;;#endif // !UNICODE
-;;
-;;int
-;;WINAPI
-;;CountClipboardFormats(
-;; VOID);
-;;
-;;UINT
-;;WINAPI
-;;EnumClipboardFormats(
-;; UINT format);
-;;
-;;int
-;;WINAPI
-;;GetClipboardFormatNameA(
-;; UINT format,
-;; LPSTR lpszFormatName,
-;; int cchMaxCount);
-;;int
-;;WINAPI
-;;GetClipboardFormatNameW(
-;; UINT format,
-;; LPWSTR lpszFormatName,
-;; int cchMaxCount);
-;;#ifdef UNICODE
-;;#define GetClipboardFormatName GetClipboardFormatNameW
-;;#else
-;;#define GetClipboardFormatName GetClipboardFormatNameA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;EmptyClipboard(
-;; VOID);
-
-;;BOOL
-;;WINAPI
-;;IsClipboardFormatAvailable(
-;; UINT format);
-;;
-;;int
-;;WINAPI
-;;GetPriorityClipboardFormat(
-;; UINT *paFormatPriorityList,
-;; int cFormats);
-;;
-;;HWND
-;;WINAPI
-;;GetOpenClipboardWindow(
-;; VOID);
-;;
-;;#endif /* !NOCLIPBOARD */
-;;
-;;/*
-;; * Character Translation Routines
-;; */
-;;
-;;BOOL
-;;WINAPI
-;;CharToOemA(
-;; LPCSTR lpszSrc,
-;; LPSTR lpszDst);
-;;BOOL
-;;WINAPI
-;;CharToOemW(
-;; LPCWSTR lpszSrc,
-;; LPSTR lpszDst);
-;;#ifdef UNICODE
-;;#define CharToOem CharToOemW
-;;#else
-;;#define CharToOem CharToOemA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;OemToCharA(
-;; LPCSTR lpszSrc,
-;; LPSTR lpszDst);
-;;BOOL
-;;WINAPI
-;;OemToCharW(
-;; LPCSTR lpszSrc,
-;; LPWSTR lpszDst);
-;;#ifdef UNICODE
-;;#define OemToChar OemToCharW
-;;#else
-;;#define OemToChar OemToCharA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;CharToOemBuffA(
-;; LPCSTR lpszSrc,
-;; LPSTR lpszDst,
-;; DWORD cchDstLength);
-;;BOOL
-;;WINAPI
-;;CharToOemBuffW(
-;; LPCWSTR lpszSrc,
-;; LPSTR lpszDst,
-;; DWORD cchDstLength);
-;;#ifdef UNICODE
-;;#define CharToOemBuff CharToOemBuffW
-;;#else
-;;#define CharToOemBuff CharToOemBuffA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;OemToCharBuffA(
-;; LPCSTR lpszSrc,
-;; LPSTR lpszDst,
-;; DWORD cchDstLength);
-;;BOOL
-;;WINAPI
-;;OemToCharBuffW(
-;; LPCSTR lpszSrc,
-;; LPWSTR lpszDst,
-;; DWORD cchDstLength);
-;;#ifdef UNICODE
-;;#define OemToCharBuff OemToCharBuffW
-;;#else
-;;#define OemToCharBuff OemToCharBuffA
-;;#endif // !UNICODE
-;;
-;;LPSTR
-;;WINAPI
-;;CharUpperA(
-;; LPSTR lpsz);
-;;LPWSTR
-;;WINAPI
-;;CharUpperW(
-;; LPWSTR lpsz);
-;;#ifdef UNICODE
-;;#define CharUpper CharUpperW
-;;#else
-;;#define CharUpper CharUpperA
-;;#endif // !UNICODE
-;;
-;;DWORD
-;;WINAPI
-;;CharUpperBuffA(
-;; LPSTR lpsz,
-;; DWORD cchLength);
-;;DWORD
-;;WINAPI
-;;CharUpperBuffW(
-;; LPWSTR lpsz,
-;; DWORD cchLength);
-;;#ifdef UNICODE
-;;#define CharUpperBuff CharUpperBuffW
-;;#else
-;;#define CharUpperBuff CharUpperBuffA
-;;#endif // !UNICODE
-;;
-;;LPSTR
-;;WINAPI
-;;CharLowerA(
-;; LPSTR lpsz);
-;;LPWSTR
-;;WINAPI
-;;CharLowerW(
-;; LPWSTR lpsz);
-;;#ifdef UNICODE
-;;#define CharLower CharLowerW
-;;#else
-;;#define CharLower CharLowerA
-;;#endif // !UNICODE
-;;
-;;DWORD
-;;WINAPI
-;;CharLowerBuffA(
-;; LPSTR lpsz,
-;; DWORD cchLength);
-;;DWORD
-;;WINAPI
-;;CharLowerBuffW(
-;; LPWSTR lpsz,
-;; DWORD cchLength);
-;;#ifdef UNICODE
-;;#define CharLowerBuff CharLowerBuffW
-;;#else
-;;#define CharLowerBuff CharLowerBuffA
-;;#endif // !UNICODE
-;;
-;;LPSTR
-;;WINAPI
-;;CharNextA(
-;; LPCSTR lpsz);
-;;LPWSTR
-;;WINAPI
-;;CharNextW(
-;; LPCWSTR lpsz);
-;;#ifdef UNICODE
-;;#define CharNext CharNextW
-;;#else
-;;#define CharNext CharNextA
-;;#endif // !UNICODE
-;;
-;;LPSTR
-;;WINAPI
-;;CharPrevA(
-;; LPCSTR lpszStart,
-;; LPCSTR lpszCurrent);
-;;LPWSTR
-;;WINAPI
-;;CharPrevW(
-;; LPCWSTR lpszStart,
-;; LPCWSTR lpszCurrent);
-;;#ifdef UNICODE
-;;#define CharPrev CharPrevW
-;;#else
-;;#define CharPrev CharPrevA
-;;#endif // !UNICODE
-;;
-;;/*
-;; * Compatibility defines for character translation routines
-;; */
-;;#define AnsiToOem CharToOemA
-;;#define OemToAnsi OemToCharA
-;;#define AnsiToOemBuff CharToOemBuffA
-;;#define OemToAnsiBuff OemToCharBuffA
-;;#define AnsiUpper CharUpperA
-;;#define AnsiUpperBuff CharUpperBuffA
-;;#define AnsiLower CharLowerA
-;;#define AnsiLowerBuff CharLowerBuffA
-;;#define AnsiNext CharNextA
-;;#define AnsiPrev CharPrevA
-;;
-;;#ifndef NOLANGUAGE
-;;/*
-;; * Language dependent Routines
-;; */
-;;
-;;BOOL
-;;WINAPI
-;;IsCharAlphaA(
-;; CHAR ch);
-;;BOOL
-;;WINAPI
-;;IsCharAlphaW(
-;; WCHAR ch);
-;;#ifdef UNICODE
-;;#define IsCharAlpha IsCharAlphaW
-;;#else
-;;#define IsCharAlpha IsCharAlphaA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;IsCharAlphaNumericA(
-;; CHAR ch);
-;;BOOL
-;;WINAPI
-;;IsCharAlphaNumericW(
-;; WCHAR ch);
-;;#ifdef UNICODE
-;;#define IsCharAlphaNumeric IsCharAlphaNumericW
-;;#else
-;;#define IsCharAlphaNumeric IsCharAlphaNumericA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;IsCharUpperA(
-;; CHAR ch);
-;;BOOL
-;;WINAPI
-;;IsCharUpperW(
-;; WCHAR ch);
-;;#ifdef UNICODE
-;;#define IsCharUpper IsCharUpperW
-;;#else
-;;#define IsCharUpper IsCharUpperA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;IsCharLowerA(
-;; CHAR ch);
-;;BOOL
-;;WINAPI
-;;IsCharLowerW(
-;; WCHAR ch);
-;;#ifdef UNICODE
-;;#define IsCharLower IsCharLowerW
-;;#else
-;;#define IsCharLower IsCharLowerA
-;;#endif // !UNICODE
-;;
-;;#endif /* !NOLANGUAGE */
-;;
-;;HWND
-;;WINAPI
-;;SetFocus(
-;; HWND hWnd);
-;;
-;;HWND
-;;WINAPI
-;;GetActiveWindow(
-;; VOID);
-;;
-;;HWND
-;;WINAPI
-;;GetFocus(
-;; VOID);
-;;
-;;UINT
-;;WINAPI
-;;GetKBCodePage(
-;; VOID);
-;;
-;;SHORT
-;;WINAPI
-;;GetKeyState(
-;; int nVirtKey);
-;;
-;;SHORT
-;;WINAPI
-;;GetAsyncKeyState(
-;; int vKey);
-;;
-;;BOOL
-;;WINAPI
-;;GetKeyboardState(
-;; PBYTE lpKeyState);
-;;
-;;BOOL
-;;WINAPI
-;;SetKeyboardState(
-;; LPBYTE lpKeyState);
-;;
-;;int
-;;WINAPI
-;;GetKeyNameTextA(
-;; LONG lParam,
-;; LPSTR lpString,
-;; int nSize
-;; );
-;;int
-;;WINAPI
-;;GetKeyNameTextW(
-;; LONG lParam,
-;; LPWSTR lpString,
-;; int nSize
-;; );
-;;#ifdef UNICODE
-;;#define GetKeyNameText GetKeyNameTextW
-;;#else
-;;#define GetKeyNameText GetKeyNameTextA
-;;#endif // !UNICODE
-;;
-;;int
-;;WINAPI
-;;GetKeyboardType(
-;; int nTypeFlag);
-;;
-;;int
-;;WINAPI
-;;ToAscii(
-;; UINT uVirtKey,
-;; UINT uScanCode,
-;; PBYTE lpKeyState,
-;; LPWORD lpChar,
-;; UINT uFlags);
-;;
-;;int
-;;WINAPI
-;;ToUnicode(
-;; UINT wVirtKey,
-;; UINT wScanCode,
-;; PBYTE lpKeyState,
-;; LPWSTR pwszBuff,
-;; int cchBuff,
-;; UINT wFlags);
-;;
-;;DWORD
-;;WINAPI
-;;OemKeyScan(
-;; WORD wOemChar);
-;;
-;;SHORT
-;;WINAPI
-;;VkKeyScanA(
-;; CHAR ch);
-;;SHORT
-;;WINAPI
-;;VkKeyScanW(
-;; WCHAR ch);
-;;#ifdef UNICODE
-;;#define VkKeyScan VkKeyScanW
-;;#else
-;;#define VkKeyScan VkKeyScanA
-;;#endif // !UNICODE
-;;
-;;#define KEYEVENTF_EXTENDEDKEY 0x0001
-;;#define KEYEVENTF_KEYUP 0x0002
-;;
-;;VOID WINAPI
-;;keybd_event(
-;; BYTE bVk,
-;; BYTE bScan,
-;; DWORD dwFlags,
-;; DWORD dwExtraInfo);
-
(define-integrable MOUSEEVENTF_MOVE #x0001) ; // mouse move
(define-integrable MOUSEEVENTF_LEFTDOWN #x0002) ; // left button down
(define-integrable MOUSEEVENTF_LEFTUP #x0004) ; // left button up
(define-integrable MOUSEEVENTF_MIDDLEUP #x0040) ; // middle button up
(define-integrable MOUSEEVENTF_ABSOLUTE #x8000) ; // absolute move
-;;VOID WINAPI
-;;mouse_event(
-;; DWORD dwFlags,
-;; DWORD dx,
-;; DWORD dy,
-;; DWORD cButtons,
-;; DWORD dwExtraInfo);
-;;
-;;UINT
-;;WINAPI
-;;MapVirtualKeyA(
-;; UINT uCode,
-;; UINT uMapType);
-;;UINT
-;;WINAPI
-;;MapVirtualKeyW(
-;; UINT uCode,
-;; UINT uMapType);
-;;#ifdef UNICODE
-;;#define MapVirtualKey MapVirtualKeyW
-;;#else
-;;#define MapVirtualKey MapVirtualKeyA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;GetInputState(
-;; VOID);
-;;
-;;DWORD
-;;WINAPI
-;;GetQueueStatus(
-;; UINT flags);
-;;
-;;HWND
-;;WINAPI
-;;GetCapture(
-;; VOID);
-;;
-;;HWND
-;;WINAPI
-;;SetCapture(
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;ReleaseCapture(
-;; VOID);
-;;
-;;DWORD
-;;WINAPI
-;;MsgWaitForMultipleObjects(
-;; DWORD nCount,
-;; LPHANDLE pHandles,
-;; BOOL fWaitAll,
-;; DWORD dwMilliseconds,
-;; DWORD dwWakeMask);
-;;
-;;/*
-;; * Queue status flags for GetQueueStatus() and MsgWaitForMultipleObjects()
-;; */
+;; * Queue status flags for GetQueueStatus and MsgWaitForMultipleObjects
(define-integrable QS_KEY #x01)
(define-integrable QS_MOUSEMOVE #x02)
(define-integrable QS_MOUSEBUTTON #x04)
QS_PAINT
QS_HOTKEY))
-;;UINT
-;;WINAPI
-;;GetSysInputMode(
-;; VOID);
-;;
-;;/*
;; * GetSysInputMode return values
-;; */
(define-integrable IMD_NONE 0)
(define-integrable IMD_MENU 1)
(define-integrable IMD_DIALOGBOX 2)
(define-integrable IMD_DRAGOBJECT 8)
(define-integrable IMD_DRAGDETECT 9)
-
-;;/*
-;; * Windows Functions
-;; */
-;;UINT
-;;WINAPI
-;;SetTimer(
-;; HWND hWnd ,
-;; UINT nIDEvent,
-;; UINT uElapse,
-;; TIMERPROC lpTimerFunc);
-;;
-;;BOOL
-;;WINAPI
-;;KillTimer(
-;; HWND hWnd,
-;; UINT uIDEvent);
-;;
-;;BOOL
-;;WINAPI
-;;IsWindowUnicode(
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;EnableWindow(
-;; HWND hWnd,
-;; BOOL bEnable);
-;;
-;;BOOL
-;;WINAPI
-;;IsWindowEnabled(
-;; HWND hWnd);
-;;
-;;HACCEL
-;;WINAPI
-;;LoadAcceleratorsA(
-;; HINSTANCE hInstance,
-;; LPCSTR lpTableName);
-;;HACCEL
-;;WINAPI
-;;LoadAcceleratorsW(
-;; HINSTANCE hInstance,
-;; LPCWSTR lpTableName);
-;;#ifdef UNICODE
-;;#define LoadAccelerators LoadAcceleratorsW
-;;#else
-;;#define LoadAccelerators LoadAcceleratorsA
-;;#endif // !UNICODE
-;;
-;;HACCEL
-;;WINAPI
-;;CreateAcceleratorTableA(
-;; LPACCEL, int);
-;;HACCEL
-;;WINAPI
-;;CreateAcceleratorTableW(
-;; LPACCEL, int);
-;;#ifdef UNICODE
-;;#define CreateAcceleratorTable CreateAcceleratorTableW
-;;#else
-;;#define CreateAcceleratorTable CreateAcceleratorTableA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;DestroyAcceleratorTable(
-;; HACCEL hAccel);
-;;
-;;int
-;;WINAPI
-;;CopyAcceleratorTableA(
-;; HACCEL hAccelSrc,
-;; LPACCEL lpAccelDst,
-;; int cAccelEntries);
-;;int
-;;WINAPI
-;;CopyAcceleratorTableW(
-;; HACCEL hAccelSrc,
-;; LPACCEL lpAccelDst,
-;; int cAccelEntries);
-;;#ifdef UNICODE
-;;#define CopyAcceleratorTable CopyAcceleratorTableW
-;;#else
-;;#define CopyAcceleratorTable CopyAcceleratorTableA
-;;#endif // !UNICODE
-;;
-;;#ifndef NOMSG
-;;int
-;;WINAPI
-;;TranslateAccelerator(
-;; HWND hWnd,
-;; HACCEL hAccTable,
-;; LPMSG lpMsg);
-;;#endif /* !NOMSG */
-;;
-;;#ifndef NOSYSMETRICS
-;;
-;;/*
-;; * GetSystemMetrics() codes
-;; */
+;; * GetSystemMetrics codes
(define-integrable SM_CXSCREEN 0)
(define-integrable SM_CYSCREEN 1)
(define-integrable SM_CXVSCROLL 2)
(define-integrable SM_CMOUSEBUTTONS 43)
(define-integrable SM_CMETRICS 44)
-;;int
-;;WINAPI
-;;GetSystemMetrics(
-;; int nIndex);
-;;
-;;#endif /* !NOSYSMETRICS */
-;;
-;;#ifndef NOMENUS
-;;
-;;HMENU
-;;WINAPI
-;;LoadMenuA(
-;; HINSTANCE hInstance,
-;; LPCSTR lpMenuName);
-;;HMENU
-;;WINAPI
-;;LoadMenuW(
-;; HINSTANCE hInstance,
-;; LPCWSTR lpMenuName);
-;;#ifdef UNICODE
-;;#define LoadMenu LoadMenuW
-;;#else
-;;#define LoadMenu LoadMenuA
-;;#endif // !UNICODE
-;;
-;;HMENU
-;;WINAPI
-;;LoadMenuIndirectA(
-;; CONST MENUTEMPLATEA *lpMenuTemplate);
-;;HMENU
-;;WINAPI
-;;LoadMenuIndirectW(
-;; CONST MENUTEMPLATEW *lpMenuTemplate);
-;;#ifdef UNICODE
-;;#define LoadMenuIndirect LoadMenuIndirectW
-;;#else
-;;#define LoadMenuIndirect LoadMenuIndirectA
-;;#endif // !UNICODE
-;;
-;;HMENU
-;;WINAPI
-;;GetMenu(
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;SetMenu(
-;; HWND hWnd,
-;; HMENU hMenu);
-;;
-;;BOOL
-;;WINAPI
-;;ChangeMenuA(
-;; HMENU hMenu,
-;; UINT cmd,
-;; LPCSTR lpszNewItem,
-;; UINT cmdInsert,
-;; UINT flags);
-;;BOOL
-;;WINAPI
-;;ChangeMenuW(
-;; HMENU hMenu,
-;; UINT cmd,
-;; LPCWSTR lpszNewItem,
-;; UINT cmdInsert,
-;; UINT flags);
-;;#ifdef UNICODE
-;;#define ChangeMenu ChangeMenuW
-;;#else
-;;#define ChangeMenu ChangeMenuA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;HiliteMenuItem(
-;; HWND hWnd,
-;; HMENU hMenu,
-;; UINT uIDHiliteItem,
-;; UINT uHilite);
-;;
-;;int
-;;WINAPI
-;;GetMenuStringA(
-;; HMENU hMenu,
-;; UINT uIDItem,
-;; LPSTR lpString,
-;; int nMaxCount,
-;; UINT uFlag);
-;;int
-;;WINAPI
-;;GetMenuStringW(
-;; HMENU hMenu,
-;; UINT uIDItem,
-;; LPWSTR lpString,
-;; int nMaxCount,
-;; UINT uFlag);
-;;#ifdef UNICODE
-;;#define GetMenuString GetMenuStringW
-;;#else
-;;#define GetMenuString GetMenuStringA
-;;#endif // !UNICODE
-;;
-;;UINT
-;;WINAPI
-;;GetMenuState(
-;; HMENU hMenu,
-;; UINT uId,
-;; UINT uFlags);
-;;
-;;BOOL
-;;WINAPI
-;;DrawMenuBar(
-;; HWND hWnd);
-;;
-;;HMENU
-;;WINAPI
-;;GetSystemMenu(
-;; HWND hWnd,
-;; BOOL bRevert);
-;;
-;;HMENU
-;;WINAPI
-;;CreateMenu(
-;; VOID);
-;;
-;;HMENU
-;;WINAPI
-;;CreatePopupMenu(
-;; VOID);
-;;
-;;BOOL
-;;WINAPI
-;;DestroyMenu(
-;; HMENU hMenu);
-;;
-;;DWORD
-;;WINAPI
-;;CheckMenuItem(
-;; HMENU hMenu,
-;; UINT uIDCheckItem,
-;; UINT uCheck);
-;;
-;;BOOL
-;;WINAPI
-;;EnableMenuItem(
-;; HMENU hMenu,
-;; UINT uIDEnableItem,
-;; UINT uEnable);
-;;
-;;HMENU
-;;WINAPI
-;;GetSubMenu(
-;; HMENU hMenu,
-;; int nPos);
-;;
-;;UINT
-;;WINAPI
-;;GetMenuItemID(
-;; HMENU hMenu,
-;; int nPos);
-;;
-;;int
-;;WINAPI
-;;GetMenuItemCount(
-;; HMENU hMenu);
-;;
-;;BOOL
-;;WINAPI
-;;InsertMenuA(
-;; HMENU hMenu,
-;; UINT uPosition,
-;; UINT uFlags,
-;; UINT uIDNewItem,
-;; LPCSTR lpNewItem
-;; );
-;;BOOL
-;;WINAPI
-;;InsertMenuW(
-;; HMENU hMenu,
-;; UINT uPosition,
-;; UINT uFlags,
-;; UINT uIDNewItem,
-;; LPCWSTR lpNewItem
-;; );
-;;#ifdef UNICODE
-;;#define InsertMenu InsertMenuW
-;;#else
-;;#define InsertMenu InsertMenuA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;AppendMenuA(
-;; HMENU hMenu,
-;; UINT uFlags,
-;; UINT uIDNewItem,
-;; LPCSTR lpNewItem
-;; );
-;;BOOL
-;;WINAPI
-;;AppendMenuW(
-;; HMENU hMenu,
-;; UINT uFlags,
-;; UINT uIDNewItem,
-;; LPCWSTR lpNewItem
-;; );
-;;#ifdef UNICODE
-;;#define AppendMenu AppendMenuW
-;;#else
-;;#define AppendMenu AppendMenuA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;ModifyMenuA(
-;; HMENU hMnu,
-;; UINT uPosition,
-;; UINT uFlags,
-;; UINT uIDNewItem,
-;; LPCSTR lpNewItem
-;; );
-;;BOOL
-;;WINAPI
-;;ModifyMenuW(
-;; HMENU hMnu,
-;; UINT uPosition,
-;; UINT uFlags,
-;; UINT uIDNewItem,
-;; LPCWSTR lpNewItem
-;; );
-;;#ifdef UNICODE
-;;#define ModifyMenu ModifyMenuW
-;;#else
-;;#define ModifyMenu ModifyMenuA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI RemoveMenu(
-;; HMENU hMenu,
-;; UINT uPosition,
-;; UINT uFlags);
-;;
-;;BOOL
-;;WINAPI
-;;DeleteMenu(
-;; HMENU hMenu,
-;; UINT uPosition,
-;; UINT uFlags);
-;;
-;;BOOL
-;;WINAPI
-;;SetMenuItemBitmaps(
-;; HMENU hMenu,
-;; UINT uPosition,
-;; UINT uFlags,
-;; HBITMAP hBitmapUnchecked,
-;; HBITMAP hBitmapChecked);
-;;
-;;LONG
-;;WINAPI
-;;GetMenuCheckMarkDimensions(
-;; VOID);
-;;
-;;BOOL
-;;WINAPI
-;;TrackPopupMenu(
-;; HMENU hMenu,
-;; UINT uFlags,
-;; int x,
-;; int y,
-;; int nReserved,
-;; HWND hWnd,
-;; CONST RECT *prcRect);
-;;
-;;/*
;; * Flags for TrackPopupMenu
-;; */
(define-integrable TPM_LEFTBUTTON #x0000)
(define-integrable TPM_RIGHTBUTTON #x0002)
(define-integrable TPM_LEFTALIGN #x0000)
(define-integrable TPM_CENTERALIGN #x0004)
(define-integrable TPM_RIGHTALIGN #x0008)
-;;#endif /* !NOMENUS */
-;;
-;;BOOL
-;;WINAPI
-;;DrawIcon(
-;; HDC hDC,
-;; int X,
-;; int Y,
-;; HICON hIcon);
-;;
-;;#ifndef NODRAWTEXT
-;;
-;;/*
-;; * DrawText() Format Flags
-;; */
+;; * DrawText Format Flags
(define-integrable DT_TOP #x0000)
(define-integrable DT_LEFT #x0000)
(define-integrable DT_CENTER #x0001)
(define-integrable DT_NOPREFIX #x0800)
(define-integrable DT_INTERNAL #x1000)
-;;#endif /* !NODRAWTEXT */
-;;
-;;int
-;;WINAPI DrawTextA(
-;; HDC hDC,
-;; LPCSTR lpString,
-;; int nCount,
-;; LPRECT lpRect,
-;; UINT uFormat);
-;;int
-;;WINAPI DrawTextW(
-;; HDC hDC,
-;; LPCWSTR lpString,
-;; int nCount,
-;; LPRECT lpRect,
-;; UINT uFormat);
-;;#ifdef UNICODE
-;;#define DrawText DrawTextW
-;;#else
-;;#define DrawText DrawTextA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;GrayStringA(
-;; HDC hDC,
-;; HBRUSH hBrush,
-;; GRAYSTRINGPROC lpOutputFunc,
-;; LPARAM lpData,
-;; int nCount,
-;; int X,
-;; int Y,
-;; int nWidth,
-;; int nHeight);
-;;BOOL
-;;WINAPI
-;;GrayStringW(
-;; HDC hDC,
-;; HBRUSH hBrush,
-;; GRAYSTRINGPROC lpOutputFunc,
-;; LPARAM lpData,
-;; int nCount,
-;; int X,
-;; int Y,
-;; int nWidth,
-;; int nHeight);
-;;#ifdef UNICODE
-;;#define GrayString GrayStringW
-;;#else
-;;#define GrayString GrayStringA
-;;#endif // !UNICODE
-;;
-;;LONG
-;;WINAPI
-;;TabbedTextOutA(
-;; HDC hDC,
-;; int X,
-;; int Y,
-;; LPCSTR lpString,
-;; int nCount,
-;; int nTabPositions,
-;; LPINT lpnTabStopPositions,
-;; int nTabOrigin);
-;;LONG
-;;WINAPI
-;;TabbedTextOutW(
-;; HDC hDC,
-;; int X,
-;; int Y,
-;; LPCWSTR lpString,
-;; int nCount,
-;; int nTabPositions,
-;; LPINT lpnTabStopPositions,
-;; int nTabOrigin);
-;;#ifdef UNICODE
-;;#define TabbedTextOut TabbedTextOutW
-;;#else
-;;#define TabbedTextOut TabbedTextOutA
-;;#endif // !UNICODE
-;;
-;;DWORD
-;;WINAPI
-;;GetTabbedTextExtentA(
-;; HDC hDC,
-;; LPCSTR lpString,
-;; int nCount,
-;; int nTabPositions,
-;; LPINT lpnTabStopPositions);
-;;DWORD
-;;WINAPI
-;;GetTabbedTextExtentW(
-;; HDC hDC,
-;; LPCWSTR lpString,
-;; int nCount,
-;; int nTabPositions,
-;; LPINT lpnTabStopPositions);
-;;#ifdef UNICODE
-;;#define GetTabbedTextExtent GetTabbedTextExtentW
-;;#else
-;;#define GetTabbedTextExtent GetTabbedTextExtentA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;UpdateWindow(
-;; HWND hWnd);
-;;
-;;HWND
-;;WINAPI
-;;SetActiveWindow(
-;; HWND hWnd);
-;;
-;;HWND
-;;WINAPI
-;;GetForegroundWindow(
-;; VOID);
-;;
-;;BOOL
-;;WINAPI
-;;SetForegroundWindow(
-;; HWND hWnd);
-;;
-;;HWND
-;;WINAPI
-;;WindowFromDC(
-;; HDC hDC);
-;;
-;;HDC
-;;WINAPI
-;;GetDC(
-;; HWND hWnd);
-;;
-;;HDC
-;;WINAPI
-;;GetDCEx(
-;; HWND hWnd ,
-;; HRGN hrgnClip,
-;; DWORD flags);
-;;
-;;/*
-;; * GetDCEx() flags
-;; */
+;; * GetDCEx flags
(define-integrable DCX_WINDOW #x00000001)
(define-integrable DCX_CACHE #x00000002)
(define-integrable DCX_NORESETATTRS #x00000004)
(define-integrable DCX_NORECOMPUTE #x00100000)
(define-integrable DCX_VALIDATE #x00200000)
-
-;;HDC
-;;WINAPI
-;;GetWindowDC(
-;; HWND hWnd);
-;;
-;;int
-;;WINAPI
-;;ReleaseDC(
-;; HWND hWnd,
-;; HDC hDC);
-;;
-;;HDC
-;;WINAPI
-;;BeginPaint(
-;; HWND hWnd,
-;; LPPAINTSTRUCT lpPaint);
-;;
-;;BOOL
-;;WINAPI
-;;EndPaint(
-;; HWND hWnd,
-;; CONST PAINTSTRUCT *lpPaint);
-;;
-;;BOOL
-;;WINAPI
-;;GetUpdateRect(
-;; HWND hWnd,
-;; LPRECT lpRect,
-;; BOOL bErase);
-;;
-;;int
-;;WINAPI
-;;GetUpdateRgn(
-;; HWND hWnd,
-;; HRGN hRgn,
-;; BOOL bErase);
-;;
-;;int
-;;WINAPI
-;;ExcludeUpdateRgn(
-;; HDC hDC,
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;InvalidateRect(
-;; HWND hWnd ,
-;; CONST RECT *lpRect,
-;; BOOL bErase);
-;;
-;;BOOL
-;;WINAPI
-;;ValidateRect(
-;; HWND hWnd ,
-;; CONST RECT *lpRect);
-;;
-;;BOOL
-;;WINAPI
-;;InvalidateRgn(
-;; HWND hWnd,
-;; HRGN hRgn,
-;; BOOL bErase);
-;;
-;;BOOL
-;;WINAPI
-;;ValidateRgn(
-;; HWND hWnd,
-;; HRGN hRgn);
-;;
-;;
-;;BOOL WINAPI RedrawWindow(
-;; HWND hWnd,
-;; CONST RECT *lprcUpdate,
-;; HRGN hrgnUpdate,
-;; UINT flags);
-;;
-;;/*
-;; * RedrawWindow() flags
-;; */
+;; * RedrawWindow flags
(define-integrable RDW_INVALIDATE #x0001)
(define-integrable RDW_INTERNALPAINT #x0002)
(define-integrable RDW_ERASE #x0004)
(define-integrable RDW_FRAME #x0400)
(define-integrable RDW_NOFRAME #x0800)
-
-;;/*
;; * LockWindowUpdate API
-;; */
-;;BOOL
-;;WINAPI
-;;LockWindowUpdate(
-;; HWND hWndLock);
-;;
-;;BOOL
-;;WINAPI
-;;ScrollWindow(
-;; HWND hWnd,
-;; int XAmount,
-;; int YAmount,
-;; CONST RECT *lpRect,
-;; CONST RECT *lpClipRect);
-;;
-;;BOOL
-;;WINAPI
-;;ScrollDC(
-;; HDC hDC,
-;; int dx,
-;; int dy,
-;; CONST RECT *lprcScroll,
-;; CONST RECT *lprcClip ,
-;; HRGN hrgnUpdate,
-;; LPRECT lprcUpdate);
-;;
-;;int
-;;WINAPI
-;;ScrollWindowEx(
-;; HWND hWnd,
-;; int dx,
-;; int dy,
-;; CONST RECT *prcScroll,
-;; CONST RECT *prcClip ,
-;; HRGN hrgnUpdate,
-;; LPRECT prcUpdate,
-;; UINT flags);
-
-(define-integrable SW_SCROLLCHILDREN #x0001) ; /* Scroll children within *lprcScroll. */
-(define-integrable SW_INVALIDATE #x0002) ; /* Invalidate after scrolling */
-(define-integrable SW_ERASE #x0004) ; /* If SW_INVALIDATE, don't send WM_ERASEBACKGROUND */
-
-
-;;#ifndef NOSCROLL
-;;int
-;;WINAPI
-;;SetScrollPos(
-;; HWND hWnd,
-;; int nBar,
-;; int nPos,
-;; BOOL bRedraw);
-;;
-;;int
-;;WINAPI
-;;GetScrollPos(
-;; HWND hWnd,
-;; int nBar);
-;;
-;;BOOL
-;;WINAPI
-;;SetScrollRange(
-;; HWND hWnd,
-;; int nBar,
-;; int nMinPos,
-;; int nMaxPos,
-;; BOOL bRedraw);
-;;
-;;BOOL
-;;WINAPI
-;;GetScrollRange(
-;; HWND hWnd,
-;; int nBar,
-;; LPINT lpMinPos,
-;; LPINT lpMaxPos);
-;;
-;;BOOL
-;;WINAPI
-;;ShowScrollBar(
-;; HWND hWnd,
-;; int wBar,
-;; BOOL bShow);
-;;
-;;BOOL
-;;WINAPI
-;;EnableScrollBar(
-;; HWND hWnd,
-;; UINT wSBflags,
-;; UINT wArrows);
-;;
-;;
-;;/*
-;; * EnableScrollBar() flags
-;; */
+(define-integrable SW_SCROLLCHILDREN #x0001) ;Scroll children within *lprcScroll.
+(define-integrable SW_INVALIDATE #x0002) ;Invalidate after scrolling
+(define-integrable SW_ERASE #x0004) ;If SW_INVALIDATE, don't send WM_ERASEBACKGROUND
+
+;; * EnableScrollBar flags
(define-integrable ESB_ENABLE_BOTH #x0000)
(define-integrable ESB_DISABLE_BOTH #x0003)
(define-integrable ESB_DISABLE_LTUP ESB_DISABLE_LEFT)
(define-integrable ESB_DISABLE_RTDN ESB_DISABLE_RIGHT)
-
-;;#endif /* !NOSCROLL */
-;;
-;;BOOL
-;;WINAPI
-;;SetPropA(
-;; HWND hWnd,
-;; LPCSTR lpString,
-;; HANDLE hData);
-;;BOOL
-;;WINAPI
-;;SetPropW(
-;; HWND hWnd,
-;; LPCWSTR lpString,
-;; HANDLE hData);
-;;#ifdef UNICODE
-;;#define SetProp SetPropW
-;;#else
-;;#define SetProp SetPropA
-;;#endif // !UNICODE
-;;
-;;HANDLE
-;;WINAPI
-;;GetPropA(
-;; HWND hWnd,
-;; LPCSTR lpString);
-;;HANDLE
-;;WINAPI
-;;GetPropW(
-;; HWND hWnd,
-;; LPCWSTR lpString);
-;;#ifdef UNICODE
-;;#define GetProp GetPropW
-;;#else
-;;#define GetProp GetPropA
-;;#endif // !UNICODE
-;;
-;;HANDLE
-;;WINAPI
-;;RemovePropA(
-;; HWND hWnd,
-;; LPCSTR lpString);
-;;HANDLE
-;;WINAPI
-;;RemovePropW(
-;; HWND hWnd,
-;; LPCWSTR lpString);
-;;#ifdef UNICODE
-;;#define RemoveProp RemovePropW
-;;#else
-;;#define RemoveProp RemovePropA
-;;#endif // !UNICODE
-;;
-;;int
-;;WINAPI
-;;EnumPropsExA(
-;; HWND hWnd,
-;; PROPENUMPROC lpEnumFunc,
-;; LPARAM lParam);
-;;int
-;;WINAPI
-;;EnumPropsExW(
-;; HWND hWnd,
-;; PROPENUMPROC lpEnumFunc,
-;; LPARAM lParam);
-;;#ifdef UNICODE
-;;#define EnumPropsEx EnumPropsExW
-;;#else
-;;#define EnumPropsEx EnumPropsExA
-;;#endif // !UNICODE
-;;
-;;int
-;;WINAPI
-;;EnumPropsA(
-;; HWND hWnd,
-;; PROPENUMPROC lpEnumFunc);
-;;int
-;;WINAPI
-;;EnumPropsW(
-;; HWND hWnd,
-;; PROPENUMPROC lpEnumFunc);
-;;#ifdef UNICODE
-;;#define EnumProps EnumPropsW
-;;#else
-;;#define EnumProps EnumPropsA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;SetWindowTextA(
-;; HWND hWnd,
-;; LPCSTR lpString);
-;;BOOL
-;;WINAPI
-;;SetWindowTextW(
-;; HWND hWnd,
-;; LPCWSTR lpString);
-;;#ifdef UNICODE
-;;#define SetWindowText SetWindowTextW
-;;#else
-;;#define SetWindowText SetWindowTextA
-;;#endif // !UNICODE
-;;
-;;int
-;;WINAPI
-;;GetWindowTextA(
-;; HWND hWnd,
-;; LPSTR lpString,
-;; int nMaxCount);
-;;int
-;;WINAPI
-;;GetWindowTextW(
-;; HWND hWnd,
-;; LPWSTR lpString,
-;; int nMaxCount);
-;;#ifdef UNICODE
-;;#define GetWindowText GetWindowTextW
-;;#else
-;;#define GetWindowText GetWindowTextA
-;;#endif // !UNICODE
-;;
-;;int
-;;WINAPI
-;;GetWindowTextLengthA(
-;; HWND hWnd);
-;;int
-;;WINAPI
-;;GetWindowTextLengthW(
-;; HWND hWnd);
-;;#ifdef UNICODE
-;;#define GetWindowTextLength GetWindowTextLengthW
-;;#else
-;;#define GetWindowTextLength GetWindowTextLengthA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;GetClientRect(
-;; HWND hWnd,
-;; LPRECT lpRect);
-;;
-;;BOOL
-;;WINAPI
-;;GetWindowRect(
-;; HWND hWnd,
-;; LPRECT lpRect);
-;;
-;;BOOL
-;;WINAPI
-;;AdjustWindowRect(
-;; LPRECT lpRect,
-;; DWORD dwStyle,
-;; BOOL bMenu);
-;;
-;;BOOL
-;;WINAPI
-;;AdjustWindowRectEx(
-;; LPRECT lpRect,
-;; DWORD dwStyle,
-;; BOOL bMenu,
-;; DWORD dwExStyle);
-;;
-;;#ifndef NOMB
-;;
-;;/*
-;; * MessageBox() Flags
-;; */
+;; * MessageBox Flags
(define-integrable MB_OK #x00000000)
(define-integrable MB_OKCANCEL #x00000001)
(define-integrable MB_ABORTRETRYIGNORE #x00000002)
(define-integrable MB_MODEMASK #x00003000)
(define-integrable MB_MISCMASK #x0000C000)
-;;int
-;;WINAPI
-;;MessageBoxA(
-;; HWND hWnd ,
-;; LPCSTR lpText,
-;; LPCSTR lpCaption ,
-;; UINT uType);
-;;int
-;;WINAPI
-;;MessageBoxW(
-;; HWND hWnd ,
-;; LPCWSTR lpText,
-;; LPCWSTR lpCaption ,
-;; UINT uType);
-;;#ifdef UNICODE
-;;#define MessageBox MessageBoxW
-;;#else
-;;#define MessageBox MessageBoxA
-;;#endif // !UNICODE
-;;
-;;int
-;;WINAPI
-;;MessageBoxExA(
-;; HWND hWnd ,
-;; LPCSTR lpText,
-;; LPCSTR lpCaption ,
-;; UINT uType,
-;; WORD wLanguageId);
-;;int
-;;WINAPI
-;;MessageBoxExW(
-;; HWND hWnd ,
-;; LPCWSTR lpText,
-;; LPCWSTR lpCaption ,
-;; UINT uType,
-;; WORD wLanguageId);
-;;#ifdef UNICODE
-;;#define MessageBoxEx MessageBoxExW
-;;#else
-;;#define MessageBoxEx MessageBoxExA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;MessageBeep(
-;; UINT uType);
-;;
-;;#endif /* !NOMB */
-;;
-;;int
-;;WINAPI
-;;ShowCursor(
-;; BOOL bShow);
-;;
-;;BOOL
-;;WINAPI
-;;SetCursorPos(
-;; int X,
-;; int Y);
-;;
-;;HCURSOR
-;;WINAPI
-;;SetCursor(
-;; HCURSOR hCursor);
-;;
-;;BOOL
-;;WINAPI
-;;GetCursorPos(
-;; LPPOINT lpPoint);
-;;
-;;BOOL
-;;WINAPI
-;;ClipCursor(
-;; CONST RECT *lpRect);
-;;
-;;BOOL
-;;WINAPI
-;;GetClipCursor(
-;; LPRECT lpRect);
-;;
-;;HCURSOR
-;;WINAPI
-;;GetCursor(
-;; VOID);
-;;
-;;BOOL
-;;WINAPI
-;;CreateCaret(
-;; HWND hWnd,
-;; HBITMAP hBitmap ,
-;; int nWidth,
-;; int nHeight);
-;;
-;;UINT
-;;WINAPI
-;;GetCaretBlinkTime(
-;; VOID);
-;;
-;;BOOL
-;;WINAPI
-;;SetCaretBlinkTime(
-;; UINT uMSeconds);
-;;
-;;BOOL
-;;WINAPI
-;;DestroyCaret(
-;; VOID);
-;;
-;;BOOL
-;;WINAPI
-;;HideCaret(
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;ShowCaret(
-;; HWND hWnd);
-;;
-;;BOOL
-;;WINAPI
-;;SetCaretPos(
-;; int X,
-;; int Y);
-;;
-;;BOOL
-;;WINAPI
-;;GetCaretPos(
-;; LPPOINT lpPoint);
-;;
-;;BOOL
-;;WINAPI
-;;ClientToScreen(
-;; HWND hWnd,
-;; LPPOINT lpPoint);
-;;
-;;BOOL
-;;WINAPI
-;;ScreenToClient(
-;; HWND hWnd,
-;; LPPOINT lpPoint);
-;;
-;;int
-;;WINAPI
-;;MapWindowPoints(
-;; HWND hWndFrom,
-;; HWND hWndTo,
-;; LPPOINT lpPoints,
-;; UINT cPoints);
-;;
-;;HWND
-;;WINAPI
-;;WindowFromPoint(
-;; POINT Point);
-;;
-;;HWND
-;;WINAPI
-;;ChildWindowFromPoint(
-;; HWND hWndParent,
-;; POINT Point);
-;;
-;;#ifndef NOCOLOR
-;;
-;;/*
;; * Color Types
-;; */
(define-integrable CTLCOLOR_MSGBOX 0)
(define-integrable CTLCOLOR_EDIT 1)
(define-integrable CTLCOLOR_LISTBOX 2)
(define-integrable CTLCOLOR_DLG 4)
(define-integrable CTLCOLOR_SCROLLBAR 5)
(define-integrable CTLCOLOR_STATIC 6)
-(define-integrable CTLCOLOR_MAX 8) ; /* three bits max */
+(define-integrable CTLCOLOR_MAX 8) ;three bits max
(define-integrable COLOR_SCROLLBAR 0)
(define-integrable COLOR_BACKGROUND 1)
(define-integrable COLOR_INACTIVECAPTIONTEXT 19)
(define-integrable COLOR_BTNHIGHLIGHT 20)
-;;DWORD
-;;WINAPI
-;;GetSysColor(
-;; int nIndex);
-;;
-;;BOOL
-;;WINAPI
-;;SetSysColors(
-;; int cElements,
-;; CONST INT * lpaElements,
-;; CONST COLORREF * lpaRgbValues);
-;;
-;;#endif /* !NOCOLOR */
-;;
-;;BOOL
-;;WINAPI
-;;DrawFocusRect(
-;; HDC hDC,
-;; CONST RECT * lprc);
-;;
-;;int
-;;WINAPI
-;;FillRect(
-;; HDC hDC,
-;; CONST RECT *lprc,
-;; HBRUSH hbr);
-;;
-;;int
-;;WINAPI
-;;FrameRect(
-;; HDC hDC,
-;; CONST RECT *lprc,
-;; HBRUSH hbr);
-;;
-;;BOOL
-;;WINAPI
-;;InvertRect(
-;; HDC hDC,
-;; CONST RECT *lprc);
-;;
-;;BOOL
-;;WINAPI
-;;SetRect(
-;; LPRECT lprc,
-;; int xLeft,
-;; int yTop,
-;; int xRight,
-;; int yBottom);
-;;
-;;BOOL
-;;WINAPI
-;; SetRectEmpty(
-;; LPRECT lprc);
-;;
-;;BOOL
-;;WINAPI
-;;CopyRect(
-;; LPRECT lprcDst,
-;; CONST RECT *lprcSrc);
-;;
-;;BOOL
-;;WINAPI
-;;InflateRect(
-;; LPRECT lprc,
-;; int dx,
-;; int dy);
-;;
-;;BOOL
-;;WINAPI
-;;IntersectRect(
-;; LPRECT lprcDst,
-;; CONST RECT *lprcSrc1,
-;; CONST RECT *lprcSrc2);
-;;
-;;BOOL
-;;WINAPI
-;;UnionRect(
-;; LPRECT lprcDst,
-;; CONST RECT *lprcSrc1,
-;; CONST RECT *lprcSrc2);
-;;
-;;BOOL
-;;WINAPI
-;;SubtractRect(
-;; LPRECT lprcDst,
-;; CONST RECT *lprcSrc1,
-;; CONST RECT *lprcSrc2);
-;;
-;;BOOL
-;;WINAPI
-;;OffsetRect(
-;; LPRECT lprc,
-;; int dx,
-;; int dy);
-;;
-;;BOOL
-;;WINAPI
-;;IsRectEmpty(
-;; CONST RECT *lprc);
-;;
-;;BOOL
-;;WINAPI
-;;EqualRect(
-;; CONST RECT *lprc1,
-;; CONST RECT *lprc2);
-;;
-;;BOOL
-;;WINAPI
-;;PtInRect(
-;; CONST RECT *lprc,
-;; POINT pt);
-;;
-;;#ifndef NOWINOFFSETS
-;;
-;;WORD
-;;WINAPI
-;;GetWindowWord(
-;; HWND hWnd,
-;; int nIndex);
-;;
-;;WORD
-;;WINAPI
-;;SetWindowWord(
-;; HWND hWnd,
-;; int nIndex,
-;; WORD wNewWord);
-;;
-;;LONG
-;;WINAPI
-;;GetWindowLongA(
-;; HWND hWnd,
-;; int nIndex);
-;;LONG
-;;WINAPI
-;;GetWindowLongW(
-;; HWND hWnd,
-;; int nIndex);
-;;#ifdef UNICODE
-;;#define GetWindowLong GetWindowLongW
-;;#else
-;;#define GetWindowLong GetWindowLongA
-;;#endif // !UNICODE
-;;
-;;LONG
-;;WINAPI
-;;SetWindowLongA(
-;; HWND hWnd,
-;; int nIndex,
-;; LONG dwNewLong);
-;;LONG
-;;WINAPI
-;;SetWindowLongW(
-;; HWND hWnd,
-;; int nIndex,
-;; LONG dwNewLong);
-;;#ifdef UNICODE
-;;#define SetWindowLong SetWindowLongW
-;;#else
-;;#define SetWindowLong SetWindowLongA
-;;#endif // !UNICODE
-;;
-;;WORD
-;;WINAPI
-;;GetClassWord(
-;; HWND hWnd,
-;; int nIndex);
-;;
-;;WORD
-;;WINAPI
-;;SetClassWord(
-;; HWND hWnd,
-;; int nIndex,
-;; WORD wNewWord);
-;;
-;;DWORD
-;;WINAPI
-;;GetClassLongA(
-;; HWND hWnd,
-;; int nIndex);
-;;DWORD
-;;WINAPI
-;;GetClassLongW(
-;; HWND hWnd,
-;; int nIndex);
-;;#ifdef UNICODE
-;;#define GetClassLong GetClassLongW
-;;#else
-;;#define GetClassLong GetClassLongA
-;;#endif // !UNICODE
-;;
-;;DWORD
-;;WINAPI
-;;SetClassLongA(
-;; HWND hWnd,
-;; int nIndex,
-;; LONG dwNewLong);
-;;DWORD
-;;WINAPI
-;;SetClassLongW(
-;; HWND hWnd,
-;; int nIndex,
-;; LONG dwNewLong);
-;;#ifdef UNICODE
-;;#define SetClassLong SetClassLongW
-;;#else
-;;#define SetClassLong SetClassLongA
-;;#endif // !UNICODE
-;;
-;;#endif /* !NOWINOFFSETS */
-;;
-;;HWND
-;;WINAPI
-;;GetDesktopWindow(
-;; VOID);
-;;
-;;BOOL
-;;WINAPI
-;;SetDeskWallpaper(
-;; LPCSTR lpString);
-;;
-;;HWND
-;;WINAPI
-;;GetParent(
-;; HWND hWnd);
-;;
-;;HWND
-;;WINAPI
-;;SetParent(
-;; HWND hWndChild,
-;; HWND hWndNewParent);
-;;
-;;BOOL
-;;WINAPI
-;;EnumChildWindows(
-;; HWND hWndParent,
-;; WNDENUMPROC lpEnumFunc,
-;; LPARAM lParam);
-;;
-;;HWND
-;;WINAPI
-;;FindWindowA(
-;; LPCSTR lpClassName ,
-;; LPCSTR lpWindowName);
-;;HWND
-;;WINAPI
-;;FindWindowW(
-;; LPCWSTR lpClassName ,
-;; LPCWSTR lpWindowName);
-;;#ifdef UNICODE
-;;#define FindWindow FindWindowW
-;;#else
-;;#define FindWindow FindWindowA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;EnumWindows(
-;; WNDENUMPROC lpEnumFunc,
-;; LPARAM lParam);
-;;
-;;BOOL
-;;WINAPI
-;;EnumThreadWindows(
-;; DWORD dwThreadId,
-;; WNDENUMPROC lpfn,
-;; LPARAM lParam);
-;;
-;;#define EnumTaskWindows(hTask, lpfn, lParam) EnumThreadWindows((DWORD)hTask, lpfn, lParam)
-;;
-;;int
-;;WINAPI
-;;GetClassNameA(
-;; HWND hWnd,
-;; LPSTR lpClassName,
-;; int nMaxCount);
-;;int
-;;WINAPI
-;;GetClassNameW(
-;; HWND hWnd,
-;; LPWSTR lpClassName,
-;; int nMaxCount);
-;;#ifdef UNICODE
-;;#define GetClassName GetClassNameW
-;;#else
-;;#define GetClassName GetClassNameA
-;;#endif // !UNICODE
-;;
-;;HWND
-;;WINAPI
-;;GetTopWindow(
-;; HWND hWnd);
-;;
-;;#define GetNextWindow(hWnd, wCmd) GetWindow(hWnd, wCmd)
-;;#define GetSysModalWindow() (NULL)
-;;#define SetSysModalWindow(hWnd) (NULL)
-;;
-;;DWORD
-;;WINAPI
-;;GetWindowThreadProcessId(
-;; HWND hWnd,
-;; LPDWORD lpdwProcessId);
-;;
-;;#define GetWindowTask(hWnd) \
-;; ((HANDLE)GetWindowThreadProcessId(hWnd, NULL))
-;;
-;;HWND
-;;WINAPI
-;;GetLastActivePopup(
-;; HWND hWnd);
-;;
-;;/*
-;; * GetWindow() Constants
-;; */
+;; * GetWindow Constants
(define-integrable GW_HWNDFIRST 0)
(define-integrable GW_HWNDLAST 1)
(define-integrable GW_HWNDNEXT 2)
(define-integrable GW_CHILD 5)
(define-integrable GW_MAX 5)
-;;HWND
-;;WINAPI
-;;GetWindow(
-;; HWND hWnd,
-;; UINT uCmd);
-;;
-;;#ifndef NOWH
-;;
-;;#ifdef STRICT
-;;
-;;HHOOK
-;;WINAPI
-;;SetWindowsHookA(
-;; int nFilterType,
-;; HOOKPROC pfnFilterProc);
-;;HHOOK
-;;WINAPI
-;;SetWindowsHookW(
-;; int nFilterType,
-;; HOOKPROC pfnFilterProc);
-;;#ifdef UNICODE
-;;#define SetWindowsHook SetWindowsHookW
-;;#else
-;;#define SetWindowsHook SetWindowsHookA
-;;#endif // !UNICODE
-;;
-;;#else /* !STRICT */
-;;
-;;HOOKPROC
-;;WINAPI
-;;SetWindowsHookA(
-;; int nFilterType,
-;; HOOKPROC pfnFilterProc);
-;;HOOKPROC
-;;WINAPI
-;;SetWindowsHookW(
-;; int nFilterType,
-;; HOOKPROC pfnFilterProc);
-;;#ifdef UNICODE
-;;#define SetWindowsHook SetWindowsHookW
-;;#else
-;;#define SetWindowsHook SetWindowsHookA
-;;#endif // !UNICODE
-;;
-;;#endif /* !STRICT */
-;;
-;;BOOL
-;;WINAPI
-;;UnhookWindowsHook(
-;; int nCode,
-;; HOOKPROC pfnFilterProc);
-;;
-;;HHOOK
-;;WINAPI
-;;SetWindowsHookExA(
-;; int idHook,
-;; HOOKPROC lpfn,
-;; HINSTANCE hmod,
-;; DWORD dwThreadId);
-;;HHOOK
-;;WINAPI
-;;SetWindowsHookExW(
-;; int idHook,
-;; HOOKPROC lpfn,
-;; HINSTANCE hmod,
-;; DWORD dwThreadId);
-;;#ifdef UNICODE
-;;#define SetWindowsHookEx SetWindowsHookExW
-;;#else
-;;#define SetWindowsHookEx SetWindowsHookExA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;UnhookWindowsHookEx(
-;; HHOOK hhk);
-;;
-;;LRESULT
-;;WINAPI CallNextHookEx(
-;; HHOOK hhk,
-;; int nCode,
-;; WPARAM wParam,
-;; LPARAM lParam);
-;;
-;;/*
-;; * Macros for source-level compatibility with old functions.
-;; */
-;;#ifdef STRICT
-;;#define DefHookProc(nCode, wParam, lParam, phhk)\
-;; CallNextHookEx(*phhk, nCode, wParam, lParam)
-;;#else
-;;#define DefHookProc(nCode, wParam, lParam, phhk)\
-;; CallNextHookEx((HHOOK)*phhk, nCode, wParam, lParam)
-;;#endif // STRICT
-;;
-;;#endif /* !NOWH */
-;;
-;;#ifndef NOMENUS
-;;
-;;/*
-;; * Menu flags for Add/Check/EnableMenuItem()
-;; */
+;; * Menu flags for Add/Check/EnableMenuItem
(define-integrable MF_INSERT #x00000000)
(define-integrable MF_CHANGE #x00000080)
(define-integrable MF_APPEND #x00000100)
(define-integrable MF_HELP #x00004000)
(define-integrable MF_MOUSESELECT #x00008000)
-
-;;/*
-;; * Menu item resource format
-;; */
-;;typedef struct {
-;; WORD versionNumber;
-;; WORD offset;
-;;} MENUITEMTEMPLATEHEADER;
-;;
-;;typedef struct {
-;; WORD mtOption;
-;; WORD mtID;
-;; char mtString[1];
-;;} MENUITEMTEMPLATE;
-;;
-;;#define MF_END 0x00000080L
-;;
-;;#endif /* !NOMENUS */
-;;
-;;#ifndef NOSYSCOMMANDS
-;;
-;;/*
;; * System Menu Command Values
-;; */
(define-integrable SC_SIZE #xF000)
(define-integrable SC_MOVE #xF010)
(define-integrable SC_MINIMIZE #xF020)
(define-integrable SC_SCREENSAVE #xF140)
(define-integrable SC_HOTKEY #xF150)
-;;/*
;; * Obsolete names
-;; */
(define-integrable SC_ICON SC_MINIMIZE)
(define-integrable SC_ZOOM SC_MAXIMIZE)
-;;#endif /* !NOSYSCOMMANDS */
-;;
-;;/*
-;; * Resource Loading Routines
-;; */
-;;
-;;HBITMAP
-;;WINAPI
-;;LoadBitmapA(
-;; HINSTANCE hInstance,
-;; LPCSTR lpBitmapName);
-;;HBITMAP
-;;WINAPI
-;;LoadBitmapW(
-;; HINSTANCE hInstance,
-;; LPCWSTR lpBitmapName);
-;;#ifdef UNICODE
-;;#define LoadBitmap LoadBitmapW
-;;#else
-;;#define LoadBitmap LoadBitmapA
-;;#endif // !UNICODE
-;;
-;;HCURSOR
-;;WINAPI
-;;LoadCursorA(
-;; HINSTANCE hInstance,
-;; LPCSTR lpCursorName);
-;;HCURSOR
-;;WINAPI
-;;LoadCursorW(
-;; HINSTANCE hInstance,
-;; LPCWSTR lpCursorName);
-;;#ifdef UNICODE
-;;#define LoadCursor LoadCursorW
-;;#else
-;;#define LoadCursor LoadCursorA
-;;#endif // !UNICODE
-;;
-;;HCURSOR
-;;WINAPI
-;;CreateCursor(
-;; HINSTANCE hInst,
-;; int xHotSpot,
-;; int yHotSpot,
-;; int nWidth,
-;; int nHeight,
-;; CONST VOID *pvANDPlane,
-;; CONST VOID *pvXORPlane);
-;;
-;;BOOL
-;;WINAPI
-;;DestroyCursor(
-;; HCURSOR hCursor);
-;;
-;;#define CopyCursor(pcur) ((HCURSOR)CopyIcon((HICON)(pcur)))
-;;
-;;/*
;; * Standard Cursor IDs
-;; */
(define-integrable IDC_ARROW 32512)
(define-integrable IDC_IBEAM 32513)
(define-integrable IDC_WAIT 32514)
(define-integrable IDC_NO 32648) ; //not in win3.1
(define-integrable IDC_APPSTARTING 32650) ; //not in win3.1
-;;typedef struct _ICONINFO {
-;; BOOL fIcon;
-;; DWORD xHotspot;
-;; DWORD yHotspot;
-;; HBITMAP hbmMask;
-;; HBITMAP hbmColor;
-;;} ICONINFO;
-;;typedef ICONINFO *PICONINFO;
-;;
-;;HICON
-;;WINAPI
-;;LoadIconA(
-;; HINSTANCE hInstance,
-;; LPCSTR lpIconName);
-;;HICON
-;;WINAPI
-;;LoadIconW(
-;; HINSTANCE hInstance,
-;; LPCWSTR lpIconName);
-;;#ifdef UNICODE
-;;#define LoadIcon LoadIconW
-;;#else
-;;#define LoadIcon LoadIconA
-;;#endif // !UNICODE
-;;
-;;HICON
-;;WINAPI
-;;CreateIcon(
-;; HINSTANCE hInstance,
-;; int nWidth,
-;; int nHeight,
-;; BYTE cPlanes,
-;; BYTE cBitsPixel,
-;; CONST BYTE *lpbANDbits,
-;; CONST BYTE *lpbXORbits);
-;;
-;;BOOL
-;;WINAPI
-;;DestroyIcon(
-;; HICON hIcon);
-;;
-;;int
-;;WINAPI
-;;LookupIconIdFromDirectory(
-;; PBYTE presbits,
-;; BOOL fIcon);
-;;
-;;HICON
-;;WINAPI
-;;CreateIconFromResource(
-;; PBYTE presbits,
-;; DWORD dwResSize,
-;; BOOL fIcon,
-;; DWORD dwVer);
-;;
-;;HICON
-;;WINAPI
-;;CreateIconIndirect(
-;; PICONINFO piconinfo);
-;;
-;;HICON
-;;WINAPI
-;;CopyIcon(
-;; HICON hIcon);
-;;
-;;BOOL
-;;WINAPI
-;;GetIconInfo(
-;; HICON hIcon,
-;; PICONINFO piconinfo);
-;;
-;;#ifdef OEMRESOURCE
-;;
-;;/*
;; * OEM Resource Ordinal Numbers
-;; */
(define-integrable OBM_CLOSE 32754)
(define-integrable OBM_UPARROW 32753)
(define-integrable OBM_DNARROW 32752)
(define-integrable OIC_BANG 32515)
(define-integrable OIC_NOTE 32516)
-;;#endif /* OEMRESOURCE */
+(define-integrable ORD_LANGDRIVER 1) ;The ordinal number for the entry point of
-(define-integrable ORD_LANGDRIVER 1) ; /* The ordinal number for the entry point of
-;; ** language drivers.
-;; */
-;;
-;;#ifndef NOICONS
-;;
-;;/*
;; * Standard Icon IDs
-;; */
(define-integrable IDI_APPLICATION 32512)
(define-integrable IDI_HAND 32513)
(define-integrable IDI_QUESTION 32514)
(define-integrable IDI_EXCLAMATION 32515)
(define-integrable IDI_ASTERISK 32516)
-;;#endif /* !NOICONS */
-;;
-;;int
-;;WINAPI
-;;LoadStringA(
-;; HINSTANCE hInstance,
-;; UINT uID,
-;; LPSTR lpBuffer,
-;; int nBufferMax);
-;;int
-;;WINAPI
-;;LoadStringW(
-;; HINSTANCE hInstance,
-;; UINT uID,
-;; LPWSTR lpBuffer,
-;; int nBufferMax);
-;;#ifdef UNICODE
-;;#define LoadString LoadStringW
-;;#else
-;;#define LoadString LoadStringA
-;;#endif // !UNICODE
-;;
-;;/*
;; * Dialog Box Command IDs
-;; */
(define-integrable IDOK 1)
(define-integrable IDCANCEL 2)
(define-integrable IDABORT 3)
(define-integrable IDYES 6)
(define-integrable IDNO 7)
-;;#ifndef NOCTLMGR
-;;
-;;/*
-;; * Control Manager Structures and Definitions
-;; */
-;;
-;;#ifndef NOWINSTYLES
-;;
-;;/*
;; * Edit Control Styles
-;; */
(define-integrable ES_LEFT #x0000)
(define-integrable ES_CENTER #x0001)
(define-integrable ES_RIGHT #x0002)
(define-integrable ES_WANTRETURN #x1000)
-;;#endif /* !NOWINSTYLES */
-;;
-;;/*
;; * Edit Control Notification Codes
-;; */
(define-integrable EN_SETFOCUS #x0100)
(define-integrable EN_KILLFOCUS #x0200)
(define-integrable EN_CHANGE #x0300)
(define-integrable EN_HSCROLL #x0601)
(define-integrable EN_VSCROLL #x0602)
-;;#ifndef NOWINMESSAGES
-;;
-;;/*
;; * Edit Control Messages
-;; */
(define-integrable EM_GETSEL #x00B0)
(define-integrable EM_SETSEL #x00B1)
(define-integrable EM_GETRECT #x00B2)
(define-integrable EM_GETWORDBREAKPROC #x00D1)
(define-integrable EM_GETPASSWORDCHAR #x00D2)
-;;#endif /* !NOWINMESSAGES */
-;;
-;;/*
;; * EDITWORDBREAKPROC code values
-;; */
(define-integrable WB_LEFT 0)
(define-integrable WB_RIGHT 1)
(define-integrable WB_ISDELIMITER 2)
-;;/*
;; * Button Control Styles
-;; */
(define-integrable BS_PUSHBUTTON #x00)
(define-integrable BS_DEFPUSHBUTTON #x01)
(define-integrable BS_CHECKBOX #x02)
(define-integrable BS_OWNERDRAW #x0B)
(define-integrable BS_LEFTTEXT #x20)
-
-;;/*
;; * User Button Notification Codes
-;; */
(define-integrable BN_CLICKED 0)
(define-integrable BN_PAINT 1)
(define-integrable BN_HILITE 2)
(define-integrable BN_DISABLE 4)
(define-integrable BN_DOUBLECLICKED 5)
-;;/*
;; * Button Control Messages
-;; */
(define-integrable BM_GETCHECK #x00F0)
(define-integrable BM_SETCHECK #x00F1)
(define-integrable BM_GETSTATE #x00F2)
(define-integrable BM_SETSTATE #x00F3)
(define-integrable BM_SETSTYLE #x00F4)
-;;/*
;; * Static Control Constants
-;; */
(define-integrable SS_LEFT #x00)
(define-integrable SS_CENTER #x01)
(define-integrable SS_RIGHT #x02)
(define-integrable SS_USERITEM #x0A)
(define-integrable SS_SIMPLE #x0B)
(define-integrable SS_LEFTNOWORDWRAP #x0C)
-(define-integrable SS_NOPREFIX #x80) ; /* Don't do "&" character translation */
+(define-integrable SS_NOPREFIX #x80) ;Don't do "&" character translation
-;;#ifndef NOWINMESSAGES
-;;/*
;; * Static Control Mesages
-;; */
(define-integrable STM_SETICON #x170)
(define-integrable STM_GETICON #x171)
(define-integrable STM_MSGMAX #x172)
-;;#endif /* !NOWINMESSAGES */
-;;/*
;; * Dialog window class
-;; */
(define-integrable WC_DIALOG #x8002) ; (MAKEINTATOM(0x8002))
-;;/*
;; * Get/SetWindowWord/Long offsets for use with WC_DIALOG windows
-;; */
(define-integrable DWL_MSGRESULT 0)
(define-integrable DWL_DLGPROC 4)
(define-integrable DWL_USER 8)
-;;/*
-;; * Dialog Manager Routines
-;; */
-;;
-;;#ifndef NOMSG
-;;BOOL
-;;WINAPI
-;;IsDialogMessage(
-;; HWND hDlg,
-;; LPMSG lpMsg);
-;;#endif /* !NOMSG */
-;;
-;;BOOL
-;;WINAPI
-;;MapDialogRect(
-;; HWND hDlg,
-;; LPRECT lpRect);
-;;
-;;int
-;;WINAPI
-;;DlgDirListA(
-;; HWND hDlg,
-;; LPSTR lpPathSpec,
-;; int nIDListBox,
-;; int nIDStaticPath,
-;; UINT uFileType);
-;;int
-;;WINAPI
-;;DlgDirListW(
-;; HWND hDlg,
-;; LPWSTR lpPathSpec,
-;; int nIDListBox,
-;; int nIDStaticPath,
-;; UINT uFileType);
-;;#ifdef UNICODE
-;;#define DlgDirList DlgDirListW
-;;#else
-;;#define DlgDirList DlgDirListA
-;;#endif // !UNICODE
-;;
-;;/*
;; * DlgDirList, DlgDirListComboBox flags values
-;; */
(define-integrable DDL_READWRITE #x0000)
(define-integrable DDL_READONLY #x0001)
(define-integrable DDL_HIDDEN #x0002)
(define-integrable DDL_DRIVES #x4000)
(define-integrable DDL_EXCLUSIVE #x8000)
-
-;;BOOL
-;;WINAPI
-;;DlgDirSelectExA(
-;; HWND hDlg,
-;; LPSTR lpString,
-;; int nCount,
-;; int nIDListBox);
-;;BOOL
-;;WINAPI
-;;DlgDirSelectExW(
-;; HWND hDlg,
-;; LPWSTR lpString,
-;; int nCount,
-;; int nIDListBox);
-;;#ifdef UNICODE
-;;#define DlgDirSelectEx DlgDirSelectExW
-;;#else
-;;#define DlgDirSelectEx DlgDirSelectExA
-;;#endif // !UNICODE
-;;
-;;int
-;;WINAPI
-;;DlgDirListComboBoxA(
-;; HWND hDlg,
-;; LPSTR lpPathSpec,
-;; int nIDComboBox,
-;; int nIDStaticPath,
-;; UINT uFiletype);
-;;int
-;;WINAPI
-;;DlgDirListComboBoxW(
-;; HWND hDlg,
-;; LPWSTR lpPathSpec,
-;; int nIDComboBox,
-;; int nIDStaticPath,
-;; UINT uFiletype);
-;;#ifdef UNICODE
-;;#define DlgDirListComboBox DlgDirListComboBoxW
-;;#else
-;;#define DlgDirListComboBox DlgDirListComboBoxA
-;;#endif // !UNICODE
-;;
-;;BOOL
-;;WINAPI
-;;DlgDirSelectComboBoxExA(
-;; HWND hDlg,
-;; LPSTR lpString,
-;; int nCount,
-;; int nIDComboBox);
-;;BOOL
-;;WINAPI
-;;DlgDirSelectComboBoxExW(
-;; HWND hDlg,
-;; LPWSTR lpString,
-;; int nCount,
-;; int nIDComboBox);
-;;#ifdef UNICODE
-;;#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW
-;;#else
-;;#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA
-;;#endif // !UNICODE
-;;
-;;/*
;; * Dialog Styles
-;; */
(define-integrable DS_ABSALIGN #x01)
(define-integrable DS_SYSMODAL #x02)
-(define-integrable DS_LOCALEDIT #x20) ; /* Edit items get Local storage. */
-(define-integrable DS_SETFONT #x40) ; /* User specified font for Dlg controls */
-(define-integrable DS_MODALFRAME #x80) ; /* Can be combined with WS_CAPTION */
-(define-integrable DS_NOIDLEMSG #x100) ; /* WM_ENTERIDLE message will not be sent */
+(define-integrable DS_LOCALEDIT #x20) ;Edit items get Local storage.
+(define-integrable DS_SETFONT #x40) ;User specified font for Dlg controls
+(define-integrable DS_MODALFRAME #x80) ;Can be combined with WS_CAPTION
+(define-integrable DS_NOIDLEMSG #x100) ;WM_ENTERIDLE message will not be sent
(define-integrable DS_SETFOREGROUND #x200) ; //not in win3.1
(define-integrable DM_GETDEFID (+ WM_USER 0))
(define-integrable DM_SETDEFID (+ WM_USER 1))
-;;/*
-;; * Returned in HIWORD() of DM_GETDEFID result if msg is supported
-;; */
+;; * Returned in HIWORD of DM_GETDEFID result if msg is supported
(define-integrable DC_HASDEFID #x534B)
-;;/*
;; * Dialog Codes
-;; */
-(define-integrable DLGC_WANTARROWS #x0001) ; /* Control wants arrow keys */
-(define-integrable DLGC_WANTTAB #x0002) ; /* Control wants tab keys */
-(define-integrable DLGC_WANTALLKEYS #x0004) ; /* Control wants all keys */
-(define-integrable DLGC_WANTMESSAGE #x0004) ; /* Pass message to control */
-(define-integrable DLGC_HASSETSEL #x0008) ; /* Understands EM_SETSEL message */
-(define-integrable DLGC_DEFPUSHBUTTON #x0010) ; /* Default pushbutton */
-(define-integrable DLGC_UNDEFPUSHBUTTON #x0020) ; /* Non-default pushbutton */
-(define-integrable DLGC_RADIOBUTTON #x0040) ; /* Radio button */
-(define-integrable DLGC_WANTCHARS #x0080) ; /* Want WM_CHAR messages */
-(define-integrable DLGC_STATIC #x0100) ; /* Static item: don't include */
-(define-integrable DLGC_BUTTON #x2000) ; /* Button item: can be checked */
+(define-integrable DLGC_WANTARROWS #x0001) ;Control wants arrow keys
+(define-integrable DLGC_WANTTAB #x0002) ;Control wants tab keys
+(define-integrable DLGC_WANTALLKEYS #x0004) ;Control wants all keys
+(define-integrable DLGC_WANTMESSAGE #x0004) ;Pass message to control
+(define-integrable DLGC_HASSETSEL #x0008) ;Understands EM_SETSEL message
+(define-integrable DLGC_DEFPUSHBUTTON #x0010) ;Default pushbutton
+(define-integrable DLGC_UNDEFPUSHBUTTON #x0020) ;Non-default pushbutton
+(define-integrable DLGC_RADIOBUTTON #x0040) ;Radio button
+(define-integrable DLGC_WANTCHARS #x0080) ;Want WM_CHAR messages
+(define-integrable DLGC_STATIC #x0100) ;Static item: don't include
+(define-integrable DLGC_BUTTON #x2000) ;Button item: can be checked
(define-integrable LB_CTLCODE 0)
-;;/*
;; * Listbox Return Values
-;; */
(define-integrable LB_OKAY 0)
(define-integrable LB_ERR -1)
(define-integrable LB_ERRSPACE -2)
-;;/*
-;;** The idStaticPath parameter to DlgDirList can have the following values
-;;** ORed if the list box should show other details of the files along with
-;;** the name of the files;
-;;*/
-;; /* all other details also will be returned */
-;;
-;;
-;;/*
;; * Listbox Notification Codes
-;; */
(define-integrable LBN_ERRSPACE -2)
(define-integrable LBN_SELCHANGE 1)
(define-integrable LBN_DBLCLK 2)
(define-integrable LBN_SETFOCUS 4)
(define-integrable LBN_KILLFOCUS 5)
-
-
-;;#ifndef NOWINMESSAGES
-;;
-;;/*
;; * Listbox messages
-;; */
(define-integrable LB_ADDSTRING #x0180)
(define-integrable LB_INSERTSTRING #x0181)
(define-integrable LB_DELETESTRING #x0182)
(define-integrable LB_SETCOUNT #x01A7)
(define-integrable LB_MSGMAX #x01A8)
-;;#endif /* !NOWINMESSAGES */
-;;
-;;#ifndef NOWINSTYLES
-;;
-;;/*
;; * Listbox Styles
-;; */
(define-integrable LBS_NOTIFY #x0001)
(define-integrable LBS_SORT #x0002)
(define-integrable LBS_NOREDRAW #x0004)
(define-integrable LBS_NODATA #x2000)
(define-integrable LBS_STANDARD (+ LBS_NOTIFY LBS_SORT WS_VSCROLL WS_BORDER))
-;;#endif /* !NOWINSTYLES */
-;;
-;;
-;;/*
;; * Combo Box return Values
-;; */
(define-integrable CB_OKAY 0)
(define-integrable CB_ERR -1)
(define-integrable CB_ERRSPACE -2)
-
-;;/*
;; * Combo Box Notification Codes
-;; */
(define-integrable CBN_ERRSPACE -1)
(define-integrable CBN_SELCHANGE 1)
(define-integrable CBN_DBLCLK 2)
(define-integrable CBN_SELENDOK 9)
(define-integrable CBN_SELENDCANCEL 10)
-;;/*
;; * Combo Box styles
-;; */
-;;#ifndef NOWINSTYLES
(define-integrable CBS_SIMPLE #x0001)
(define-integrable CBS_DROPDOWN #x0002)
(define-integrable CBS_DROPDOWNLIST #x0003)
(define-integrable CBS_HASSTRINGS #x0200)
(define-integrable CBS_NOINTEGRALHEIGHT #x0400)
(define-integrable CBS_DISABLENOSCROLL #x0800)
-;;#endif /* !NOWINSTYLES */
-
-;;/*
;; * Combo Box messages
-;; */
-;;#ifndef NOWINMESSAGES
(define-integrable CB_GETEDITSEL #x0140)
(define-integrable CB_LIMITTEXT #x0141)
(define-integrable CB_SETEDITSEL #x0142)
(define-integrable CB_SETLOCALE #x0159)
(define-integrable CB_GETLOCALE #x015a)
(define-integrable CB_MSGMAX #x015b)
-;;#endif /* !NOWINMESSAGES */
-
-
-;;#ifndef NOWINSTYLES
-;;
-;;/*
;; * Scroll Bar Styles
-;; */
(define-integrable SBS_HORZ #x0000)
(define-integrable SBS_VERT #x0001)
(define-integrable SBS_TOPALIGN #x0002)
(define-integrable SBS_SIZEBOXTOPLEFTALIGN #x0002)
(define-integrable SBS_SIZEBOXBOTTOMRIGHTALIGN #x0004)
(define-integrable SBS_SIZEBOX #x0008)
-;;#endif /* !NOWINSTYLES */
-;;/*
;; * Scroll bar messages
-;; */
-;;#ifndef NOWINMESSAGES
(define-integrable SBM_SETPOS #x00E0) ; //not in win3.1
(define-integrable SBM_GETPOS #x00E1) ; //not in win3.1
(define-integrable SBM_SETRANGE #x00E2) ; //not in win3.1
(define-integrable SBM_SETRANGEREDRAW #x00E6) ; //not in win3.1
(define-integrable SBM_GETRANGE #x00E3) ; //not in win3.1
(define-integrable SBM_ENABLE_ARROWS #x00E4) ; //not in win3.1
-;;#endif /* !NOWINMESSAGES */
-;;#endif /* !NOCTLMGR */
-
-;;#ifndef NOMDI
-;;/*
;; * MDI client style bits
-;; */
(define-integrable MDIS_ALLCHILDSTYLES #x0001)
-;;/*
;; * wParam Flags for WM_MDITILE and WM_MDICASCADE messages.
-;; */
(define-integrable MDITILE_VERTICAL #x0000) ; //not in win3.1
(define-integrable MDITILE_HORIZONTAL #x0001) ; //not in win3.1
(define-integrable MDITILE_SKIPDISABLED #x0002) ; //not in win3.1
-;;typedef struct tagMDICREATESTRUCTA {
-;; LPCSTR szClass;
-;; LPCSTR szTitle;
-;; HANDLE hOwner;
-;; int x;
-;; int y;
-;; int cx;
-;; int cy;
-;; DWORD style;
-;; LPARAM lParam; /* app-defined stuff */
-;;} MDICREATESTRUCTA, *LPMDICREATESTRUCTA;
-;;typedef struct tagMDICREATESTRUCTW {
-;; LPCWSTR szClass;
-;; LPCWSTR szTitle;
-;; HANDLE hOwner;
-;; int x;
-;; int y;
-;; int cx;
-;; int cy;
-;; DWORD style;
-;; LPARAM lParam; /* app-defined stuff */
-;;} MDICREATESTRUCTW, *LPMDICREATESTRUCTW;
-;;#ifdef UNICODE
-;;typedef MDICREATESTRUCTW MDICREATESTRUCT;
-;;typedef LPMDICREATESTRUCTW LPMDICREATESTRUCT;
-;;#else
-;;typedef MDICREATESTRUCTA MDICREATESTRUCT;
-;;typedef LPMDICREATESTRUCTA LPMDICREATESTRUCT;
-;;#endif // UNICODE
-;;
-;;typedef struct tagCLIENTCREATESTRUCT {
-;; HANDLE hWindowMenu;
-;; UINT idFirstChild;
-;;} CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
-;;
-;;LRESULT
-;;WINAPI
-;;DefFrameProcA(
-;; HWND hWnd,
-;; HWND hWndMDIClient ,
-;; UINT uMsg,
-;; WPARAM wParam,
-;; LPARAM lParam);
-;;LRESULT
-;;WINAPI
-;;DefFrameProcW(
-;; HWND hWnd,
-;; HWND hWndMDIClient ,
-;; UINT uMsg,
-;; WPARAM wParam,
-;; LPARAM lParam);
-;;#ifdef UNICODE
-;;#define DefFrameProc DefFrameProcW
-;;#else
-;;#define DefFrameProc DefFrameProcA
-;;#endif // !UNICODE
-;;
-;;LRESULT
-;;WINAPI
-;;DefMDIChildProcA(
-;; HWND hWnd,
-;; UINT uMsg,
-;; WPARAM wParam,
-;; LPARAM lParam);
-;;LRESULT
-;;WINAPI
-;;DefMDIChildProcW(
-;; HWND hWnd,
-;; UINT uMsg,
-;; WPARAM wParam,
-;; LPARAM lParam);
-;;#ifdef UNICODE
-;;#define DefMDIChildProc DefMDIChildProcW
-;;#else
-;;#define DefMDIChildProc DefMDIChildProcA
-;;#endif // !UNICODE
-;;
-;;#ifndef NOMSG
-;;BOOL
-;;WINAPI
-;;TranslateMDISysAccel(
-;; HWND hWndClient,
-;; LPMSG lpMsg);
-;;#endif /* !NOMSG */
-;;
-;;UINT
-;;WINAPI
-;;ArrangeIconicWindows(
-;; HWND hWnd);
-;;
-;;HWND
-;;WINAPI
-;;CreateMDIWindowA(
-;; LPSTR lpClassName,
-;; LPSTR lpWindowName,
-;; DWORD dwStyle,
-;; int X,
-;; int Y,
-;; int nWidth,
-;; int nHeight,
-;; HWND hWndParent,
-;; HINSTANCE hInstance,
-;; LPARAM lParam
-;; );
-;;HWND
-;;WINAPI
-;;CreateMDIWindowW(
-;; LPWSTR lpClassName,
-;; LPWSTR lpWindowName,
-;; DWORD dwStyle,
-;; int X,
-;; int Y,
-;; int nWidth,
-;; int nHeight,
-;; HWND hWndParent,
-;; HINSTANCE hInstance,
-;; LPARAM lParam
-;; );
-;;#ifdef UNICODE
-;;#define CreateMDIWindow CreateMDIWindowW
-;;#else
-;;#define CreateMDIWindow CreateMDIWindowA
-;;#endif // !UNICODE
-;;
-;;#endif /* !NOMDI */
-;;#endif /* !NOUSER */
-;;
-;;/****** Help support ********************************************************/
-;;
-;;#ifndef NOHELP
-;;
-;;typedef DWORD HELPPOLY;
-;;typedef struct tagMULTIKEYHELPA {
-;; DWORD mkSize;
-;; CHAR mkKeylist;
-;; CHAR szKeyphrase[1];
-;;} MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
-;;typedef struct tagMULTIKEYHELPW {
-;; DWORD mkSize;
-;; WCHAR mkKeylist;
-;; WCHAR szKeyphrase[1];
-;;} MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
-;;#ifdef UNICODE
-;;typedef MULTIKEYHELPW MULTIKEYHELP;
-;;typedef PMULTIKEYHELPW PMULTIKEYHELP;
-;;typedef LPMULTIKEYHELPW LPMULTIKEYHELP;
-;;#else
-;;typedef MULTIKEYHELPA MULTIKEYHELP;
-;;typedef PMULTIKEYHELPA PMULTIKEYHELP;
-;;typedef LPMULTIKEYHELPA LPMULTIKEYHELP;
-;;#endif // UNICODE
-;;
-;;typedef struct tagHELPWININFOA {
-;; int wStructSize;
-;; int x;
-;; int y;
-;; int dx;
-;; int dy;
-;; int wMax;
-;; CHAR rgchMember[2];
-;;} HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
-;;typedef struct tagHELPWININFOW {
-;; int wStructSize;
-;; int x;
-;; int y;
-;; int dx;
-;; int dy;
-;; int wMax;
-;; WCHAR rgchMember[2];
-;;} HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
-;;#ifdef UNICODE
-;;typedef HELPWININFOW HELPWININFO;
-;;typedef PHELPWININFOW PHELPWININFO;
-;;typedef LPHELPWININFOW LPHELPWININFO;
-;;#else
-;;typedef HELPWININFOA HELPWININFO;
-;;typedef PHELPWININFOA PHELPWININFO;
-;;typedef LPHELPWININFOA LPHELPWININFO;
-;;#endif // UNICODE
-;;
-;;/*
-;; * Commands to pass to WinHelp()
-;; */
-(define-integrable HELP_CONTEXT #x0001) ; /* Display topic in ulTopic */
-(define-integrable HELP_QUIT #x0002) ; /* Terminate help */
-(define-integrable HELP_INDEX #x0003) ; /* Display index */
+;; * Commands to pass to WinHelp
+(define-integrable HELP_CONTEXT #x0001) ;Display topic in ulTopic
+(define-integrable HELP_QUIT #x0002) ;Terminate help
+(define-integrable HELP_INDEX #x0003) ;Display index
(define-integrable HELP_CONTENTS #x0003)
-(define-integrable HELP_HELPONHELP #x0004) ; /* Display help on using help */
-(define-integrable HELP_SETINDEX #x0005) ; /* Set current Index for multi index help */
+(define-integrable HELP_HELPONHELP #x0004) ;Display help on using help
+(define-integrable HELP_SETINDEX #x0005) ;Set current Index for multi index help
(define-integrable HELP_SETCONTENTS #x0005)
(define-integrable HELP_CONTEXTPOPUP #x0008)
(define-integrable HELP_FORCEFILE #x0009)
-(define-integrable HELP_KEY #x0101) ; /* Display topic for keyword in offabData */
+(define-integrable HELP_KEY #x0101) ;Display topic for keyword in offabData
(define-integrable HELP_COMMAND #x0102)
(define-integrable HELP_PARTIALKEY #x0105)
(define-integrable HELP_MULTIKEY #x0201)
(define-integrable HELP_SETWINPOS #x0203)
-
-;;BOOL
-;;WINAPI
-;;WinHelpA(
-;; HWND hWndMain,
-;; LPCSTR lpszHelp,
-;; UINT uCommand,
-;; DWORD dwData
-;; );
-;;BOOL
-;;WINAPI
-;;WinHelpW(
-;; HWND hWndMain,
-;; LPCWSTR lpszHelp,
-;; UINT uCommand,
-;; DWORD dwData
-;; );
-;;#ifdef UNICODE
-;;#define WinHelp WinHelpW
-;;#else
-;;#define WinHelp WinHelpA
-;;#endif // !UNICODE
-;;
-;;#endif /* !NOHELP */
-;;
-;;#ifndef NOSYSPARAMSINFO
-;;/*
-;; * Parameter for SystemParametersInfo()
-;; */
-
+;; * Parameter for SystemParametersInfo
(define-integrable SPI_GETBEEP 1)
(define-integrable SPI_SETBEEP 2)
(define-integrable SPI_GETMOUSE 3)
(define-integrable SPI_GETFASTTASKSWITCH 35)
(define-integrable SPI_SETFASTTASKSWITCH 36)
-;;/*
;; * Flags
-;; */
(define-integrable SPIF_UPDATEINIFILE #x0001)
-(define-integrable SPIF_SENDWININICHANGE #x0002)
-
-
-;;BOOL
-;;WINAPI
-;;SystemParametersInfoA(
-;; UINT uiAction,
-;; UINT uiParam,
-;; PVOID pvParam,
-;; UINT fWinIni);
-;;BOOL
-;;WINAPI
-;;SystemParametersInfoW(
-;; UINT uiAction,
-;; UINT uiParam,
-;; PVOID pvParam,
-;; UINT fWinIni);
-;;#ifdef UNICODE
-;;#define SystemParametersInfo SystemParametersInfoW
-;;#else
-;;#define SystemParametersInfo SystemParametersInfoA
-;;#endif // !UNICODE
-;;
-;;#endif /* !NOSYSPARAMSINFO */
-;;
-;;
-;;#ifdef __cplusplus
-;;}
-;;#endif /* __cplusplus */
-;;
-;;#endif /* !_WINUSER_ */
+(define-integrable SPIF_SENDWININICHANGE #x0002)
\ No newline at end of file