/*DDK*************************************************************************/
/*                                                                           */
/* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
/*                                                                           */
/*    The following IBM OS/2 WARP source code is provided to you solely for  */
/*    the purpose of assisting you in your development of OS/2 WARP device   */
/*    drivers. You may use this code in accordance with the IBM License      */
/*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
/*    Copyright statement may not be removed.                                */
/*                                                                           */
/*****************************************************************************/
/****************************** Module Header ******************************\
*
* Module Name: PMTYPES.H
*
* OS/2 Presentation Manager Datatypes include file
*
*
* ===========================================================================
*
* Comments at the end of each typedef line give the name tags used in
* the assembler include version of this file.
*
* The assembler include version of this file excludes lines between XLATOFF
* and XLATON comments.
*
\***************************************************************************/

/* XLATOFF */
#ifdef __IBMC__
   #pragma checkout( suspend )
   #ifndef __CHKHDR__
      #pragma checkout( suspend )
   #endif
   #pragma checkout( resume )
#endif
/* XLATON */

#define TYPES_INCLUDED

#define DTYP_USER               (16384)

#define DTYP_CTL_ARRAY          (1)
#define DTYP_CTL_PARRAY         (-1)
#define DTYP_CTL_OFFSET         (2)
#define DTYP_CTL_LENGTH         (3)


/**********************************************************************/
/* Ordinary datatypes                                                 */
/**********************************************************************/
#define DTYP_ACCEL              (28)
#define DTYP_ACCELTABLE         (29)
#define DTYP_ARCPARAMS          (38)
#define DTYP_AREABUNDLE         (139)
#define DTYP_ATOM               (90)
#define DTYP_BITMAPINFO         (60)
#define DTYP_BITMAPINFOHEADER   (61)
#define DTYP_BITMAPINFO2        (170)
#define DTYP_BITMAPINFOHEADER2  (171)
#define DTYP_BIT16              (20)
#define DTYP_BIT32              (21)
#define DTYP_BIT8               (19)
#define DTYP_BOOL               (18)
#define DTYP_BTNCDATA           (35)
#define DTYP_BYTE               (13)
#define DTYP_CATCHBUF           (141)
#define DTYP_CHAR               (15)
#define DTYP_CHARBUNDLE         (135)
#define DTYP_CLASSINFO          (95)
#define DTYP_COUNT2             (93)
#define DTYP_COUNT2B            (70)
#define DTYP_COUNT2CH           (82)
#define DTYP_COUNT4             (152)
#define DTYP_COUNT4B            (42)
#define DTYP_CPID               (57)
#define DTYP_CREATESTRUCT       (98)
#define DTYP_CURSORINFO         (34)
#define DTYP_DEVOPENSTRUC       (124)
#define DTYP_DLGTEMPLATE        (96)
#define DTYP_DLGTITEM           (97)
#define DTYP_ENTRYFDATA         (127)
#define DTYP_ERRORID            (45)
#define DTYP_FATTRS             (75)
#define DTYP_FFDESCS            (142)
#define DTYP_FIXED              (99)
#define DTYP_FONTMETRICS        (74)
#define DTYP_FRAMECDATA         (144)
#define DTYP_GRADIENTL          (48)
#define DTYP_HAB                (10)
#define DTYP_HACCEL             (30)
#define DTYP_HAPP               (146)
#define DTYP_HATOMTBL           (91)
#define DTYP_HBITMAP            (62)
#define DTYP_HCINFO             (46)
#define DTYP_HDC                (132)
#define DTYP_HENUM              (117)
#define DTYP_HHEAP              (109)
#define DTYP_HINI               (53)
#define DTYP_HLIB               (147)
#define DTYP_HMF                (85)
#define DTYP_HMQ                (86)
#define DTYP_HPOINTER           (106)
#define DTYP_HPROGRAM           (131)
#define DTYP_HPS                (12)
#define DTYP_HRGN               (116)
#define DTYP_HSEM               (140)
#define DTYP_HSPL               (32)
#define DTYP_HSWITCH            (66)
#define DTYP_HVPS               (58)
#define DTYP_HWND               (11)
#define DTYP_IDENTITY           (133)
#define DTYP_IDENTITY4          (169)
#define DTYP_IMAGEBUNDLE        (136)
#define DTYP_INDEX2             (81)
#define DTYP_IPT                (155)
#define DTYP_KERNINGPAIRS       (118)
#define DTYP_LENGTH2            (68)
#define DTYP_LENGTH4            (69)
#define DTYP_LINEBUNDLE         (137)
#define DTYP_LONG               (25)
#define DTYP_MARKERBUNDLE       (138)
#define DTYP_MATRIXLF           (113)
#define DTYP_MLECTLDATA         (161)
#define DTYP_MLEMARGSTRUCT      (157)
#define DTYP_MLEOVERFLOW        (158)
#define DTYP_OFFSET2B           (112)
#define DTYP_OWNERITEM          (154)
#define DTYP_PID                (92)
#define DTYP_PIX                (156)
#define DTYP_POINTERINFO        (105)
#define DTYP_POINTL             (77)
#define DTYP_PROGCATEGORY       (129)
#define DTYP_PROGRAMENTRY       (128)
#define DTYP_PROGTYPE           (130)
#define DTYP_PROPERTY2          (88)
#define DTYP_PROPERTY4          (89)
#define DTYP_QMSG               (87)
#define DTYP_RECTL              (121)
#define DTYP_RESID              (125)
#define DTYP_RGB                (111)
#define DTYP_RGNRECT            (115)
#define DTYP_SBCDATA            (159)
#define DTYP_SEGOFF             (126)
#define DTYP_SHORT              (23)
#define DTYP_SIZEF              (101)
#define DTYP_SIZEL              (102)
#define DTYP_STRL               (17)
#define DTYP_STR16              (40)
#define DTYP_STR32              (37)
#define DTYP_STR64              (47)
#define DTYP_STR8               (33)
#define DTYP_SWBLOCK            (63)
#define DTYP_SWCNTRL            (64)
#define DTYP_SWENTRY            (65)
#define DTYP_SWP                (31)
#define DTYP_TID                (104)
#define DTYP_TIME               (107)
#define DTYP_TRACKINFO          (73)
#define DTYP_UCHAR              (22)
#define DTYP_ULONG              (26)
#define DTYP_USERBUTTON         (36)
#define DTYP_USHORT             (24)
#define DTYP_WIDTH4             (108)
#define DTYP_WNDPARAMS          (83)
#define DTYP_WNDPROC            (84)
#define DTYP_WPOINT             (59)
#define DTYP_WRECT              (55)
#define DTYP_XYWINSIZE          (52)


/**********************************************************************/
/* Pointer datatypes                                                  */
/**********************************************************************/
#define DTYP_PACCEL             (-28)
#define DTYP_PACCELTABLE        (-29)
#define DTYP_PARCPARAMS         (-38)
#define DTYP_PAREABUNDLE        (-139)
#define DTYP_PATOM              (-90)
#define DTYP_PBITMAPINFO        (-60)
#define DTYP_PBITMAPINFOHEADER  (-61)
#define DTYP_PBITMAPINFO2       (-170)
#define DTYP_PBITMAPINFOHEADER2 (-171)
#define DTYP_PBIT16             (-20)
#define DTYP_PBIT32             (-21)
#define DTYP_PBIT8              (-19)
#define DTYP_PBOOL              (-18)
#define DTYP_PBTNCDATA          (-35)
#define DTYP_PBYTE              (-13)
#define DTYP_PCATCHBUF          (-141)
#define DTYP_PCHAR              (-15)
#define DTYP_PCHARBUNDLE        (-135)
#define DTYP_PCLASSINFO         (-95)
#define DTYP_PCOUNT2            (-93)
#define DTYP_PCOUNT2B           (-70)
#define DTYP_PCOUNT2CH          (-82)
#define DTYP_PCOUNT4            (-152)
#define DTYP_PCOUNT4B           (-42)
#define DTYP_PCPID              (-57)
#define DTYP_PCREATESTRUCT      (-98)
#define DTYP_PCURSORINFO        (-34)
#define DTYP_PDEVOPENSTRUC      (-124)
#define DTYP_PDLGTEMPLATE       (-96)
#define DTYP_PDLGTITEM          (-97)
#define DTYP_PENTRYFDATA        (-127)
#define DTYP_PERRORID           (-45)
#define DTYP_PFATTRS            (-75)
#define DTYP_PFFDESCS           (-142)
#define DTYP_PFIXED             (-99)
#define DTYP_PFONTMETRICS       (-74)
#define DTYP_PFRAMECDATA        (-144)
#define DTYP_PGRADIENTL         (-48)
#define DTYP_PHAB               (-10)
#define DTYP_PHACCEL            (-30)
#define DTYP_PHAPP              (-146)
#define DTYP_PHATOMTBL          (-91)
#define DTYP_PHBITMAP           (-62)
#define DTYP_PHCINFO            (-46)
#define DTYP_PHDC               (-132)
#define DTYP_PHENUM             (-117)
#define DTYP_PHHEAP             (-109)
#define DTYP_PHINI              (-53)
#define DTYP_PHLIB              (-147)
#define DTYP_PHMF               (-85)
#define DTYP_PHMQ               (-86)
#define DTYP_PHPOINTER          (-106)
#define DTYP_PHPROGRAM          (-131)
#define DTYP_PHPS               (-12)
#define DTYP_PHRGN              (-116)
#define DTYP_PHSEM              (-140)
#define DTYP_PHSPL              (-32)
#define DTYP_PHSWITCH           (-66)
#define DTYP_PHVPS              (-58)
#define DTYP_PHWND              (-11)
#define DTYP_PIDENTITY          (-133)
#define DTYP_PIDENTITY4         (-169)
#define DTYP_PIMAGEBUNDLE       (-136)
#define DTYP_PINDEX2            (-81)
#define DTYP_PIPT               (-155)
#define DTYP_PKERNINGPAIRS      (-118)
#define DTYP_PLENGTH2           (-68)
#define DTYP_PLENGTH4           (-69)
#define DTYP_PLINEBUNDLE        (-137)
#define DTYP_PLONG              (-25)
#define DTYP_PMARKERBUNDLE      (-138)
#define DTYP_PMATRIXLF          (-113)
#define DTYP_PMLECTLDATA        (-161)
#define DTYP_PMLEMARGSTRUCT     (-157)
#define DTYP_PMLEOVERFLOW       (-158)
#define DTYP_POFFSET2B          (-112)
#define DTYP_POWNERITEM         (-154)
#define DTYP_PPID               (-92)
#define DTYP_PPIX               (-156)
#define DTYP_PPOINTERINFO       (-105)
#define DTYP_PPOINTL            (-77)
#define DTYP_PPROGCATEGORY      (-129)
#define DTYP_PPROGRAMENTRY      (-128)
#define DTYP_PPROGTYPE          (-130)
#define DTYP_PPROPERTY2         (-88)
#define DTYP_PPROPERTY4         (-89)
#define DTYP_PQMSG              (-87)
#define DTYP_PRECTL             (-121)
#define DTYP_PRESID             (-125)
#define DTYP_PRGB               (-111)
#define DTYP_PRGNRECT           (-115)
#define DTYP_PSBCDATA           (-159)
#define DTYP_PSEGOFF            (-126)
#define DTYP_PSHORT             (-23)
#define DTYP_PSIZEF             (-101)
#define DTYP_PSIZEL             (-102)
#define DTYP_PSTRL              (-17)
#define DTYP_PSTR16             (-40)
#define DTYP_PSTR32             (-37)
#define DTYP_PSTR64             (-47)
#define DTYP_PSTR8              (-33)
#define DTYP_PSWBLOCK           (-63)
#define DTYP_PSWCNTRL           (-64)
#define DTYP_PSWENTRY           (-65)
#define DTYP_PSWP               (-31)
#define DTYP_PTID               (-104)
#define DTYP_PTIME              (-107)
#define DTYP_PTRACKINFO         (-73)
#define DTYP_PUCHAR             (-22)
#define DTYP_PULONG             (-26)
#define DTYP_PUSERBUTTON        (-36)
#define DTYP_PUSHORT            (-24)
#define DTYP_PWIDTH4            (-108)
#define DTYP_PWNDPARAMS         (-83)
#define DTYP_PWNDPROC           (-84)
#define DTYP_PWPOINT            (-59)
#define DTYP_PWRECT             (-55)
#define DTYP_PXYWINSIZE         (-52)

/* XLATOFF */
#ifdef __IBMC__
   #pragma checkout( suspend )
   #ifndef __CHKHDR__
      #pragma checkout( resume )
   #endif
   #pragma checkout( resume )
#endif
/* XLATON */

/**************************** end of file **********************************/
