home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 April / Chip_1997-04_cd.bin / prezent / cb / data.z / WINDOWS.INC < prev    next >
Text File  |  1997-01-16  |  67KB  |  2,346 lines

  1. ;*************************************************************************
  2. ;
  3. ;       WINDOWS.INC - Windows assembly language structures & constants
  4. ;
  5. ;*************************************************************************
  6. ;
  7. ;** $Copyright: 1985$ **
  8. ;
  9. ; Conditional Block includes:   (True states)
  10. ;     NOTEXT - don't include TextMetric struc & text drawing modes & stock objs.
  11. ;     NORASTOPS - don't include binary and ternary raster ops.
  12. ;     NOVK      - don't include virtual key definitions
  13. ;     NOMB      - don't include message box definitions
  14. ;     NOWM      - don't include window messages
  15. ;
  16. ;
  17. FALSE   =       0
  18. TRUE    =       1
  19. NULL    =       0
  20.  
  21. ;*******************************************************************
  22. ;
  23. ;       Rectangle
  24. ;
  25. ;*******************************************************************
  26.  
  27. RECT    struc
  28.         rcLeft          dw      ?
  29.         rcTop           dw      ?
  30.         rcRight         dw      ?
  31.         rcBottom        dw      ?
  32. RECT    ends
  33.  
  34. ;*******************************************************************
  35. ;
  36. ;  Window Class structure
  37. ;
  38. ;*******************************************************************
  39.  
  40. WNDCLASS struc
  41.         clsStyle        dw      ?       ; class style
  42.         clsLpfnWndProc  dd      ?
  43.         clsCbClsExtra   dw      ?
  44.         clsCbWndExtra   dw      ?
  45.         clsHInstance    dw      ?       ; instance handle
  46.         clsHIcon        dw      ?       ; class icon handle
  47.         clsHCursor      dw      ?       ; class cursor handle
  48.         clsHbrBackground dw     ?       ; class background brush
  49.         clsLpszMenuName dd      ?       ; menu name
  50.         clsLpszClassName dd     ?       ; far ptr to class name
  51. WNDCLASS ends
  52.  
  53. IFNDEF NOTEXT
  54. TEXTMETRIC struc
  55.     tmHeight        dw      ?
  56.     tmAscent        dw      ?
  57.     tmDescent       dw      ?
  58.     tmIntLeading    dw      ?
  59.     tmExtLeading    dw      ?
  60.     tmAveCharWidth  dw      ?
  61.     tmMaxCharWidth  dw      ?
  62.     tmWeight        dw      ?
  63.     tmItalic        db      ?
  64.     tmUnderlined    db      ?
  65.     tmStruckOut     db      ?
  66.     tmFirstChar     db      ?
  67.     tmLastChar      db      ?
  68.     tmDefaultChar   db      ?
  69.     tmBreakChar     db      ?
  70.     tmPitch         db      ?
  71.     tmCharSet       db      ?
  72.     tmOverhang      dw      ?
  73.     tmAspectX       dw      ?
  74.     tmAspectY       dw      ?
  75. TEXTMETRIC ends
  76.  
  77. LF_FACESIZE     EQU     32
  78.  
  79. LOGFONT struc
  80.     lfHeight          dw   ?
  81.     lfWidth           dw   ?
  82.     lfEscapement      dw   ?
  83.     lfOrientation     dw   ?
  84.     lfWeight          dw   ?
  85.     lfItalic          db   ?
  86.     lfUnderline       db   ?
  87.     lfStrikeOut       db   ?
  88.     lfCharSet         db   ?
  89.     lfOutPrecision    db   ?
  90.     lfClipPrecision   db   ?
  91.     lfQuality         db   ?
  92.     lfPitchAndFamily  db   ?
  93.     lfFaceName        db   LF_FACESIZE dup(?)
  94. LOGFONT ends
  95.  
  96. LOGBRUSH struc
  97.     lbStyle         dw ?
  98.     lbColor         dd ?
  99.     lbHatch         dw ?
  100. LOGBRUSH ends
  101.  
  102. ;
  103. ;  Text Drawing modes
  104. ;
  105. TRANSPARENT     = 1
  106. OPAQUE          = 2
  107. ;
  108. ; Mapping Modes
  109. ;
  110. MM_TEXT         =   1
  111. MM_LOMETRIC     =   2
  112. MM_HIMETRIC     =   3
  113. MM_LOENGLISH    =   4
  114. MM_HIENGLISH    =   5
  115. MM_TWIPS        =   6
  116. MM_ISOTROPIC    =   7
  117. MM_ANISOTROPIC  =   8
  118. ;
  119. ; Coordinate Modes
  120. ;
  121. ABSOLUTE        =   1
  122. RELATIVE        =   2
  123. ;
  124. ;  Stock Logical Objects
  125. ;
  126. WHITE_BRUSH         =  0
  127. LTGRAY_BRUSH        =  1
  128. GRAY_BRUSH          =  2
  129. DKGRAY_BRUSH        =  3
  130. BLACK_BRUSH         =  4
  131. NULL_BRUSH          =  5
  132. HOLLOW_BRUSH        =  5
  133. WHITE_PEN           =  6
  134. BLACK_PEN           =  7
  135. NULL_PEN            =  8
  136. DOT_MARKER          =  9
  137. OEM_FIXED_FONT      = 10
  138. ANSI_FIXED_FONT     = 11
  139. ANSI_VAR_FONT       = 12
  140. SYSTEM_FONT         = 13
  141. DEVICE_DEFAULT_FONT = 14
  142. DEFAULT_PALETTE     = 15
  143. SYSTEM_FIXED_FONT   = 16
  144. ENDIF
  145. ;
  146. ; Brush Styles
  147. ;
  148. BS_SOLID        =   0
  149. BS_NULL         =   1
  150. BS_HOLLOW       =   BS_NULL
  151. BS_HATCHED      =   2
  152. BS_PATTERN      =   3
  153. BS_INDEXED      =   4
  154. BS_DIBPATTERN   =   5
  155. ;
  156. ; Hatch Styles
  157. ;
  158. HS_HORIZONTAL   =   0       ; -----
  159. HS_VERTICAL     =   1       ; |||||
  160. HS_FDIAGONAL    =   2       ; \\\\\
  161. HS_BDIAGONAL    =   3       ; /////
  162. HS_CROSS        =   4       ; +++++
  163. HS_DIAGCROSS    =   5       ; xxxxx
  164. ;
  165. ; Pen Styles
  166. ;
  167. PS_SOLID        =   0
  168. PS_DASH         =   1       ; -------
  169. PS_DOT          =   2       ; .......
  170. PS_DASHDOT      =   3       ; _._._._
  171. PS_DASHDOTDOT   =   4       ; _.._.._
  172. PS_NULL         =   5
  173. PS_INSIDEFRAME  =   6
  174. ;
  175. ; Device Parameters for GetDeviceCaps()
  176. ;
  177. DRIVERVERSION =0     ; Device driver version
  178. TECHNOLOGY    =2     ; Device classification
  179. HORZSIZE      =4     ; Horizontal size in millimeters
  180. VERTSIZE      =6     ; Vertical size in millimeters
  181. HORZRES       =8     ; Horizontal width in pixels
  182. VERTRES       =10    ; Vertical width in pixels
  183. BITSPIXEL     =12    ; Number of bits per pixel
  184. PLANES        =14    ; Number of planes
  185. NUMBRUSHES    =16    ; Number of brushes the device has
  186. NUMPENS       =18    ; Number of pens the device has
  187. NUMMARKERS    =20    ; Number of markers the device has
  188. NUMFONTS      =22    ; Number of fonts the device has
  189. NUMCOLORS     =24    ; Number of colors the device supports
  190. PDEVICESIZE   =26    ; Size required for device descriptor
  191. CURVECAPS     =28    ; Curve capabilities
  192. LINECAPS      =30    ; Line capabilities
  193. POLYGONALCAPS =32    ; Polygonal capabilities
  194. TEXTCAPS      =34    ; Text capabilities
  195. CLIPCAPS      =36    ; Clipping capabilities
  196. RASTERCAPS    =38    ; Bitblt capabilities
  197. ASPECTX       =40    ; Length of the X leg
  198. ASPECTY       =42    ; Length of the Y leg
  199. ASPECTXY      =44    ; Length of the hypotenuse
  200.  
  201. LOGPIXELSX    =88    ; Logical pixels/inch in X
  202. LOGPIXELSY    =90    ; Logical pixels/inch in Y
  203.  
  204. SIZEPALETTE   =104   ; Number of entries in physical palette
  205. NUMRESERVED   =106   ; Number of reserved entries in palette
  206. COLORRES      =108   ; Actual color resolution
  207. ;
  208. ifndef NOGDICAPMASKS
  209. ;
  210. ; Device Capability Masks:
  211. ;
  212. ; Device Technologies
  213. DT_PLOTTER       =   0  ; /* Vector plotter                   */
  214. DT_RASDISPLAY    =   1  ; /* Raster display                   */
  215. DT_RASPRINTER    =   2  ; /* Raster printer                   */
  216. DT_RASCAMERA     =   3  ; /* Raster camera                    */
  217. DT_CHARSTREAM    =   4  ; /* Character-stream, PLP            */
  218. DT_METAFILE      =   5  ; /* Metafile, VDM                    */
  219. DT_DISPFILE      =   6  ; /* Display-file                     */
  220. ;
  221. ; Curve Capabilities
  222. CC_NONE          =   0  ; /* Curves not supported             */
  223. CC_CIRCLES       =   1  ; /* Can do circles                   */
  224. CC_PIE           =   2  ; /* Can do pie wedges                */
  225. CC_CHORD         =   4  ; /* Can do chord arcs                */
  226. CC_ELLIPSES      =   8  ; /* Can do ellipese                  */
  227. CC_WIDE          =   16 ; /* Can do wide lines                */
  228. CC_STYLED        =   32 ; /* Can do styled lines              */
  229. CC_WIDESTYLED    =   64 ; /* Can do wide styled lines         */
  230. CC_INTERIORS     =   128; /* Can do interiors                 */
  231. ;
  232. ; Line Capabilities
  233. LC_NONE          =   0  ; /* Lines not supported              */
  234. LC_POLYLINE      =   2  ; /* Can do polylines                 */
  235. LC_MARKER        =   4  ; /* Can do markers                   */
  236. LC_POLYMARKER    =   8  ; /* Can do polymarkers               */
  237. LC_WIDE          =   16 ; /* Can do wide lines                */
  238. LC_STYLED        =   32 ; /* Can do styled lines              */
  239. LC_WIDESTYLED    =   64 ; /* Can do wide styled lines         */
  240. LC_INTERIORS     =   128; /* Can do interiors                 */
  241. ;
  242. ; Polygonal Capabilities
  243. PC_NONE          =   0  ; /* Polygonals not supported         */
  244. PC_POLYGON       =   1  ; /* Can do polygons                  */
  245. PC_RECTANGLE     =   2  ; /* Can do rectangles                */
  246. PC_WINDPOLYGON   =   4  ; /* Can do winding polygons          */
  247. PC_TRAPEZOID     =   4  ; /* Can do trapezoids                */
  248. PC_SCANLINE      =   8  ; /* Can do scanlines                 */
  249. PC_WIDE          =   16 ; /* Can do wide borders              */
  250. PC_STYLED        =   32 ; /* Can do styled borders            */
  251. PC_WIDESTYLED    =   64 ; /* Can do wide styled borders       */
  252. PC_INTERIORS     =   128; /* Can do interiors                 */
  253. ;
  254. ; Polygonal Capabilities */
  255. CP_NONE          =   0  ; /* No clipping of output            */
  256. CP_RECTANGLE     =   1  ; /* Output clipped to rects          */
  257. ;
  258. ; Text Capabilities
  259. TC_OP_CHARACTER  =   0001h ; /* Can do OutputPrecision   CHARACTER      */
  260. TC_OP_STROKE     =   0002h ; /* Can do OutputPrecision   STROKE         */
  261. TC_CP_STROKE     =   0004h ; /* Can do ClipPrecision     STROKE         */
  262. TC_CR_90         =   0008h ; /* Can do CharRotAbility    90             */
  263. TC_CR_ANY        =   0010h ; /* Can do CharRotAbility    ANY            */
  264. TC_SF_X_YINDEP   =   0020h ; /* Can do ScaleFreedom      X_YINDEPENDENT */
  265. TC_SA_DOUBLE     =   0040h ; /* Can do ScaleAbility      DOUBLE         */
  266. TC_SA_INTEGER    =   0080h ; /* Can do ScaleAbility      INTEGER        */
  267. TC_SA_CONTIN     =   0100h ; /* Can do ScaleAbility      CONTINUOUS     */
  268. TC_EA_DOUBLE     =   0200h ; /* Can do EmboldenAbility   DOUBLE         */
  269. TC_IA_ABLE       =   0400h ; /* Can do ItalisizeAbility  ABLE           */
  270. TC_UA_ABLE       =   0800h ; /* Can do UnderlineAbility  ABLE           */
  271. TC_SO_ABLE       =   1000h ; /* Can do StrikeOutAbility  ABLE           */
  272. TC_RA_ABLE       =   2000h ; /* Can do RasterFontAble    ABLE           */
  273. TC_VA_ABLE       =   4000h ; /* Can do VectorFontAble    ABLE           */
  274. TC_RESERVED      =   8000h
  275. ;
  276. ; Raster Capabilities
  277. RC_BITBLT        =   1      ; /* Can do standard BLT.             */
  278. RC_BANDING       =   2      ; /* Device requires banding support  */
  279. RC_SCALING       =   4      ; /* Device requires scaling support  */
  280. RC_BITMAP64      =   8      ; /* Device can support >64K bitmap   */
  281. RC_GDI20_OUTPUT  =   0010h  ; /* has 2.0 output calls         */
  282. RC_DI_BITMAP     =   0080h  ; /* supports DIB to memory       */
  283. RC_PALETTE       =   0100h  ; /* supports a palette           */
  284. RC_DIBTODEV      =   0200h  ; /* supports DIBitsToDevice      */
  285. RC_BIGFONT       =   0400h  ; /* supports >64K fonts          */
  286. RC_STRETCHBLT    =   0800h  ; /* supports StretchBlt          */
  287. RC_FLOODFILL     =   1000h  ; /* supports FloodFill           */
  288. RC_STRETCHDIB    =   2000h  ; /* supports StretchDIBits       */
  289.  
  290. endif       ;NOGDICAPMASKS
  291.  
  292. ; palette entry flags
  293. ;
  294. PC_RESERVED     = 1    ;/* palette index used for animation */
  295. PC_EXPLICIT     = 2    ;/* palette index is explicit to device */
  296. PC_NOCOLLAPSE   = 4    ;/* do not match color to system palette */
  297.  
  298. ; DIB color table identifiers
  299. ;
  300. DIB_RGB_COLORS  = 0    ;/* color table in RGBTriples */
  301. DIB_PAL_COLORS  = 1    ;/* color table in palette indices */
  302. ;
  303.  
  304. ;constants for Get/SetSystemPaletteUse()
  305. ;
  306. SYSPAL_STATIC   = 1
  307. SYSPAL_NOSTATIC = 2
  308.  
  309. ; constants for CreateDIBitmap
  310. CBM_INIT        = 4    ;/* initialize bitmap */
  311. ;
  312. ; Bitmap format constants
  313. BI_RGB          = 0
  314. BI_RLE8         = 1
  315. BI_RLE4         = 2
  316. ;
  317. ;
  318. ANSI_CHARSET    = 0
  319. SYMBOL_CHARSET  = 2
  320. OEM_CHARSET     = 255
  321. ;
  322. ;  styles for CombineRgn
  323. ;
  324. RGN_AND  = 1
  325. RGN_OR   = 2
  326. RGN_XOR  = 3
  327. RGN_DIFF = 4
  328. RGN_COPY = 5
  329. ;
  330. ;  Predefined cursor & icon IDs
  331. ;
  332. IDC_ARROW       = 32512
  333. IDC_IBEAM       = 32513
  334. IDC_WAIT        = 32514
  335. IDC_CROSS       = 32515
  336. IDC_UPARROW     = 32516
  337. IDC_SIZE        = 32640
  338. IDC_ICON        = 32641
  339. IDC_SIZENWSE    = 32642
  340. IDC_SIZENESW    = 32643
  341. IDC_SIZEWE      = 32644
  342. IDC_SIZENS      = 32645
  343.  
  344. IDI_APPLICATION = 32512
  345. IDI_HAND        = 32513
  346. IDI_QUESTION    = 32514
  347. IDI_EXCLAMATION = 32515
  348. IDI_ASTERISK    = 32516
  349.  
  350. ;
  351. ; OEM Resource Ordinal Numbers */
  352. ;
  353. OBM_CLOSE         =  32754
  354. OBM_UPARROW       =  32753
  355. OBM_DNARROW       =  32752
  356. OBM_RGARROW       =  32751
  357. OBM_LFARROW       =  32750
  358. OBM_REDUCE        =  32749
  359. OBM_ZOOM          =  32748
  360. OBM_RESTORE       =  32747
  361. OBM_REDUCED       =  32746
  362. OBM_ZOOMD         =  32745
  363. OBM_RESTORED      =  32744
  364. OBM_UPARROWD      =  32743
  365. OBM_DNARROWD      =  32742
  366. OBM_RGARROWD      =  32741
  367. OBM_LFARROWD      =  32740
  368. OBM_MNARROW       =  32739
  369. OBM_COMBO         =  32738
  370. OBM_UPARROWI      =  32737
  371. OBM_DNARROWI      =  32736
  372. OBM_RGARROWI      =  32735
  373. OBM_LFARROWI      =  32734
  374.  
  375. OBM_OLD_CLOSE     =  32767
  376. OBM_SIZE          =  32766
  377. OBM_OLD_UPARROW   =  32765
  378. OBM_OLD_DNARROW   =  32764
  379. OBM_OLD_RGARROW   =  32763
  380. OBM_OLD_LFARROW   =  32762
  381. OBM_BTSIZE        =  32761
  382. OBM_CHECK         =  32760
  383. OBM_CHECKBOXES    =  32759
  384. OBM_BTNCORNERS    =  32758
  385. OBM_OLD_REDUCE    =  32757
  386. OBM_OLD_ZOOM      =  32756
  387. OBM_OLD_RESTORE   =  32755
  388.  
  389. OCR_NORMAL        =  32512
  390. OCR_IBEAM         =  32513
  391. OCR_WAIT          =  32514
  392. OCR_CROSS         =  32515
  393. OCR_UP            =  32516
  394. OCR_SIZE          =  32640
  395. OCR_ICON          =  32641
  396. OCR_SIZENWSE      =  32642
  397. OCR_SIZENESW      =  32643
  398. OCR_SIZEWE        =  32644
  399. OCR_SIZENS        =  32645
  400. OCR_SIZEALL       =  32646
  401. OCR_ICOCUR        =  32647
  402.  
  403. OIC_SAMPLE        =  32512
  404. OIC_HAND          =  32513
  405. OIC_QUES          =  32514
  406. OIC_BANG          =  32515
  407. OIC_NOTE          =  32516
  408.  
  409. ;
  410. ;   Scroll bar constants
  411. ;
  412. SB_HORZ = 0
  413. SB_VERT = 1
  414. SB_CTL  = 2
  415. SB_BOTH = 3
  416. ;
  417. ;   Scroll Commands
  418. ;
  419. SB_LINEUP        = 0
  420. SB_LINEDOWN      = 1
  421. SB_PAGEUP        = 2
  422. SB_PAGEDOWN      = 3
  423. SB_THUMBPOSITION = 4
  424. SB_THUMBTRACK    = 5
  425. SB_TOP           = 6
  426. SB_BOTTOM        = 7
  427. SB_ENDSCROLL     = 8
  428. ;
  429. ;  MessageBox type flags
  430. ;
  431. IFNDEF                  NOMB
  432. MB_OK                   = 0000H
  433. MB_OKCANCEL             = 0001H
  434. MB_ABORTRETRYIGNORE     = 0002H
  435. MB_YESNOCANCEL          = 0003H
  436. MB_YESNO                = 0004H
  437. MB_RETRYCANCEL          = 0005H
  438.  
  439. MB_ICONHAND             = 0010H
  440. MB_ICONQUESTION         = 0020H
  441. MB_ICONEXCLAMATION      = 0030H
  442. MB_ICONASTERISK         = 0040H
  443.  
  444. MB_DEFBUTTON1           = 0000H
  445. MB_DEFBUTTON2           = 0100H
  446. MB_DEFBUTTON3           = 0200H
  447.  
  448. MB_APPLMODAL            = 0000H
  449. MB_SYSTEMMODAL          = 1000H
  450. MB_TASKMODAL            = 2000H
  451.  
  452. MB_NOFOCUS              = 8000H
  453.  
  454. ;
  455. ;  Conventional dialog box and message box command IDs
  456. ;
  457. IDOK     =   1
  458. IDCANCEL =   2
  459. IDABORT  =   3
  460. IDRETRY  =   4
  461. IDIGNORE =   5
  462. IDYES    =   6
  463. IDNO     =   7
  464. ;
  465. ;  Flags for OpenFile
  466. ;
  467. OF_READ             = 0000H
  468. OF_WRITE            = 0001H
  469. OF_READWRITE        = 0002H
  470. OF_SHARE_COMPAT     = 0000H
  471. OF_SHARE_EXCLUSIVE  = 0010H
  472. OF_SHARE_DENY_WRITE = 0020H
  473. OF_SHARE_DENY_READ  = 0030H
  474. OF_SHARE_DENY_NONE  = 0040H
  475. OF_PARSE            = 0100H
  476. OF_DELETE           = 0200H
  477. OF_VERIFY           = 0400H     ; Used with OF_REOPEN
  478. OF_SEARCH           = 0400H     ; Used without OF_REOPEN
  479. OF_CANCEL           = 0800H
  480. OF_CREATE           = 1000H
  481. OF_PROMPT           = 2000H
  482. OF_EXIST            = 4000H
  483. OF_REOPEN           = 8000H
  484.  
  485. TF_FORCEDRIVE   = 80H
  486.  
  487. OPENSTRUC       STRUC
  488. opLen   db      ?
  489. opDisk  db      ?
  490. opXtra  dw      ?
  491. opDate  dw      ?
  492. opTime  dw      ?
  493. opFile  db      120 dup (?)
  494. OPENSTRUC       ENDS
  495. ;
  496. ;  DrawText format flags
  497. ;
  498. DT_LEFT         = 00H
  499. DT_CENTER       = 01H
  500. DT_RIGHT        = 02H
  501. DT_TOP          = 00H
  502. DT_VCENTER      = 04H
  503. DT_BOTTOM       = 08H
  504. DT_WORDBREAK    = 10H
  505. DT_SINGLELINE   = 20H
  506. DT_EXPANDTABS   = 40H
  507. DT_TABSTOP      = 80H
  508. DT_NOCLIP       =    0100H
  509. DT_EXTERNALLEADING = 0200H
  510. DT_CALCRECT     =    0400H
  511. DT_NOPREFIX     =    0800H
  512. DT_INTERNAL     =    1000H
  513. ENDIF
  514.  
  515. ;
  516. ; ExtFloodFill style flags
  517. ;
  518. FLOODFILLBORDER  =  0
  519. FLOODFILLSURFACE =  1
  520.  
  521. ;
  522. ; Memory manager flags
  523. ;
  524. LMEM_FIXED      =   0000h
  525. LMEM_MOVEABLE   =   0002h
  526. LMEM_NOCOMPACT  =   0010H
  527. LMEM_NODISCARD  =   0020H
  528. LMEM_ZEROINIT   =   0040h
  529. LMEM_MODIFY     =   0080H
  530. LMEM_DISCARDABLE=   0F00h
  531. LHND    =    LMEM_MOVEABLE+LMEM_ZEROINIT
  532. LPTR    =    LMEM_FIXED+LMEM_ZEROINIT
  533. ; Flags returned by LocalFlags (in addition to LMEM_DISCARDABLE)
  534. LMEM_DISCARDED  =   4000H
  535. LMEM_LOCKCOUNT  =   00FFH
  536.  
  537. NONZEROLHND     =    LMEM_MOVEABLE
  538. NONZEROLPTR     =    LMEM_FIXED
  539.  
  540.  
  541.  
  542. GMEM_FIXED      =   0000h
  543. GMEM_MOVEABLE   =   0002h
  544. GMEM_NOCOMPACT  =   0010h
  545. GMEM_NODISCARD  =   0020h
  546. GMEM_ZEROINIT   =   0040h
  547. GMEM_MODIFY     =   0080h
  548. GMEM_DISCARDABLE=   0100h
  549. GMEM_NOT_BANKED =   1000h
  550. GMEM_DDESHARE   =   2000h
  551. GMEM_SHARE      =   2000h
  552. GMEM_NOTIFY     =   4000h
  553. GMEM_LOWER      =   GMEM_NOT_BANKED
  554. GHND            =   GMEM_MOVEABLE+GMEM_ZEROINIT
  555. GPTR            =   GMEM_FIXED+GMEM_ZEROINIT
  556.  
  557. ; Flags returned by GlobalFlags (in addition to GMEM_DISCARDABLE)
  558. GMEM_DISCARDED  =    4000h
  559. GMEM_LOCKCOUNT  =    00FFh
  560.  
  561. ; Flags returned by GetWinFlags
  562.  
  563. WF_PMODE        =    0001h
  564. WF_CPU286       =    0002h
  565. WF_CPU386       =    0004h
  566. WF_CPU486       =    0008h
  567. WF_STANDARD     =    0010h
  568. WF_WIN286       =    0010h
  569. WF_ENHANCED     =    0020h
  570. WF_WIN386       =    0020h
  571. WF_CPU086       =    0040h
  572. WF_CPU186       =    0080h
  573. WF_LARGEFRAME   =    0100h
  574. WF_SMALLFRAME   =    0200h
  575. WF_80x87        =    0400h
  576. WF_PAGING       =    0800h
  577. WF_WLO          =    8000h
  578.  
  579. ; WEP fSystemExit flag values
  580. WEP_SYSTEM_EXIT =       1
  581. WEP_FREE_DLL    =       0
  582.  
  583.  
  584. ;  Virtual Keys, Standard Set
  585.  
  586. IFNDEF          NOVK
  587. VK_LBUTTON      = 01H
  588. VK_RBUTTON      = 02H
  589. VK_CANCEL       = 03H
  590. VK_BACK         = 08H
  591. VK_TAB          = 09H
  592. VK_CLEAR        = 0cH
  593. VK_RETURN       = 0dH
  594. VK_SHIFT        = 10H
  595. VK_CONTROL      = 11H
  596. VK_MENU         = 12H
  597. VK_PAUSE        = 13H
  598. VK_CAPITAL      = 14H
  599. VK_ESCAPE       = 1bH
  600. VK_SPACE        = 20H
  601.  
  602. VK_PRIOR        = 21H
  603. VK_NEXT         = 22H
  604. VK_END          = 23H
  605. VK_HOME         = 24H
  606. VK_LEFT         = 25H
  607. VK_UP           = 26H
  608. VK_RIGHT        = 27H
  609. VK_DOWN         = 28H
  610.  
  611. ;  VK_A thru VK_Z are the same as their ASCII equivalents: 'A' thru 'Z'
  612. ;  VK_0 thru VK_9 are the same as their ASCII equivalents: '0' thru '0'
  613.  
  614. VK_PRINT        = 2aH
  615. VK_EXECUTE      = 2bH
  616. VK_SNAPSHOT     = 2ch   ; Printscreen key..
  617. VK_INSERT       = 2dH
  618. VK_DELETE       = 2eH
  619. VK_HELP         = 2fH
  620.  
  621. VK_NUMPAD0      = 60H
  622. VK_NUMPAD1      = 61H
  623. VK_NUMPAD2      = 62H
  624. VK_NUMPAD3      = 63H
  625. VK_NUMPAD4      = 64H
  626. VK_NUMPAD5      = 65H
  627. VK_NUMPAD6      = 66H
  628. VK_NUMPAD7      = 67H
  629. VK_NUMPAD8      = 68H
  630. VK_NUMPAD9      = 69H
  631. VK_MULTIPLY     = 6AH
  632. VK_ADD          = 6BH
  633. VK_SEPARATER    = 6CH
  634. VK_SUBTRACT     = 6DH
  635. VK_DECIMAL      = 6EH
  636. VK_DIVIDE       = 6FH
  637.  
  638. VK_F1           = 70H
  639. VK_F2           = 71H
  640. VK_F3           = 72H
  641. VK_F4           = 73H
  642. VK_F5           = 74H
  643. VK_F6           = 75H
  644. VK_F7           = 76H
  645. VK_F8           = 77H
  646. VK_F9           = 78H
  647. VK_F10          = 79H
  648. VK_F11          = 7aH
  649. VK_F12          = 7bH
  650. VK_F13          = 7cH
  651. VK_F14          = 7dH
  652. VK_F15          = 7eH
  653. VK_F16          = 7fH
  654. VK_F17          = 80H
  655. VK_F18          = 81H
  656. VK_F19          = 82H
  657. VK_F20          = 83H
  658. VK_F21          = 84H
  659. VK_F22          = 85H
  660. VK_F23          = 86H
  661. VK_F24          = 87H
  662.  
  663. VK_NUMLOCK      = 90H
  664. VK_SCROLL       = 91H
  665. ENDIF
  666.  
  667. IFNDEF NOWH
  668.  
  669. ; SetWindowsHook() codes
  670. WH_MSGFILTER       = (-1)
  671. WH_JOURNALRECORD   = 0
  672. WH_JOURNALPLAYBACK = 1
  673. WH_KEYBOARD        = 2
  674. WH_GETMESSAGE      = 3
  675. WH_CALLWNDPROC     = 4
  676. IFNDEF NOWIN31
  677. WH_CBT             = 5
  678. WH_SYSMSGFILTER    = 6
  679. WH_MOUSE           = 7
  680. WH_HARDWARE        = 8
  681. WH_DEBUG           = 9
  682. ENDIF
  683. ;
  684. ; Hook Codes
  685. HC_GETLPLPFN       = (-3)
  686. HC_LPLPFNNEXT      = (-2)
  687. HC_LPFNNEXT        = (-1)
  688. HC_ACTION          = 0
  689. HC_GETNEXT         = 1
  690. HC_SKIP            = 2
  691. HC_NOREM           = 3
  692. HC_NOREMOVE        = 3
  693. HC_SYSMODALON      = 4
  694. HC_SYSMODALOFF     = 5
  695. ;
  696. ; CBT Hook Codes
  697. HCBT_MOVESIZE      = 0
  698. HCBT_MINMAX        = 1
  699. HCBT_QS            = 2
  700. HCBT_CREATEWND     = 3
  701. HCBT_DESTROYWND    = 4
  702. HCBT_ACTIVATE      = 5
  703. HCBT_CLICKSKIPPED  = 6
  704. HCBT_KEYSKIPPED    = 7
  705. HCBT_SYSCOMMAND    = 8
  706. HCBT_SETFOCUS      = 9
  707.  
  708. ;
  709. ; WH_MSGFILTER Filter Proc Codes
  710. MSGF_DIALOGBOX     = 0
  711. MSGF_MENU          = 2
  712. MSGF_MOVE          = 3
  713. MSGF_SIZE          = 4
  714. MSGF_SCROLLBAR     = 5
  715. MSGF_NEXTWINDOW    = 6
  716. ;
  717. ; Window Manager Hook Codes
  718. WC_INIT            = 1
  719. WC_SWP             = 2
  720. WC_DEFWINDOWPROC   = 3
  721. WC_MINMAX          = 4
  722. WC_MOVE            = 5
  723. WC_SIZE            = 6
  724. WC_DRAWCAPTION     = 7
  725. ;
  726.  
  727. ; Message Structure used in Journaling
  728. EVENTMSG    struc
  729.     message     dw ?
  730.     paramL      dw ?
  731.     paramH      dw ?
  732.     time        dd ?
  733. EVENTMSG    ends
  734.  
  735. ENDIF ;NOWH
  736.  
  737. ; Window field offsets for GetWindowLong() and GetWindowWord()
  738. GWL_WNDPROC       =  (-4)
  739. GWW_HINSTANCE     =  (-6)
  740. GWW_HWNDPARENT    =  (-8)
  741. GWW_ID            =  (-12)
  742. GWL_STYLE         =  (-16)
  743. GWL_EXSTYLE       =  (-20)
  744.  
  745. ; GetWindow() Constants
  746. GW_HWNDFIRST      =  0
  747. GW_HWNDLAST       =  1
  748. GW_HWNDNEXT       =  2
  749. GW_HWNDPREV       =  3
  750. GW_OWNER          =  4
  751. GW_CHILD          =  5
  752.  
  753. ; Class field offsets for GetClassLong() and GetClassWord()
  754. GCL_MENUNAME      =  (-8)
  755. GCW_HBRBACKGROUND =  (-10)
  756. GCW_HCURSOR       =  (-12)
  757. GCW_HICON         =  (-14)
  758. GCW_HMODULE       =  (-16)
  759. GCW_CBWNDEXTRA    =  (-18)
  760. GCW_CBCLSEXTRA    =  (-20)
  761. GCL_WNDPROC       =  (-24)
  762. GCW_STYLE         =  (-26)
  763.  
  764. ; WinWhere() Area Codes
  765. HTERROR           =  (-2)
  766. HTTRANSPARENT     =  (-1)
  767. HTNOWHERE         =  0
  768. HTCLIENT          =  1
  769. HTCAPTION         =  2
  770. HTSYSMENU         =  3
  771. HTGROWBOX         =  4
  772. HTSIZE            =  HTGROWBOX
  773. HTMENU            =  5
  774. HTHSCROLL         =  6
  775. HTVSCROLL         =  7
  776. HTREDUCE          =  8
  777. HTZOOM            =  9
  778. HTLEFT            =  10
  779. HTRIGHT           =  11
  780. HTTOP             =  12
  781. HTTOPLEFT         =  13
  782. HTTOPRIGHT        =  14
  783. HTBOTTOM          =  15
  784. HTBOTTOMLEFT      =  16
  785. HTBOTTOMRIGHT     =  17
  786. HTSIZEFIRST       =  HTLEFT
  787. HTSIZELAST        =  HTBOTTOMRIGHT
  788.  
  789.  
  790.  
  791. ;*************************************************************************
  792. ;
  793. ;       Misc structures & constants
  794. ;
  795. ;*************************************************************************
  796.  
  797. IFNDEF  NOMST
  798. POINT   struc
  799.         ptX             dw      ?
  800.         ptY             dw      ?
  801. POINT   ends
  802.  
  803. LOGPEN struc
  804.     lopnStyle       dw ?
  805.     lopnWidth       db (SIZE POINT) DUP(?)
  806.     lopnColor       dd ?
  807. LOGPEN ends
  808.  
  809.  
  810. BITMAP STRUC
  811.         bmType         DW ?
  812.         bmWidth        DW ?
  813.         bmHeight       DW ?
  814.         bmWidthBytes   DW ?
  815.         bmPlanes       DB ?
  816.         bmBitsPixel    DB ?
  817.         bmBits         DD ?
  818. BITMAP ENDS
  819.  
  820. RGBTRIPLE       struc
  821.         rgbBlue         db ?
  822.         rgbGreen        db ?
  823.         rgbRed          db ?
  824. RGBTRIPLE       ends
  825.  
  826. RGBQUAD         struc
  827.         rgbqBlue        db ?
  828.         rgbqGreen       db ?
  829.         rgbqRed         db ?
  830.         rgbqReserved    db ?
  831. RGBQUAD         ends
  832.  
  833. ; structures for defining DIBs
  834. BITMAPCOREHEADER struc
  835.         bcSize      dd ?
  836.         bcWidth     dw ?
  837.         bcHeight    dw ?
  838.         bcPlanes    dw ?
  839.         bcBitCount  dw ?
  840. BITMAPCOREHEADER ends
  841.  
  842. BITMAPINFOHEADER struc
  843.         biSize           dd ?
  844.         biWidth          dd ?
  845.         biHeight         dd ?
  846.         biPlanes         dw ?
  847.         biBitCount       dw ?
  848.  
  849.         biCompression    dd ?
  850.         biSizeImage      dd ?
  851.         biXPelsPerMeter  dd ?
  852.         biYPelsPerMeter  dd ?
  853.         biClrUsed        dd ?
  854.         biClrImportant   dd ?
  855. BITMAPINFOHEADER ends
  856.  
  857. BITMAPINFO  struc
  858.     bmiHeader   db (SIZE BITMAPINFOHEADER) DUP (?)
  859.     bmiColors   db ?            ; array of RGBQUADs
  860. BITMAPINFO  ends
  861.  
  862. BITMAPCOREINFO  struc
  863.     bmciHeader  db (SIZE BITMAPCOREHEADER) DUP (?)
  864.     bmciColors  db ?            ; array of RGBTRIPLEs
  865. BITMAPCOREINFO  ends
  866.  
  867. BITMAPFILEHEADER struc
  868.     bfType          dw ?
  869.     bfSize          dd ?
  870.     bfReserved1     dw ?
  871.     bfReserved2     dw ?
  872.     bfOffBits       dd ?
  873. BITMAPFILEHEADER ends
  874.  
  875.  
  876. WNDSTRUC struc
  877.         WSwndStyle        dd      ?
  878.         WSwndID           dw      ?
  879.         WSwndText         dw      ?
  880.         WSwndParent       dw      ?
  881.         WSwndInstance     dw      ?
  882.         WSwndClassProc    dd      ?
  883. WNDSTRUC ends
  884. ;
  885. ;  Message structure
  886. ;
  887. MSGSTRUCT       struc
  888. msHWND          dw      ?
  889. msMESSAGE       dw      ?
  890. msWPARAM        dw      ?
  891. msLPARAM        dd      ?
  892. msTIME          dd      ?
  893. msPT            dd      ?
  894. MSGSTRUCT       ends
  895.  
  896. NEWPARMS struc
  897.         nprmHwnd        dw      ?
  898.         nprmCmd         db      ?
  899. NEWPARMS ends
  900. ENDIF
  901.  
  902. PAINTSTRUCT STRUC
  903.     PShdc         DW ?
  904.     PSfErase      DW ?
  905.     PSrcPaint     DB size RECT dup(?)
  906.     PSfRestore    DW ?
  907.     PSfIncUpdate  DW ?
  908.     PSrgbReserved DB 16 dup(?)
  909. PAINTSTRUCT ENDS
  910.  
  911.  
  912. CREATESTRUCT struc
  913.     cs_lpCreateParams  dd ?
  914.     cs_hInstance       dw ?
  915.     cs_hMenu           dw ?
  916.     cs_hwndParent      dw ?
  917.     cs_cy              dw ?
  918.     cs_cx              dw ?
  919.     cs_y               dw ?
  920.     cs_x               dw ?
  921.     cs_style           dd ?
  922.     cs_lpszName        dd ?
  923.     cs_lpszClass       dd ?
  924.     cs_dwExStyle       dd ?
  925. CREATESTRUCT  ends
  926. ;
  927. ;       PostError constants
  928. ;
  929. WARNING     = 0           ; command codes
  930. MINOR_ERROR = 1
  931. FATAL_ERROR = 2
  932.  
  933. IGNORE      = 0           ; response codes
  934. RETRY       = 1
  935. ABORT       = 2
  936. ;
  937. ; GDI-related constants & commands
  938. ;
  939. ERRORREGION     = 0
  940. NULLREGION      = 1
  941. SIMPLEREGION    = 2
  942. COMPLEXREGION   = 3
  943.  
  944. IFNDEF NORASTOPS
  945. ;
  946. ; Binary raster ops
  947. ;
  948. R2_BLACK        =  1
  949. R2_NOTMERGEPEN  =  2
  950. R2_MASKNOTPEN   =  3
  951. R2_NOTCOPYPEN   =  4
  952. R2_MASKPENNOT   =  5
  953. R2_NOT          =  6
  954. R2_XORPEN       =  7
  955. R2_NOTMASKPEN   =  8
  956. R2_MASKPEN      =  9
  957. R2_NOTXORPEN    = 10
  958. R2_NOP          = 11
  959. R2_MERGENOTPEN  = 12
  960. R2_COPYPEN      = 13
  961. R2_MERGEPENNOT  = 14
  962. R2_MERGEPEN     = 15
  963. R2_WHITE        = 16
  964. ;
  965. ; Ternary raster ops
  966. ;
  967. SRCCOPY_L     = 0020h   ;dest=source
  968. SRCCOPY_H     = 00CCh
  969. SRCPAINT_L    = 0086h   ;dest=source OR dest
  970. SRCPAINT_H    = 00EEh
  971. SRCAND_L      = 00C6h   ;dest=source AND   dest
  972. SRCAND_H      = 0088h
  973. SRCINVERT_L   = 0046h   ;dest= source XOR      dest
  974. SRCINVERT_H   = 0066h
  975. SRCERASE_L    = 0328h   ;dest= source AND (not dest )
  976. SRCERASE_H    = 0044h
  977. NOTSRCCOPY_L  = 0008h   ;dest= (not source)
  978. NOTSRCCOPY_H  = 0033h
  979. NOTSRCERASE_L = 00A6h   ;dest= (not source) AND (not dest)
  980. NOTSRCERASE_H = 0011h
  981. MERGECOPY_L   = 00CAh   ;dest= (source AND pattern)
  982. MERGECOPY_H   = 00C0h
  983. MERGEPAINT_L  = 0226h   ;dest= (source AND pattern) OR dest
  984. MERGEPAINT_H  = 00BBh
  985. PATCOPY_L     = 0021h   ;dest= pattern
  986. PATCOPY_H     = 00F0h
  987. PATPAINT_L    = 0A09h   ;DPSnoo
  988. PATPAINT_H    = 00FBh
  989. PATINVERT_L   = 0049h   ;dest= pattern XOR     dest
  990. PATINVERT_H   = 005Ah
  991. DSTINVERT_L   = 0009h   ;dest= (not dest)
  992. DSTINVERT_H   = 0055h
  993. BLACKNESS_L   = 0042h   ;dest= BLACK
  994. BLACKNESS_H   = 0000h
  995. WHITENESS_L   = 0062h   ;dest= WHITE
  996. WHITENESS_H   = 00FFh
  997. ;
  998. ; StretchBlt modes
  999. ;
  1000. BLACKONWHITE    = 1
  1001. WHITEONBLACK    = 2
  1002. COLORONCOLOR    = 3
  1003. ;
  1004. ; New StretchBlt modes
  1005. ;
  1006. STRETCH_ANDSCANS    = 1
  1007. STRETCH_ORSCANS     = 2
  1008. STRETCH_DELETESCANS = 3
  1009. ;
  1010. ; PolyFill modes
  1011. ;
  1012. ALTERNATE       = 1
  1013. WINDING         = 2
  1014. ENDIF
  1015. ;
  1016. ; Text Alignment Options
  1017. ;
  1018. TA_NOUPDATECP   =  0
  1019. TA_UPDATECP     =  1
  1020.  
  1021. TA_LEFT         =  0
  1022. TA_RIGHT        =  2
  1023. TA_CENTER       =  6
  1024.  
  1025. TA_TOP          =  0
  1026. TA_BOTTOM       =  8
  1027. TA_BASELINE     =  24
  1028.  
  1029. ETO_GRAYED      =  1
  1030. ETO_OPAQUE      =  2
  1031. ETO_CLIPPED     =  4
  1032.  
  1033. ASPECT_FILTERING = 1
  1034.  
  1035. ifndef NOMETAFILE
  1036.  
  1037. ; Metafile Functions */
  1038. META_SETBKCOLOR            =  0201h
  1039. META_SETBKMODE             =  0102h
  1040. META_SETMAPMODE            =  0103h
  1041. META_SETROP2               =  0104h
  1042. META_SETRELABS             =  0105h
  1043. META_SETPOLYFILLMODE       =  0106h
  1044. META_SETSTRETCHBLTMODE     =  0107h
  1045. META_SETTEXTCHAREXTRA      =  0108h
  1046. META_SETTEXTCOLOR          =  0209h
  1047. META_SETTEXTJUSTIFICATION  =  020Ah
  1048. META_SETWINDOWORG          =  020Bh
  1049. META_SETWINDOWEXT          =  020Ch
  1050. META_SETVIEWPORTORG        =  020Dh
  1051. META_SETVIEWPORTEXT        =  020Eh
  1052. META_OFFSETWINDOWORG       =  020Fh
  1053. META_SCALEWINDOWEXT        =  0400h
  1054. META_OFFSETVIEWPORTORG     =  0211h
  1055. META_SCALEVIEWPORTEXT      =  0412h
  1056. META_LINETO                =  0213h
  1057. META_MOVETO                =  0214h
  1058. META_EXCLUDECLIPRECT       =  0415h
  1059. META_INTERSECTCLIPRECT     =  0416h
  1060. META_ARC                   =  0817h
  1061. META_ELLIPSE               =  0418h
  1062. META_FLOODFILL             =  0419h
  1063. META_PIE                   =  081Ah
  1064. META_RECTANGLE             =  041Bh
  1065. META_ROUNDRECT             =  061Ch
  1066. META_PATBLT                =  061Dh
  1067. META_SAVEDC                =  001Eh
  1068. META_SETPIXEL              =  041Fh
  1069. META_OFFSETCLIPRGN         =  0220h
  1070. META_TEXTOUT               =  0521h
  1071. META_BITBLT                =  0922h
  1072. META_STRETCHBLT            =  0B23h
  1073. META_POLYGON               =  0324h
  1074. META_POLYLINE              =  0325h
  1075. META_ESCAPE                =  0626h
  1076. META_RESTOREDC             =  0127h
  1077. META_FILLREGION            =  0228h
  1078. META_FRAMEREGION           =  0429h
  1079. META_INVERTREGION          =  012Ah
  1080. META_PAINTREGION           =  012Bh
  1081. META_SELECTCLIPREGION      =  012Ch
  1082. META_SELECTOBJECT          =  012Dh
  1083. META_SETTEXTALIGN          =  012Eh
  1084. META_DRAWTEXT              =  062Fh
  1085.  
  1086. META_CHORD                 =  0830h
  1087. META_SETMAPPERFLAGS        =  0231h
  1088. META_EXTTEXTOUT            =  0a32h
  1089. META_SETDIBTODEV           =  0d33h
  1090. META_SELECTPALETTE         =  0234h
  1091. META_REALIZEPALETTE        =  0035h
  1092. META_ANIMATEPALETTE        =  0436h
  1093. META_SETPALENTRIES         =  0037h
  1094. META_POLYPOLYGON           =  0538h
  1095. META_RESIZEPALETTE         =  0139h
  1096.  
  1097. META_DIBBITBLT             =  0940h
  1098. META_DIBSTRETCHBLT         =  0b41h
  1099. META_DIBCREATEPATTERNBRUSH =  0142h
  1100. META_STRETCHDIB            =  0f43h
  1101.  
  1102. META_DELETEOBJECT          =  01f0h
  1103.  
  1104. META_CREATEPALETTE         =  00f7h
  1105. META_CREATEBRUSH           =  00F8h
  1106. META_CREATEPATTERNBRUSH    =  01F9h
  1107. META_CREATEPENINDIRECT     =  02FAh
  1108. META_CREATEFONTINDIRECT    =  02FBh
  1109. META_CREATEBRUSHINDIRECT   =  02FCh
  1110. META_CREATEBITMAPINDIRECT  =  02FDh
  1111. META_CREATEBITMAP          =  06FEh
  1112. META_CREATEREGION          =  06FFh
  1113.  
  1114. ; /* Clipboard Metafile Picture Structure */
  1115. HANDLETABLE struc
  1116.     ht_objectHandle  dw      ?
  1117. HANDLETABLE ends
  1118.  
  1119. METARECORD struc
  1120.     mr_rdSize        dd      ?
  1121.     mr_rdFunction    dw      ?
  1122.     mr_rdParm        dw      ?
  1123. METARECORD ends
  1124.  
  1125. METAFILEPICT struc
  1126.     mfp_mm      dw      ?
  1127.     mfp_xExt    dw      ?
  1128.     mfp_yExt    dw      ?
  1129.     mfp_hMF     dw      ?
  1130. METAFILEPICT ends
  1131.  
  1132. METAHEADER struc
  1133.   mtType        dw      ?
  1134.   mtHeaderSize  dw      ?
  1135.   mtVersion     dw      ?
  1136.   mtSize        dd      ?
  1137.   mtNoObjects   dw      ?
  1138.   mtMaxRecord   dd      ?
  1139.   mtNoParameters dw     ?
  1140. METAHEADER ends
  1141.  
  1142. endif ; NOMETAFILE
  1143.  
  1144. ; GDI Escapes
  1145. NEWFRAME                  =   1
  1146. ABORTDOC                  =   2
  1147. NEXTBAND                  =   3
  1148. SETCOLORTABLE             =   4
  1149. GETCOLORTABLE             =   5
  1150. FLUSHOUTPUT               =   6
  1151. DRAFTMODE                 =   7
  1152. QUERYESCSUPPORT           =   8
  1153. SETABORTPROC              =   9
  1154. STARTDOC                  =   10
  1155. ;; This value conflicts with a std WIN386 MACRO definition
  1156. ;;ENDDOC                    =   11
  1157. GETPHYSPAGESIZE           =   12
  1158. GETPRINTINGOFFSET         =   13
  1159. GETSCALINGFACTOR          =   14
  1160. MFCOMMENT                 =   15
  1161. GETPENWIDTH               =   16
  1162. SETCOPYCOUNT              =   17
  1163. SELECTPAPERSOURCE         =   18
  1164. DEVICEDATA                =   19
  1165. PASSTHROUGH               =   19
  1166. GETTECHNOLGY              =   20
  1167. GETTECHNOLOGY             =   20
  1168. SETENDCAP                 =   21
  1169. SETLINEJOIN               =   22
  1170. SETMITERLIMIT             =   23
  1171. BANDINFO                  =   24
  1172. DRAWPATTERNRECT           =   25
  1173. GETVECTORPENSIZE          =   26
  1174. GETVECTORBRUSHSIZE        =   27
  1175. ENABLEDUPLEX              =   28
  1176. ENABLEMANUALFEED          =   29
  1177. GETSETPAPERBINS           =   29
  1178. GETSETPRINTORIENT         =   30
  1179. ENUMPAPERBINS             =   31
  1180.  
  1181. GETEXTENDEDTEXTMETRICS    =   256
  1182. GETEXTENTTABLE            =   257
  1183. GETPAIRKERNTABLE          =   258
  1184. GETTRACKKERNTABLE         =   259
  1185.  
  1186. EXTTEXTOUT                =   512
  1187.  
  1188. ENABLERELATIVEWIDTHS      =   768
  1189. ENABLEPAIRKERNING         =   769
  1190. SETKERNTRACK              =   770
  1191. SETALLJUSTVALUES          =   771
  1192. SETCHARSET                =   772
  1193.  
  1194. GETSETSCREENPARAMS        =   3072
  1195.  
  1196. STRETCHBLT                =   2048
  1197.  
  1198.  
  1199. ; Spooler Error Codes
  1200. SP_NOTREPORTED            =   4000h
  1201. SP_ERROR                  =   (-1)
  1202. SP_APPABORT               =   (-2)
  1203. SP_USERABORT              =   (-3)
  1204. SP_OUTOFDISK              =   (-4)
  1205. SP_OUTOFMEMORY            =   (-5)
  1206.  
  1207. PR_JOBSTATUS              =   0000
  1208.  
  1209. ; Object Definitions for EnumObjects()
  1210. OBJ_PEN                   =   1
  1211. OBJ_BRUSH                 =   2
  1212.  
  1213. ;
  1214. ; Menu flags for Change/Check/Enable MenuItem
  1215. ;
  1216. MF_INSERT       =   0000h
  1217. MF_CHANGE       =   0080h
  1218. MF_APPEND       =   0100h
  1219. MF_DELETE       =   0200h
  1220. MF_REMOVE       =   1000h
  1221.  
  1222. MF_BYCOMMAND    =   0000h
  1223. MF_BYPOSITION   =   0400h
  1224.  
  1225. MF_SEPARATOR    =   0800h
  1226.  
  1227. MF_ENABLED      =   0000h
  1228. MF_GRAYED       =   0001h
  1229. MF_DISABLED     =   0002h
  1230.  
  1231. MF_UNCHECKED    =   0000h
  1232. MF_CHECKED      =   0008h
  1233. MF_USECHECKBITMAPS= 0200h
  1234.  
  1235. MF_STRING       =   0000h
  1236. MF_BITMAP       =   0004h
  1237. MF_OWNERDRAW    =   0100h
  1238.  
  1239. MF_POPUP        =   0010h
  1240. MF_MENUBARBREAK =   0020h
  1241. MF_MENUBREAK    =   0040h
  1242.  
  1243. MF_UNHILITE     =   0000h
  1244. MF_HILITE       =   0080h
  1245.  
  1246. MF_SYSMENU      =   2000h
  1247. MF_HELP         =   4000h
  1248. MF_MOUSESELECT  =   8000h
  1249.  
  1250.  
  1251. ;
  1252. ;  System Menu Command Values
  1253. ;
  1254. SC_SIZE        = 0F000h
  1255. SC_MOVE        = 0F010h
  1256. SC_MINIMIZE    = 0F020h
  1257. SC_MAXIMIZE    = 0F030h
  1258. SC_NEXTWINDOW  = 0F040h
  1259. SC_PREVWINDOW  = 0F050h
  1260. SC_CLOSE       = 0F060h
  1261. SC_VSCROLL     = 0F070h
  1262. SC_HSCROLL     = 0F080h
  1263. SC_MOUSEMENU   = 0F090h
  1264. SC_KEYMENU     = 0F100h
  1265. SC_ARRANGE     = 0F110h
  1266. SC_RESTORE     = 0F120h
  1267. SC_TASKLIST    = 0F130h
  1268. SC_SCREENSAVE  = 0F140h
  1269. SC_HOTKEY      = 0F150h
  1270.  
  1271. SC_ICON        = SC_MINIMIZE
  1272. SC_ZOOM        = SC_MAXIMIZE
  1273.  
  1274. ;
  1275. ;  Window State Messages
  1276. ;
  1277. IFNDEF  NOWM
  1278. WM_STATE            = 0000H
  1279.  
  1280. WM_NULL             = 0000h
  1281. WM_CREATE           = 0001h
  1282. WM_DESTROY          = 0002h
  1283. WM_MOVE             = 0003h
  1284. WM_SIZE             = 0005h
  1285. WM_ACTIVATE         = 0006h
  1286. WM_SETFOCUS         = 0007h
  1287. WM_KILLFOCUS        = 0008h
  1288. WM_ENABLE           = 000Ah
  1289. WM_SETREDRAW        = 000Bh
  1290. WM_SETTEXT          = 000Ch
  1291. WM_GETTEXT          = 000Dh
  1292. WM_GETTEXTLENGTH    = 000Eh
  1293. WM_PAINT            = 000Fh
  1294. WM_CLOSE            = 0010h
  1295. WM_QUERYENDSESSION  = 0011h
  1296. WM_QUIT             = 0012h
  1297. WM_QUERYOPEN        = 0013h
  1298. WM_ERASEBKGND       = 0014h
  1299. WM_SYSCOLORCHANGE   = 0015h
  1300. WM_ENDSESSION       = 0016h
  1301. WM_SYSTEMERROR      = 0017h
  1302. WM_SHOWWINDOW       = 0018h
  1303. WM_CTLCOLOR         = 0019h
  1304. WM_WININICHANGE     = 001Ah
  1305. WM_DEVMODECHANGE    = 001Bh
  1306. WM_ACTIVATEAPP      = 001Ch
  1307. WM_FONTCHANGE       = 001Dh
  1308. WM_TIMECHANGE       = 001Eh
  1309. WM_CANCELMODE       = 001Fh
  1310. WM_SETCURSOR        = 0020h
  1311. WM_MOUSEACTIVATE    = 0021h
  1312. WM_CHILDACTIVATE    = 0022h
  1313. WM_QUEUESYNC        = 0023h
  1314. WM_GETMINMAXINFO    = 0024h
  1315. WM_PAINTICON        = 0026h
  1316. WM_ICONERASEBKGND   = 0027h
  1317. WM_NEXTDLGCTL       = 0028h
  1318. WM_SPOOLERSTATUS    = 002Ah
  1319. WM_DRAWITEM         = 002Bh
  1320. WM_MEASUREITEM      = 002Ch
  1321. WM_DELETEITEM       = 002Dh
  1322. WM_VKEYTOITEM       = 002Eh
  1323. WM_CHARTOITEM       = 002Fh
  1324. WM_SETFONT          = 0030h
  1325. WM_GETFONT          = 0031h
  1326. WM_QUERYDRAGICON    = 0037h
  1327. WM_COMPAREITEM      = 0039h
  1328. WM_COMPACTING       = 0041h
  1329. IFNDEF NOWIN31
  1330. WM_COMMNOTIFY       = 0044h
  1331. WM_WINDOWPOSCHANGING= 0046h
  1332. WM_WINDOWPOSCHANGED = 0047h
  1333. WM_POWER            = 0048h
  1334. ENDIF
  1335.  
  1336.  
  1337. WM_NCCREATE         = 0081h
  1338. WM_NCDESTROY        = 0082h
  1339. WM_NCCALCSIZE       = 0083h
  1340. WM_NCHITTEST        = 0084h
  1341. WM_NCPAINT          = 0085h
  1342. WM_NCACTIVATE       = 0086h
  1343. WM_GETDLGCODE       = 0087h
  1344. WM_NCMOUSEMOVE      = 00A0h
  1345. WM_NCLBUTTONDOWN    = 00A1h
  1346. WM_NCLBUTTONUP      = 00A2h
  1347. WM_NCLBUTTONDBLCLK  = 00A3h
  1348. WM_NCRBUTTONDOWN    = 00A4h
  1349. WM_NCRBUTTONUP      = 00A5h
  1350. WM_NCRBUTTONDBLCLK  = 00A6h
  1351. WM_NCMBUTTONDOWN    = 00A7h
  1352. WM_NCMBUTTONUP      = 00A8h
  1353. WM_NCMBUTTONDBLCLK  = 00A9h
  1354.  
  1355. WM_KEYFIRST         = 0100h
  1356. WM_KEYDOWN          = 0100h
  1357. WM_KEYUP            = 0101h
  1358. WM_CHAR             = 0102h
  1359. WM_DEADCHAR         = 0103h
  1360. WM_SYSKEYDOWN       = 0104h
  1361. WM_SYSKEYUP         = 0105h
  1362. WM_SYSCHAR          = 0106h
  1363. WM_SYSDEADCHAR      = 0107h
  1364. WM_KEYLAST          = 0108h
  1365.  
  1366. WM_INITDIALOG       = 0110h
  1367. WM_COMMAND          = 0111h
  1368. WM_SYSCOMMAND       = 0112h
  1369. WM_TIMER            = 0113h
  1370. WM_HSCROLL          = 0114h
  1371. WM_VSCROLL          = 0115h
  1372. WM_INITMENU         = 0116h
  1373. WM_INITMENUPOPUP    = 0117h
  1374. WM_MENUSELECT       = 011Fh
  1375. WM_MENUCHAR         = 0120h
  1376. WM_ENTERIDLE        = 0121h
  1377.  
  1378.  
  1379. WM_MOUSEFIRST       = 0200h
  1380. WM_MOUSEMOVE        = 0200h
  1381. WM_LBUTTONDOWN      = 0201h
  1382. WM_LBUTTONUP        = 0202h
  1383. WM_LBUTTONDBLCLK    = 0203h
  1384. WM_RBUTTONDOWN      = 0204h
  1385. WM_RBUTTONUP        = 0205h
  1386. WM_RBUTTONDBLCLK    = 0206h
  1387. WM_MBUTTONDOWN      = 0207h
  1388. WM_MBUTTONUP        = 0208h
  1389. WM_MBUTTONDBLCLK    = 0209h
  1390. WM_MOUSELAST        = 0209h
  1391.  
  1392. WM_PARENTNOTIFY     = 0210h
  1393. WM_MDICREATE        = 0220h
  1394. WM_MDIDESTROY       = 0221h
  1395. WM_MDIACTIVATE      = 0222h
  1396. WM_MDIRESTORE       = 0223h
  1397. WM_MDINEXT          = 0224h
  1398. WM_MDIMAXIMIZE      = 0225h
  1399. WM_MDITILE          = 0226h
  1400. WM_MDICASCADE       = 0227h
  1401. WM_MDIICONARRANGE   = 0228h
  1402. WM_MDIGETACTIVE     = 0229h
  1403. WM_MDISETMENU       = 0230h
  1404. WM_DROPFILES        = 0233h
  1405.  
  1406.  
  1407. WM_CUT              = 0300h
  1408. WM_COPY             = 0301h
  1409. WM_PASTE            = 0302h
  1410. WM_CLEAR            = 0303h
  1411. WM_UNDO             = 0304h
  1412. WM_RENDERFORMAT     = 0305h
  1413. WM_RENDERALLFORMATS = 0306h
  1414. WM_DESTROYCLIPBOARD = 0307h
  1415. WM_DRAWCLIPBOARD    = 0308h
  1416. WM_PAINTCLIPBOARD   = 0309h
  1417. WM_VSCROLLCLIPBOARD = 030Ah
  1418. WM_SIZECLIPBOARD    = 030Bh
  1419. WM_ASKCBFORMATNAME  = 030Ch
  1420. WM_CHANGECBCHAIN    = 030Dh
  1421. WM_HSCROLLCLIPBOARD = 030Eh
  1422. WM_QUERYNEWPALETTE  = 030Fh
  1423. WM_PALETTEISCHANGING = 0310h
  1424. WM_PALETTECHANGED   = 0311h
  1425.  
  1426. IFNDEF NOWIN31
  1427. WM_PENWINFIRST      equ 0380h
  1428. WM_PENWINLAST       equ 038Fh
  1429.  
  1430.  
  1431. WM_COALESCE_FIRST  equ 0390h
  1432. WM_COALESCE_LAST   equ 039Fh
  1433.  
  1434.  
  1435.  
  1436.  
  1437. ENDIF
  1438.  
  1439.  
  1440.  
  1441. ;  private window messages start here
  1442. WM_USER             = 0400H
  1443. ENDIF           ; NOWM
  1444.  
  1445. ; WM_MOUSEACTIVATE Return Codes
  1446. MA_ACTIVATE       =  1
  1447. MA_ACTIVATEANDEAT =  2
  1448. MA_NOACTIVATE     =  3
  1449.  
  1450. ; Size message commands
  1451. SIZENORMAL       = 0
  1452. SIZEICONIC       = 1
  1453. SIZEFULLSCREEN   = 2
  1454. SIZEZOOMSHOW     = 3
  1455. SIZEZOOMHIDE     = 4
  1456.  
  1457. ; ShowWindow() Commands
  1458. SW_HIDE            = 0
  1459. SW_SHOWNORMAL      = 1
  1460. SW_NORMAL          = 1
  1461. SW_SHOWMINIMIZED   = 2
  1462. SW_SHOWMAXIMIZED   = 3
  1463. SW_MAXIMIZE        = 3
  1464. SW_SHOWNOACTIVATE  = 4
  1465. SW_SHOW            = 5
  1466. SW_MINIMIZE        = 6
  1467. SW_SHOWMINNOACTIVE = 7
  1468. SW_SHOWNA          = 8
  1469. SW_RESTORE         = 9
  1470.  
  1471. ; Old ShowWindow() Commands
  1472. HIDE_WINDOW        = 0
  1473. SHOW_OPENWINDOW    = 1
  1474. SHOW_ICONWINDOW    = 2
  1475. SHOW_FULLSCREEN    = 3
  1476. SHOW_OPENNOACTIVATE= 4
  1477.  
  1478. ;  identifiers for the WM_SHOWWINDOW message
  1479. SW_PARENTCLOSING =  1
  1480. SW_OTHERZOOM     =  2
  1481. SW_PARENTOPENING =  3
  1482. SW_OTHERUNZOOM   =  4
  1483. ;
  1484. ; Key state masks for mouse messages
  1485. ;
  1486. MK_LBUTTON       = 0001h
  1487. MK_RBUTTON       = 0002h
  1488. MK_SHIFT         = 0004h
  1489. MK_CONTROL       = 0008h
  1490. MK_MBUTTON       = 0010h
  1491. ;
  1492. ; Class styles
  1493. ;
  1494. CS_VREDRAW         = 0001h
  1495. CS_HREDRAW         = 0002h
  1496. CS_KEYCVTWINDOW    = 0004H
  1497. CS_DBLCLKS         = 0008h
  1498. ;                    0010h reserved
  1499. CS_OWNDC           = 0020h
  1500. CS_CLASSDC         = 0040h
  1501. CS_PARENTDC        = 0080h
  1502. CS_NOKEYCVT        = 0100h
  1503. CS_SAVEBITS        = 0800h
  1504. CS_NOCLOSE         = 0200h
  1505. CS_BYTEALIGNCLIENT = 1000h
  1506. CS_BYTEALIGNWINDOW = 2000h
  1507. CS_GLOBALCLASS     = 4000h    ; Global window class
  1508.  
  1509. ;
  1510. ; Special CreateWindow position value
  1511. ;
  1512. CW_USEDEFAULT   EQU    8000h
  1513.  
  1514. ;
  1515. ; Windows styles (the high words)
  1516. ;
  1517. WS_OVERLAPPED   = 00000h
  1518. WS_ICONICPOPUP  = 0C000h
  1519. WS_POPUP        = 08000h
  1520. WS_CHILD        = 04000h
  1521. WS_MINIMIZE     = 02000h
  1522. WS_VISIBLE      = 01000h
  1523. WS_DISABLED     = 00800h
  1524. WS_CLIPSIBLINGS = 00400h
  1525. WS_CLIPCHILDREN = 00200h
  1526. WS_MAXIMIZE     = 00100h
  1527. WS_CAPTION      = 000C0h     ; WS_BORDER | WS_DLGFRAME
  1528. WS_BORDER       = 00080h
  1529. WS_DLGFRAME     = 00040h
  1530. WS_VSCROLL      = 00020h
  1531. WS_HSCROLL      = 00010h
  1532. WS_SYSMENU      = 00008h
  1533. WS_THICKFRAME   = 00004h
  1534. WS_HREDRAW      = 00002h
  1535. WS_VREDRAW      = 00001h
  1536. WS_GROUP        = 00002h
  1537. WS_TABSTOP      = 00001h
  1538. WS_MINIMIZEBOX  = 00002h
  1539. WS_MAXIMIZEBOX  = 00001h
  1540.  
  1541. ; Common Window Styles
  1542.  
  1543. WS_OVERLAPPEDWINDOW = WS_OVERLAPPED + WS_CAPTION + WS_SYSMENU + WS_THICKFRAME + WS_MINIMIZEBOX + WS_MAXIMIZEBOX
  1544. WS_POPUPWINDOW  = WS_POPUP + WS_BORDER + WS_SYSMENU
  1545. WS_CHILDWINDOW  = WS_CHILD
  1546. WS_TILEDWINDOW  = WS_OVERLAPPEDWINDOW
  1547.  
  1548. WS_TILED        = WS_OVERLAPPED
  1549. WS_ICONIC       = WS_MINIMIZE
  1550. WS_SIZEBOX      = WS_THICKFRAME
  1551.  
  1552. ; Extended Window Styles (low words)
  1553. WS_EX_DLGMODALFRAME  = 0001
  1554. WS_EX_DRAGOBJECT     = 0002
  1555. WS_EX_NOPARENTNOTIFY = 0004
  1556. WS_EX_TOPMOST        = 0008
  1557.  
  1558. ;
  1559. ; predefined clipboard formats
  1560. ;
  1561. CF_TEXT         =  1
  1562. CF_BITMAP       =  2
  1563. CF_METAFILEPICT =  3
  1564. CF_SYLK         =  4
  1565. CF_DIF          =  5
  1566. CF_TIFF         =  6
  1567. CF_OEMTEXT      =  7
  1568. CF_DIB          =  8
  1569. CF_PALETTE      =  9
  1570. CF_PENDATA      = 10
  1571. CF_RIFF         = 11
  1572. CF_WAVE         = 12
  1573.  
  1574. CF_OWNERDISPLAY = 80h       ; owner display
  1575. CF_DSPTEXT      = 81h       ; display text
  1576. CF_DSPBITMAP    = 82h       ; display bitmap
  1577. CF_DSPMETAFILEPICT  = 83h   ; display metafile
  1578. ;
  1579. ; Private clipboard format range
  1580. ;
  1581. CF_PRIVATEFIRST       = 200h       ; Anything in this range doesn't
  1582. CF_PRIVATELAST        = 2ffh       ; get GlobalFree'd
  1583. CF_GDIOBJFIRST        = 300h       ; Anything in this range gets
  1584. CF_GDIOBJLAST         = 3ffh       ; DeleteObject'ed
  1585.  
  1586.  
  1587. MAKEINTRESOURCE MACRO a
  1588.         mov     ax,a
  1589.         xor     dx,dx
  1590.         ENDM
  1591. ;
  1592. ;  Predefined resource types
  1593. ;
  1594. RT_CURSOR       = 1              ; must be passed through MAKEINTRESOURCE
  1595. RT_BITMAP       = 2
  1596. RT_ICON         = 3
  1597. RT_MENU         = 4
  1598. RT_DIALOG       = 5
  1599. RT_STRING       = 6
  1600. RT_FONTDIR      = 7
  1601. RT_FONT         = 8
  1602. RT_ACCELERATOR  = 9
  1603. RT_RCDATA       = 10
  1604.  
  1605. ;** NOTE: if any new resource types are introduced above this point, then the
  1606. ;** value of DIFFERENCE must be changed.
  1607. ;** (RT_GROUP_CURSOR - RT_CURSOR) must always be equal to DIFFERENCE
  1608. ;** (RT_GROUP_ICON - RT_ICON) must always be equal to DIFFERENCE
  1609.  
  1610. DIFFERENCE       =   11
  1611.  
  1612. RT_GROUP_CURSOR  =   RT_CURSOR + DIFFERENCE
  1613. RT_GROUP_ICON    =   RT_ICON + DIFFERENCE
  1614.  
  1615.  
  1616.  
  1617. IFNDEF NOMDI
  1618. MDICREATESTRUCT     struc
  1619.     szClass         dd ?
  1620.     szTitle         dd ?
  1621.     hOwner          dw ?
  1622.     x               dw ?
  1623.     y               dw ?
  1624.     cxc             dw ?
  1625.     cyc             dw ?
  1626.     style           dd ?
  1627. MDICREATESTRUCT ends
  1628.  
  1629. CLIENTCREATESTRUCT  struc
  1630.     hWindowMenu     dw ?
  1631.     idFirstChild    dw ?
  1632. CLIENTCREATESTRUCT ends
  1633. ENDIF
  1634.  
  1635. ; NOMDI
  1636.  
  1637.  
  1638. PALETTEENTRY        struc
  1639.     peRed           db ?
  1640.     peGreen         db ?
  1641.     peBlue          db ?
  1642.     peFlags         db ?
  1643. PALETTEENTRY        ends
  1644.  
  1645. ; Logical Palette
  1646. LOGPALETTE          struc
  1647.     palVersion      dw ?
  1648.     palNumEntries   dw ?
  1649.     palPalEntry     db ?  ; array of PALETTEENTRY
  1650. LOGPALETTE          ends
  1651.  
  1652. ; DRAWITEMSTRUCT for ownerdraw
  1653. DRAWITEMSTRUCT      struc
  1654.     drCtlType         dw ?
  1655.     drCtlID           dw ?
  1656.     dritemID          dw ?
  1657.     dritemAction      dw ?
  1658.     dritemState       dw ?
  1659.     drhwndItem        dw ?
  1660.     drhDC             dw ?
  1661.     drrcItem          DB size RECT dup(?)
  1662.     dritemData        dd ?
  1663. DRAWITEMSTRUCT ends
  1664.  
  1665. ; DELETEITEMSTRUCT for ownerdraw
  1666. DELETEITEMSTRUCT    struc
  1667.     deCtlType         dw ?
  1668.     deCtlID           dw ?
  1669.     deitemID          dw ?
  1670.     dehwndItem        dw ?
  1671.     deitemData        dd ?
  1672. DELETEITEMSTRUCT ends
  1673.  
  1674. ; MEASUREITEMSTRUCT for ownerdraw
  1675. MEASUREITEMSTRUCT   struc
  1676.     meCtlType         dw ?
  1677.     meCtlID           dw ?
  1678.     meitemID          dw ?
  1679.     meitemWidth       dw ?
  1680.     meitemHeight      dw ?
  1681.     meitemData        dd ?
  1682. MEASUREITEMSTRUCT ends
  1683.  
  1684. ; COMPAREITEMSTUCT for ownerdraw sorting
  1685. COMPAREITEMSTRUCT   struc
  1686.     coCtlType   dw ?
  1687.     coCtlID     dw ?
  1688.     cohwndItem  dw ?
  1689.     coitemID1   dw ?
  1690.     coitemData1 dd ?
  1691.     coitemID2   dw ?
  1692.     coitemData2 dd ?
  1693. COMPAREITEMSTRUCT   ends
  1694.  
  1695. ; Owner draw control types
  1696. ODT_MENU      =  1
  1697. ODT_LISTBOX   =  2
  1698. ODT_COMBOBOX  =  3
  1699. ODT_BUTTON    =  4
  1700.  
  1701. ; Owner draw actions
  1702. ODA_DRAWENTIRE = 1
  1703. ODA_SELECT     = 2
  1704. ODA_FOCUS      = 4
  1705.  
  1706. ; Owner draw state
  1707. ODS_SELECTED   = 0001h
  1708. ODS_GRAYED     = 0002h
  1709. ODS_DISABLED   = 0004h
  1710. ODS_CHECKED    = 0008h
  1711. ODS_FOCUS      = 0010h
  1712.  
  1713. ; PeekMessage() Options
  1714. PM_NOREMOVE    = 0000h
  1715. PM_REMOVE      = 0001h
  1716. PM_NOYIELD     = 0002h
  1717.  
  1718. ; SetWindowPos Flags
  1719. SWP_NOSIZE       =  0001h
  1720. SWP_NOMOVE       =  0002h
  1721. SWP_NOZORDER     =  0004h
  1722. SWP_NOREDRAW     =  0008h
  1723. SWP_NOACTIVATE   =  0010h
  1724. SWP_DRAWFRAME    =  0020h
  1725. SWP_SHOWWINDOW   =  0040h
  1726. SWP_HIDEWINDOW   =  0080h
  1727. SWP_NOCOPYBITS   =  0100h
  1728. SWP_NOREPOSITION =  0200h
  1729.  
  1730.  
  1731. IFNDEF NOWINMESSAGES
  1732.  
  1733. ; Listbox messages
  1734. LB_ADDSTRING           = (WM_USER+1)
  1735. LB_INSERTSTRING        = (WM_USER+2)
  1736. LB_DELETESTRING        = (WM_USER+3)
  1737. LB_RESETCONTENT        = (WM_USER+5)
  1738. LB_SETSEL              = (WM_USER+6)
  1739. LB_SETCURSEL           = (WM_USER+7)
  1740. LB_GETSEL              = (WM_USER+8)
  1741. LB_GETCURSEL           = (WM_USER+9)
  1742. LB_GETTEXT             = (WM_USER+10)
  1743. LB_GETTEXTLEN          = (WM_USER+11)
  1744. LB_GETCOUNT            = (WM_USER+12)
  1745. LB_SELECTSTRING        = (WM_USER+13)
  1746. LB_DIR                 = (WM_USER+14)
  1747. LB_GETTOPINDEX         = (WM_USER+15)
  1748. LB_FINDSTRING          = (WM_USER+16)
  1749. LB_GETSELCOUNT         = (WM_USER+17)
  1750. LB_GETSELITEMS         = (WM_USER+18)
  1751. LB_SETTABSTOPS         = (WM_USER+19)
  1752. LB_GETHORIZONTALEXTENT = (WM_USER+20)
  1753. LB_SETHORIZONTALEXTENT = (WM_USER+21)
  1754. LB_SETTOPINDEX         = (WM_USER+24)
  1755. LB_GETITEMRECT         = (WM_USER+25)
  1756. LB_GETITEMDATA         = (WM_USER+26)
  1757. LB_SETITEMDATA         = (WM_USER+27)
  1758. LB_SELITEMRANGE        = (WM_USER+28)
  1759. LB_SETCARETINDEX       = (WM_USER+31)
  1760. LB_GETCARETINDEX       = (WM_USER+32)
  1761. IFNDEF NOWIN31
  1762. LB_SETITEMHEIGHT       = (WM_USER+33)
  1763. LB_GETITEMHEIGHT       = (WM_USER+34)
  1764. LB_FINDSTRINGEXACT     = (WM_USER+35)
  1765. ENDIF
  1766.  
  1767. ENDIF
  1768. ; NOWINMESSAGES
  1769.  
  1770. ; Listbox Styles
  1771. LBS_NOTIFY            = 0001h
  1772. LBS_SORT              = 0002h
  1773. LBS_NOREDRAW          = 0004h
  1774. LBS_MULTIPLESEL       = 0008h
  1775. LBS_OWNERDRAWFIXED    = 0010h
  1776. LBS_OWNERDRAWVARIABLE = 0020h
  1777. LBS_HASSTRINGS        = 0040h
  1778. LBS_USETABSTOPS       = 0080h
  1779. LBS_NOINTEGRALHEIGHT  = 0100h
  1780. LBS_MULTICOLUMN       = 0200h
  1781. LBS_WANTKEYBOARDINPUT = 0400h
  1782. LBS_EXTENDEDSEL       = 0800h
  1783. LBS_STANDARD          = LBS_NOTIFY + LBS_SORT + WS_VSCROLL + WS_BORDER
  1784. LBS_DISABLENOSCROLL   = 1000h
  1785.  
  1786. ; Listbox Notification Codes
  1787. LBN_ERRSPACE      =  (-2)
  1788. LBN_SELCHANGE     =  1
  1789. LBN_DBLCLK        =  2
  1790. LBN_SELCANCEL     =  3
  1791. LBN_SETFOCUS      =  4
  1792. LBN_KILLFOCUS     =  5
  1793.  
  1794. IFNDEF NOWINMESSAGES
  1795.  
  1796. ; Edit Control Messages
  1797. EM_GETSEL              = (WM_USER+0)
  1798. EM_SETSEL              = (WM_USER+1)
  1799. EM_GETRECT             = (WM_USER+2)
  1800. EM_SETRECT             = (WM_USER+3)
  1801. EM_SETRECTNP           = (WM_USER+4)
  1802. EM_SCROLL              = (WM_USER+5)
  1803. EM_LINESCROLL          = (WM_USER+6)
  1804. EM_GETMODIFY           = (WM_USER+8)
  1805. EM_SETMODIFY           = (WM_USER+9)
  1806. EM_GETLINECOUNT        = (WM_USER+10)
  1807. EM_LINEINDEX           = (WM_USER+11)
  1808. EM_SETHANDLE           = (WM_USER+12)
  1809. EM_GETHANDLE           = (WM_USER+13)
  1810. EM_LINELENGTH          = (WM_USER+17)
  1811. EM_REPLACESEL          = (WM_USER+18)
  1812. EM_SETFONT             = (WM_USER+19)
  1813. EM_GETLINE             = (WM_USER+20)
  1814. EM_LIMITTEXT           = (WM_USER+21)
  1815. EM_CANUNDO             = (WM_USER+22)
  1816. EM_UNDO                = (WM_USER+23)
  1817. EM_FMTLINES            = (WM_USER+24)
  1818. EM_LINEFROMCHAR        = (WM_USER+25)
  1819. EM_SETWORDBREAK        = (WM_USER+26)
  1820. EM_SETTABSTOPS         = (WM_USER+27)
  1821. EM_SETPASSWORDCHAR     = (WM_USER+28)
  1822. EM_EMPTYUNDOBUFFER     = (WM_USER+29)
  1823. IFNDEF NOWIN31
  1824. EM_GETFIRSTVISIBLELINE = (WM_USER+30)
  1825. EM_SETREADONLY         = (WM_USER+31)
  1826. EM_SETWORDBREAKPROC    = (WM_USER+32)
  1827. EM_GETWORDBREAKPROC    = (WM_USER+33)
  1828. EM_GETPASSWORDCHAR     = (WM_USER+34)
  1829. ENDIF
  1830.  
  1831. ENDIF
  1832. ; NOWINMESSAGES
  1833.  
  1834.  
  1835. ; Edit Control Styles (low word)
  1836. ES_LEFT            = 0000h
  1837. ES_CENTER          = 0001h
  1838. ES_RIGHT           = 0002h
  1839. ES_MULTILINE       = 0004h
  1840. ES_UPPERCASE       = 0008h
  1841. ES_LOWERCASE       = 0010h
  1842. ES_PASSWORD        = 0020h
  1843. ES_AUTOVSCROLL     = 0040h
  1844. ES_AUTOHSCROLL     = 0080h
  1845. ES_NOHIDESEL       = 0100h
  1846. ES_OEMCONVERT      = 0400h
  1847. IFNDEF NOWIN31
  1848. ES_READONLY        = 0800h
  1849. ES_WANTRETURN      = 1000h
  1850. ENDIF
  1851.  
  1852.  
  1853. ; Edit Control Notification Codes
  1854. EN_SETFOCUS        = 0100h
  1855. EN_KILLFOCUS       = 0200h
  1856. EN_CHANGE          = 0300h
  1857. EN_UPDATE          = 0400h
  1858. EN_ERRSPACE        = 0500h
  1859. EN_MAXTEXT         = 0501h
  1860. EN_HSCROLL         = 0601h
  1861. EN_VSCROLL         = 0602h
  1862.  
  1863. IFNDEF NOWINMESSAGES
  1864.  
  1865. ; Button Control Messages
  1866. BM_GETCHECK        = (WM_USER+0)
  1867. BM_SETCHECK        = (WM_USER+1)
  1868. BM_GETSTATE        = (WM_USER+2)
  1869. BM_SETSTATE        = (WM_USER+3)
  1870. BM_SETSTYLE        = (WM_USER+4)
  1871.  
  1872. ENDIF
  1873. ; NOWINMESSAGES
  1874.  
  1875. ; Button Control Styles (low word)
  1876. BS_PUSHBUTTON      = 00h
  1877. BS_DEFPUSHBUTTON   = 01h
  1878. BS_CHECKBOX        = 02h
  1879. BS_AUTOCHECKBOX    = 03h
  1880. BS_RADIOBUTTON     = 04h
  1881. BS_3STATE          = 05h
  1882. BS_AUTO3STATE      = 06h
  1883. BS_GROUPBOX        = 07h
  1884. BS_USERBUTTON      = 08h
  1885. BS_AUTORADIOBUTTON = 09h
  1886. BS_OWNERDRAW       = 0Bh
  1887. BS_LEFTTEXT        = 20h
  1888.  
  1889. ; User Button Notification Codes
  1890. BN_CLICKED         = 0
  1891. BN_PAINT           = 1
  1892. BN_HILITE          = 2
  1893. BN_UNHILITE        = 3
  1894. BN_DISABLE         = 4
  1895. BN_DOUBLECLICKED   = 5
  1896.  
  1897. ; Dialog Styles (low words)
  1898. DS_ABSALIGN        = 01h
  1899. DS_SYSMODAL        = 02h
  1900. DS_LOCALEDIT       = 20h  ;/* Edit items get Local storage. */
  1901. DS_SETFONT         = 40h  ;/* User specified font for Dlg controls */
  1902. DS_MODALFRAME      = 80h  ;/* Can be combined with WS_CAPTION  */
  1903. DS_NOIDLEMSG       = 100h ;/* WM_ENTERIDLE message will not be sent */
  1904.  
  1905. IFNDEF NOWINMESSAGES
  1906.  
  1907. ; Dialog box messages
  1908. DM_GETDEFID        = (WM_USER+0)
  1909. DM_SETDEFID        = (WM_USER+1)
  1910.  
  1911. ENDIF   ;NOWINMESSAGES
  1912.  
  1913. ; Dialog Codes
  1914. DLGC_WANTARROWS     = 0001h    ;  /* Control wants arrow keys         */
  1915. DLGC_WANTTAB        = 0002h    ;  /* Control wants tab keys           */
  1916. DLGC_WANTALLKEYS    = 0004h    ;  /* Control wants all keys           */
  1917. DLGC_WANTMESSAGE    = 0004h    ;  /* Pass message to control          */
  1918. DLGC_HASSETSEL      = 0008h    ;  /* Understands EM_SETSEL message    */
  1919. DLGC_DEFPUSHBUTTON  = 0010h    ;  /* Default pushbutton               */
  1920. DLGC_UNDEFPUSHBUTTON= 0020h    ;  /* Non-default pushbutton           */
  1921. DLGC_RADIOBUTTON    = 0040h    ;  /* Radio button                     */
  1922. DLGC_WANTCHARS      = 0080h    ;  /* Want WM_CHAR messages            */
  1923. DLGC_STATIC         = 0100h    ;  /* Static item: don't include       */
  1924. DLGC_BUTTON         = 2000h    ;  /* Button item: can be checked      */
  1925.  
  1926. ; Combo Box return Values
  1927. CB_OKAY          =   0
  1928. CB_ERR           =   (-1)
  1929. CB_ERRSPACE      =   (-2)
  1930.  
  1931. ; Combo Box Notification Codes
  1932. CBN_ERRSPACE     =   (-1)
  1933. CBN_SELCHANGE    =   1
  1934. CBN_DBLCLK       =   2
  1935. CBN_SETFOCUS     =   3
  1936. CBN_KILLFOCUS    =   4
  1937. CBN_EDITCHANGE   =   5
  1938. CBN_EDITUPDATE   =   6
  1939. CBN_DROPDOWN     =   7
  1940.  
  1941. ; Combo Box styles (low words)
  1942. CBS_SIMPLE           = 0001h
  1943. CBS_DROPDOWN         = 0002h
  1944. CBS_DROPDOWNLIST     = 0003h
  1945. CBS_OWNERDRAWFIXED   = 0010h
  1946. CBS_OWNERDRAWVARIABLE= 0020h
  1947. CBS_AUTOHSCROLL      = 0040h
  1948. CBS_OEMCONVERT       = 0080h
  1949. CBS_SORT             = 0100h
  1950. CBS_HASSTRINGS       = 0200h
  1951. CBS_NOINTEGRALHEIGHT = 0400h
  1952.  
  1953. IFNDEF NOWINMESSAGES
  1954.  
  1955. ; Combo Box messages
  1956. CB_GETEDITSEL            = (WM_USER+0)
  1957. CB_LIMITTEXT             = (WM_USER+1)
  1958. CB_SETEDITSEL            = (WM_USER+2)
  1959. CB_ADDSTRING             = (WM_USER+3)
  1960. CB_DELETESTRING          = (WM_USER+4)
  1961. CB_DIR                   = (WM_USER+5)
  1962. CB_GETCOUNT              = (WM_USER+6)
  1963. CB_GETCURSEL             = (WM_USER+7)
  1964. CB_GETLBTEXT             = (WM_USER+8)
  1965. CB_GETLBTEXTLEN          = (WM_USER+9)
  1966. CB_INSERTSTRING          = (WM_USER+10)
  1967. CB_RESETCONTENT          = (WM_USER+11)
  1968. CB_FINDSTRING            = (WM_USER+12)
  1969. CB_SELECTSTRING          = (WM_USER+13)
  1970. CB_SETCURSEL             = (WM_USER+14)
  1971. CB_SHOWDROPDOWN          = (WM_USER+15)
  1972. CB_GETITEMDATA           = (WM_USER+16)
  1973. CB_SETITEMDATA           = (WM_USER+17)
  1974. IFNDEF NOWIN31
  1975. CB_GETDROPPEDCONTROLRECT = (WM_USER+18)
  1976. CB_SETITEMHEIGHT         = (WM_USER+19)
  1977. CB_GETITEMHEIGHT         = (WM_USER+20)
  1978. CB_SETEXTENDEDUI         = (WM_USER+21)
  1979. CB_GETEXTENDEDUI         = (WM_USER+22)
  1980. CB_GETDROPPEDSTATE       = (WM_USER+23)
  1981. CB_FINDSTRINGEXACT       = (WM_USER+24)
  1982. ENDIF
  1983.  
  1984. ENDIF ; NOWINMESSAGES
  1985.  
  1986. ; Static Control styles (low word)
  1987. SS_LEFT            = 00h
  1988. SS_CENTER          = 01h
  1989. SS_RIGHT           = 02h
  1990. SS_ICON            = 03h
  1991. SS_BLACKRECT       = 04h
  1992. SS_GRAYRECT        = 05h
  1993. SS_WHITERECT       = 06h
  1994. SS_BLACKFRAME      = 07h
  1995. SS_GRAYFRAME       = 08h
  1996. SS_WHITEFRAME      = 09h
  1997. SS_SIMPLE          = 0Bh
  1998. SS_LEFTNOWORDWRAP  = 0Ch
  1999. SS_NOPREFIX        = 80h    ; Don't do "&" character translation
  2000.  
  2001. IFNDEF NOWIN31
  2002. IFNDEF NOWINMESSAGES
  2003.  
  2004. ;Static Control Messages
  2005. STM_SETICON        = (WM_USER+0)
  2006. STM_GETICON        = (WM_USER+1)
  2007. ENDIF
  2008. ENDIF
  2009.  
  2010. ; Scroll Bar Styles (low word)
  2011. SBS_HORZ                    = 0000h
  2012. SBS_VERT                    = 0001h
  2013. SBS_TOPALIGN                = 0002h
  2014. SBS_LEFTALIGN               = 0002h
  2015. SBS_BOTTOMALIGN             = 0004h
  2016. SBS_RIGHTALIGN              = 0004h
  2017. SBS_SIZEBOXTOPLEFTALIGN     = 0002h
  2018. SBS_SIZEBOXBOTTOMRIGHTALIGN = 0004h
  2019. SBS_SIZEBOX                 = 0008h
  2020.  
  2021. IFNDEF NOSYSMETRICS
  2022.  
  2023. ; GetSystemMetrics() codes
  2024. SM_CXSCREEN           =  0
  2025. SM_CYSCREEN           =  1
  2026. SM_CXVSCROLL          =  2
  2027. SM_CYHSCROLL          =  3
  2028. SM_CYCAPTION          =  4
  2029. SM_CXBORDER           =  5
  2030. SM_CYBORDER           =  6
  2031. SM_CXDLGFRAME         =  7
  2032. SM_CYDLGFRAME         =  8
  2033. SM_CYVTHUMB           =  9
  2034. SM_CXHTHUMB           =  10
  2035. SM_CXICON             =  11
  2036. SM_CYICON             =  12
  2037. SM_CXCURSOR           =  13
  2038. SM_CYCURSOR           =  14
  2039. SM_CYMENU             =  15
  2040. SM_CXFULLSCREEN       =  16
  2041. SM_CYFULLSCREEN       =  17
  2042. SM_CYKANJIWINDOW      =  18
  2043. SM_MOUSEPRESENT       =  19
  2044. SM_CYVSCROLL          =  20
  2045. SM_CXHSCROLL          =  21
  2046. SM_DEBUG              =  22
  2047. SM_SWAPBUTTON         =  23
  2048. SM_RESERVED1          =  24
  2049. SM_RESERVED2          =  25
  2050. SM_RESERVED3          =  26
  2051. SM_RESERVED4          =  27
  2052. SM_CXMIN              =  28
  2053. SM_CYMIN              =  29
  2054. SM_CXSIZE             =  30
  2055. SM_CYSIZE             =  31
  2056. SM_CXFRAME            =  32
  2057. SM_CYFRAME            =  33
  2058. SM_CXMINTRACK         =  34
  2059. SM_CYMINTRACK         =  35
  2060. IFNDEF NOWIN31
  2061. SM_CXDOUBLECLK        =  36
  2062. SM_CYDOUBLECLK        =  37
  2063. SM_CXICONSPACING      =  38
  2064. SM_CYICONSPACING      =  39
  2065. SM_MENUDROPALIGNMENT  =  40
  2066. SM_PENWINDOWS         =  41
  2067. SM_DBCSENABLED        =  42
  2068. ENDIF
  2069. SM_CMETRICSMAX        =  43
  2070.  
  2071. ENDIF   ;NOSYSMETRICS
  2072.  
  2073. IFNDEF  NOCOLOR
  2074.  
  2075. COLOR_SCROLLBAR           = 0
  2076. COLOR_BACKGROUND          = 1
  2077. COLOR_ACTIVECAPTION       = 2
  2078. COLOR_INACTIVECAPTION     = 3
  2079. COLOR_MENU                = 4
  2080. COLOR_WINDOW              = 5
  2081. COLOR_WINDOWFRAME         = 6
  2082. COLOR_MENUTEXT            = 7
  2083. COLOR_WINDOWTEXT          = 8
  2084. COLOR_CAPTIONTEXT         = 9
  2085. COLOR_ACTIVEBORDER        = 10
  2086. COLOR_INACTIVEBORDER      = 11
  2087. COLOR_APPWORKSPACE        = 12
  2088. COLOR_HIGHLIGHT           = 13
  2089. COLOR_HIGHLIGHTTEXT       = 14
  2090. COLOR_BTNFACE             = 15
  2091. COLOR_BTNSHADOW           = 16
  2092. COLOR_GRAYTEXT            = 17
  2093. COLOR_BTNTEXT             = 18
  2094. IFNDEF NOWIN31
  2095. COLOR_INACTIVECAPTIONTEXT = 19
  2096. COLOR_BTNHILIGHT          = 20
  2097. ENDIF
  2098. ENDIF   ;NOCOLOR
  2099.  
  2100. ; Commands to pass WinHelp()
  2101. HELP_CONTEXT    =0001h  ;/* Display topic in ulTopic */
  2102. HELP_QUIT       =0002h  ;/* Terminate help */
  2103. HELP_INDEX      =0003h  ;/* Display index */
  2104. HELP_HELPONHELP =0004h  ;/* Display help on using help */
  2105. HELP_SETINDEX   =0005h  ;/* Set the current Index for multi index help */
  2106. HELP_KEY        =0101h  ;/* Display topic for keyword in offabData */
  2107.  
  2108. IFNDEF NOCOMM
  2109.  
  2110. NOPARITY        =   0
  2111. ODDPARITY       =   1
  2112. EVENPARITY      =   2
  2113. MARKPARITY      =   3
  2114. SPACEPARITY     =   4
  2115.  
  2116. ONESTOPBIT      =   0
  2117. ONE5STOPBITS    =   1
  2118. TWOSTOPBITS     =   2
  2119.  
  2120. IGNORE          =   0      ; /* Ignore signal    */
  2121. INFINITE        =   0FFFFh ; /* Infinite timeout */
  2122.  
  2123. ; Error Flags
  2124. CE_RXOVER       =    0001h ; /* Receive Queue overflow       */
  2125. CE_OVERRUN      =    0002h ; /* Receive Overrun Error        */
  2126. CE_RXPARITY     =    0004h ; /* Receive Parity Error         */
  2127. CE_FRAME        =    0008h ; /* Receive Framing error        */
  2128. CE_BREAK        =    0010h ; /* Break Detected               */
  2129. CE_CTSTO        =    0020h ; /* CTS Timeout                  */
  2130. CE_DSRTO        =    0040h ; /* DSR Timeout                  */
  2131. CE_RLSDTO       =    0080h ; /* RLSD Timeout                 */
  2132. CE_TXFULL       =    0100h ; /* TX Queue is full             */
  2133. CE_PTO          =    0200h ; /* LPTx Timeout                 */
  2134. CE_IOE          =    0400h ; /* LPTx I/O Error               */
  2135. CE_DNS          =    0800h ; /* LPTx Device not selected     */
  2136. CE_OOP          =    1000h ; /* LPTx Out-Of-Paper            */
  2137. CE_MODE         =    8000h ; /* Requested mode unsupported   */
  2138.  
  2139. IE_BADID        =    (-1)  ;  /* Invalid or unsupported id    */
  2140. IE_OPEN         =    (-2)  ;  /* Device Already Open          */
  2141. IE_NOPEN        =    (-3)  ;  /* Device Not Open              */
  2142. IE_MEMORY       =    (-4)  ;  /* Unable to allocate queues    */
  2143. IE_DEFAULT      =    (-5)  ;  /* Error in default parameters  */
  2144. IE_HARDWARE     =    (-10) ;  /* Hardware Not Present         */
  2145. IE_BYTESIZE     =    (-11) ;  /* Illegal Byte Size            */
  2146. IE_BAUDRATE     =    (-12) ;  /* Unsupported BaudRate         */
  2147.  
  2148. ; Events
  2149. EV_RXCHAR       =    0001h ; /* Any Character received       */
  2150. EV_RXFLAG       =    0002h ; /* Received certain character   */
  2151. EV_TXEMPTY      =    0004h ; /* Transmitt Queue Empty        */
  2152. EV_CTS          =    0008h ; /* CTS changed state            */
  2153. EV_DSR          =    0010h ; /* DSR changed state            */
  2154. EV_RLSD         =    0020h ; /* RLSD changed state           */
  2155. EV_BREAK        =    0040h ; /* BREAK received               */
  2156. EV_ERR          =    0080h ; /* Line status error occurred   */
  2157. EV_RING         =    0100h ; /* Ring signal detected         */
  2158. EV_PERR         =    0200h ; /* Printer error occured        */
  2159. EV_CTSS         =    0400h ; /* CTS state                    */
  2160. EV_DSRS         =    0800h ; /* DSR state                    */
  2161. EV_RLSDS        =    1000h ; /* RLSD state                   */
  2162. EV_RingTe       =    2000h ; /* Ring Trailing Edge Indicator */
  2163.  
  2164.  
  2165. ; Escape Functions
  2166. SETXOFF         =    1     ;  /* Simulate XOFF received       */
  2167. SETXON          =    2     ;  /* Simulate XON received        */
  2168. SETRTS          =    3     ;  /* Set RTS high                 */
  2169. CLRRTS          =    4     ;  /* Set RTS low                  */
  2170. SETDTR          =    5     ;  /* Set DTR high                 */
  2171. CLRDTR          =    6     ;  /* Set DTR low                  */
  2172. RESETDEV        =    7     ;  /* Reset device if possible     */
  2173.  
  2174. LPTx            =    80h   ; /* Set if ID is for LPT device  */
  2175.  
  2176. IFNDEF NOWIN31
  2177. ; new escape functions
  2178. GETMAXLPT   equ  8         ; Max supported LPT id
  2179. GETMAXCOM   equ  9         ; Max supported COM id
  2180. GETBASEIRQ  equ 10         ; Get port base & irq for a port
  2181.  
  2182. ; Comm Baud Rate indices
  2183. CBR_110     equ 0FF10h
  2184. CBR_300     equ 0FF11h
  2185. CBR_600     equ 0FF12h
  2186. CBR_1200    equ 0FF13h
  2187. CBR_2400    equ 0FF14h
  2188. CBR_4800    equ 0FF15h
  2189. CBR_9600    equ 0FF16h
  2190. CBR_14400   equ 0FF17h
  2191. CBR_19200   equ 0FF18h
  2192. ;               0FF19h  (reserved)
  2193. ;               0FF1Ah  (reserved)
  2194. CBR_38400   equ 0FF1Bh
  2195. ;               0FF1Ch  (reserved)
  2196. ;               0FF1Dh  (reserved)
  2197. ;               0FF1Eh  (reserved)
  2198. CBR_56000   equ 0FF1Fh
  2199. ;               0FF20h  (reserved)
  2200. ;               0FF21h  (reserved)
  2201. ;               0FF22h  (reserved)
  2202. CBR_128000  equ 0FF23h
  2203. ;               0FF24h  (reserved)
  2204. ;               0FF25h  (reserved)
  2205. ;               0FF26h  (reserved)
  2206. CBR_256000  equ 0FF27h
  2207.  
  2208. ; notifications passed in low word of lParam on WM_COMMNOTIFY messages
  2209. CN_RECEIVE  equ 1           ; bytes are available in the input queue
  2210. CN_TRANSMIT equ 2           ; fewer than wOutTrigger bytes still
  2211.                             ; remain in the output queue waiting
  2212.                             ; to be transmitted.
  2213. CN_EVENT    equ 4           ; an enabled event has occurred
  2214.  
  2215. ENDIF
  2216.  
  2217.  
  2218. DCB     struc
  2219.     DCB_Id             db ?  ; /* Internal Device ID              */
  2220.     DCB_BaudRate       dw ?  ; /* Baudrate at which runing        */
  2221.     DCB_ByteSize       db ?  ; /* Number of bits/byte, 4-8        */
  2222.     DCB_Parity         db ?  ; /* 0-4=None,Odd,Even,Mark,Space    */
  2223.     DCB_StopBits       db ?  ; /* 0,1,2 = 1, 1.5, 2               */
  2224.     DCB_RlsTimeout     dw ?  ; /* Timeout for RLSD to be set      */
  2225.     DCB_CtsTimeout     dw ?  ; /* Timeout for CTS to be set       */
  2226.     DCB_DsrTimeout     dw ?  ; /* Timeout for DSR to be set       */
  2227.  
  2228.     DCB_BitMask1       db ?
  2229.  
  2230.     ;   BYTE fBinary: 1;     /* Binary Mode (skip EOF check     */
  2231.     ;   BYTE fRtsDisable:1;  /* Don't assert RTS at init time   */
  2232.     ;   BYTE fParity: 1;     /* Enable parity checking          */
  2233.     ;   BYTE fOutxCtsFlow:1; /* CTS handshaking on output       */
  2234.     ;   BYTE fOutxDsrFlow:1; /* DSR handshaking on output       */
  2235.     ;   BYTE fDummy: 2;      /* Reserved                        */
  2236.     ;   BYTE fDtrDisable:1;  /* Don't assert DTR at init time   */
  2237.  
  2238.     DCB_BitMask2       db ?
  2239.  
  2240.     ;   BYTE fOutX: 1;       /* Enable output X-ON/X-OFF        */
  2241.     ;   BYTE fInX: 1;        /* Enable input X-ON/X-OFF         */
  2242.     ;   BYTE fPeChar: 1;     /* Enable Parity Err Replacement   */
  2243.     ;   BYTE fNull: 1;       /* Enable Null stripping           */
  2244.     ;   BYTE fChEvt: 1;      /* Enable Rx character event.      */
  2245.     ;   BYTE fDtrflow: 1;    /* DTR handshake on input          */
  2246.     ;   BYTE fRtsflow: 1;    /* RTS handshake on input          */
  2247.     ;   BYTE fDummy2: 1;
  2248.  
  2249.     DCB_XonChar        db ? ; /* Tx and Rx X-ON character        */
  2250.     DCB_XoffChar       db ? ; /* Tx and Rx X-OFF character       */
  2251.     DCB_XonLim         dw ? ; /* Transmit X-ON threshold         */
  2252.     DCB_XoffLim        dw ? ; /* Transmit X-OFF threshold        */
  2253.     DCB_PeChar         db ? ; /* Parity error replacement char   */
  2254.     DCB_EofChar        db ? ; /* End of Input character          */
  2255.     DCB_EvtChar        db ? ; /* Recieved Event character        */
  2256.     DCB_TxDelay        dw ? ; /* Amount of time between chars    */
  2257. DCB     ends
  2258.  
  2259. COMSTAT     struc
  2260.     COMS_BitMask1   db ?
  2261.  
  2262. ;    BYTE fCtsHold: 1;   /* Transmit is on CTS hold         */
  2263. ;    BYTE fDsrHold: 1;   /* Transmit is on DSR hold         */
  2264. ;    BYTE fRlsdHold: 1;  /* Transmit is on RLSD hold        */
  2265. ;    BYTE fXoffHold: 1;  /* Received handshake              */
  2266. ;    BYTE fXoffSent: 1;  /* Issued handshake                */
  2267. ;    BYTE fEof: 1;       /* End of file character found     */
  2268. ;    BYTE fTxim: 1;      /* Character being transmitted     */
  2269.  
  2270.  
  2271.     COMS_cbInQue    dw ?  ;   /* count of characters in Rx Queue */
  2272.     COMS_cbOutQue   dw ?  ;   /* count of characters in Tx Queue */
  2273. COMSTAT     ends
  2274.  
  2275. ENDIF       ;NOCOM
  2276.  
  2277. ;
  2278. ; Installable Driver Support
  2279. ;
  2280. ; Driver Messages
  2281. DRV_LOAD            = 0001h
  2282. DRV_ENABLE          = 0002h
  2283. DRV_OPEN            = 0003h
  2284. DRV_CLOSE           = 0004h
  2285. DRV_DISABLE         = 0005h
  2286. DRV_FREE            = 0006h
  2287. DRV_CONFIGURE       = 0007h
  2288. DRV_QUERYCONFIGURE  = 0008h
  2289. DRV_INSTALL         = 0009h
  2290. DRV_REMOVE          = 000Ah
  2291. DRV_EXITSESSION     = 000Bh
  2292. DRV_POWER           = 000Fh
  2293. DRV_RESERVED        = 0800h
  2294. DRV_USER            = 4000h
  2295.  
  2296. ;LPARAM of DRV_CONFIGURE message and return values
  2297. DRVCONFIGINFO struc
  2298.     DRVCNF_dwDCISize          dw ?
  2299.     DRVCNF_lpszDCISectionName dd ?
  2300.     DRVCNF_lpszDCIAliasName   dd ?
  2301. DRVCONFIGINFO ends
  2302.  
  2303. DRVCNF_CANCEL       = 0000h
  2304. DRVCNF_OK           = 0001h
  2305. DRVCNF_RESTART      = 0002h
  2306.  
  2307.  
  2308. IFNDEF  NOKERNEL
  2309. ;
  2310. ; Common Kernel errors
  2311. ;
  2312. ERR_GALLOC      = 01030h        ; GlobalAlloc Failed
  2313. ERR_GREALLOC    = 01031h        ; GlobalReAlloc Failed
  2314. ERR_GLOCK       = 01032h        ; GlobalLock Failed
  2315. ERR_LALLOC      = 01033h        ; LocalAlloc Failed
  2316. ERR_LREALLOC    = 01034h        ; LocalReAlloc Failed
  2317. ERR_LLOCK       = 01035h        ; LocalLock Failed
  2318. ERR_ALLOCRES    = 01036h        ; AllocResource Failed
  2319. ERR_LOCKRES     = 01037h        ; LockResource Failed
  2320. ERR_LOADMODULE  = 01038h        ; LoadModule failed
  2321.  
  2322. ;
  2323. ; Common User Errors
  2324. ;
  2325. ERR_CREATEDLG        =  01045h ; /* Create Dlg failure due to LoadMenu failure */
  2326. ERR_CREATEDLG2       =  01046h ; /* Create Dlg failure due to CreateWindow Failure */
  2327. ERR_REGISTERCLASS    =  01047h ; /* RegisterClass failure due to Class already registered */
  2328. ERR_DCBUSY           =  01048h ; /* DC Cache is full */
  2329. ERR_CREATEWND        =  01049h ; /* Create Wnd failed due to class not found */
  2330. ERR_STRUCEXTRA       =  01050h ; /* Unallocated Extra space is used */
  2331. ERR_LOADSTR          =  01051h ; /* LoadString() failed */
  2332. ERR_LOADMENU         =  01052h ; /* LoadMenu Failed     */
  2333. ERR_NESTEDBEGINPAINT =  01053h ; /* Nested BeginPaint() calls */
  2334. ERR_BADINDEX         =  01054h ; /* Bad index to Get/Set Class/Window Word/Long */
  2335. ERR_CREATEMENU       =  01055h ; /* Error creating menu */
  2336.  
  2337. ;
  2338. ; Common GDI Errors
  2339. ;
  2340. ERR_CREATEDC        = 01070h    ; /* CreateDC/CreateIC etc., failure */
  2341. ERR_CREATEMETA      = 01071h    ; /* CreateMetafile failure */
  2342. ERR_DELOBJSELECTED  = 01072h    ; /* Bitmap being deleted is selected into DC */
  2343. ERR_SELBITMAP       = 01073h    ; /* Bitmap being selected is already selected elsewhere */
  2344.  
  2345. ENDIF       ;NOKERNEL
  2346.