Move some access rights so they are usable form kernel-mode.
[reactos.git] / reactos / include / defines.h
index cab5cc3..e9602eb 100644 (file)
 
 
 #ifndef WIN32_NO_STATUS
-//#define STATUS_WAIT_0                (0x00000000L)
-//#define STATUS_ABANDONED_WAIT_0      (0x00000080L)
-//#define STATUS_USER_APC              (0x000000C0L)
-//#define STATUS_TIMEOUT               (0x00000102L)
-//#define STATUS_PENDING               (0x00000103L)
+/*
+#define STATUS_WAIT_0                  (0x00000000L)
+#define STATUS_ABANDONED_WAIT_0        (0x00000080L)
+#define STATUS_USER_APC                (0x000000C0L)
+#define STATUS_TIMEOUT                 (0x00000102L)
+#define STATUS_PENDING                 (0x00000103L)
+*/
 #endif /* WIN32_NO_STATUS */
 
 #define GA_PARENT               (1)
@@ -141,6 +143,11 @@ extern "C" {
 #define KLF_REPLACELANG        (16)
 #define KLF_SUBSTITUTE_OK      (2)
 
+/* AddFontResourceEx */
+#define FR_PRIVATE     (0x10)
+#define FR_NOT_ENUM    (0x20)
+
+
 /* AppendMenu */
 #define MF_BITMAP      (0x4L)
 #define MF_DISABLED    (0x2L)
@@ -156,6 +163,8 @@ extern "C" {
 #define MF_STRING      (0L)
 #define MF_SYSMENU     (0x2000L)
 #define MF_USECHECKBITMAPS     (0x200L)
+#define MF_RIGHTJUSTIFY MF_HELP
+
 
 /* Ternary Raster Operations - BitBlt */
 #define BLACKNESS      0x00000042
@@ -244,6 +253,14 @@ extern "C" {
 #define DISP_CHANGE_FAILED     (-1)
 #define DISP_CHANGE_BADMODE    (-2)
 #define DISP_CHANGE_NOTUPDATED (-3)
+#define DISP_CHANGE_BADPARAM   (-5)
+
+/* ChangeMenu */
+#define MF_INSERT 0
+#define MF_CHANGE 128
+#define MF_APPEND 256
+#define MF_DELETE 512
+#define MF_REMOVE 4096
 
 /* ChangeServiceConfig */
 #define SERVICE_NO_CHANGE      (-1)
@@ -258,6 +275,8 @@ extern "C" {
 #define SERVICE_AUTO_START     (2)
 #define SERVICE_DEMAND_START   (3)
 #define SERVICE_DISABLED       (4)
+#define SERVICE_CONFIG_DESCRIPTION (1)
+#define SERVICE_CONFIG_FAILURE_ACTIONS (2)
 
 /* SERVICE_STATUS structure */
 #define SERVICE_STOPPED        (1)
@@ -270,6 +289,11 @@ extern "C" {
 #define SERVICE_ACCEPT_STOP    (1)
 #define SERVICE_ACCEPT_PAUSE_CONTINUE  (2)
 #define SERVICE_ACCEPT_SHUTDOWN        (4)
+#define SERVICE_ACCEPT_PARAMCHANGE (8)
+#define SERVICE_ACCEPT_NETBINDCHANGE (16)
+#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE (32)
+#define SERVICE_ACCEPT_POWEREVENT (64)
+#define SERVICE_ACCEPT_SESSIONCHANGE (128)
 
 /* CheckDlgButton */
 #define BST_CHECKED    (1)
@@ -318,6 +342,8 @@ extern "C" {
 #define COMPLEXREGION  (3)
 #define ERROR  (0)
 
+#define HW_PROFILE_GUIDLEN         39
+#define MAX_PROFILE_LEN            80
 /* CommonDlgExtendedError */
 #define CDERR_DIALOGFAILURE    (0xffff)
 #define CDERR_FINDRESFAILURE   (6)
@@ -383,6 +409,15 @@ extern "C" {
 #define SERVICE_CONTROL_CONTINUE       (3)
 #define SERVICE_CONTROL_INTERROGATE    (4)
 #define SERVICE_CONTROL_SHUTDOWN       (5)
+#define SERVICE_CONTROL_PARAMCHANGE (6)
+#define SERVICE_CONTROL_NETBINDADD (7)
+#define SERVICE_CONTROL_NETBINDREMOVE (8)
+#define SERVICE_CONTROL_NETBINDENABLE (9)
+#define SERVICE_CONTROL_NETBINDDISABLE (10)
+#define SERVICE_CONTROL_DEVICEEVENT (11)
+#define SERVICE_CONTROL_HARDWAREPROFILECHANGE (12)
+#define SERVICE_CONTROL_POWEREVENT (13)
+#define SERVICE_CONTROL_SESSIONCHANGE (14)
 
 /* CopyImage, LoadImage */
 #define IMAGE_BITMAP   (0)
@@ -394,6 +429,7 @@ extern "C" {
 #define LR_MONOCHROME  (1)
 #define LR_CREATEDIBSECTION    (8192)
 #define LR_DEFAULTSIZE (64)
+#define LR_SHARED      (32768)
 
 /* CreateDesktop */
 #define DF_ALLOWOTHERACCOUNTHOOK       (0x1L)
@@ -432,10 +468,12 @@ extern "C" {
 #define SYMBOL_CHARSET (2)
 #define SHIFTJIS_CHARSET       (128)
 #define HANGEUL_CHARSET        (129)
+#define JOHAB_CHARSET  (130)
 #define GB2312_CHARSET (134)
 #define CHINESEBIG5_CHARSET    (136)
 #define GREEK_CHARSET  (161)
 #define TURKISH_CHARSET        (162)
+#define VIETNAMESE_CHARSET     (163)
 #define HEBREW_CHARSET (177)
 #define ARABIC_CHARSET (178)
 #define BALTIC_CHARSET (186)
@@ -496,8 +534,6 @@ extern "C" {
 #define PIPE_ACCESS_DUPLEX     (3)
 #define PIPE_ACCESS_INBOUND    (1)
 #define PIPE_ACCESS_OUTBOUND   (2)
-#define WRITE_DAC      (0x40000L)
-#define WRITE_OWNER    (0x80000L)
 #define ACCESS_SYSTEM_SECURITY (0x1000000L)
 #define PIPE_TYPE_BYTE (0)
 #define PIPE_TYPE_MESSAGE      (4)
@@ -535,7 +571,6 @@ extern "C" {
 
 
 /* CreateService */
-#define SERVICE_ALL_ACCESS     (0xf01ffL)
 #define SERVICE_CHANGE_CONFIG  (2)
 #define SERVICE_ENUMERATE_DEPENDENTS   (8)
 #define SERVICE_INTERROGATE    (128)
@@ -559,6 +594,17 @@ extern "C" {
 #define SERVICE_ERROR_NORMAL   (1)
 #define SERVICE_ERROR_SEVERE   (2)
 #define SERVICE_ERROR_CRITICAL (3)
+#define SERVICE_RUNS_IN_SYSTEM_PROCESS (1)
+#define SERVICE_ALL_ACCESS             (STANDARD_RIGHTS_REQUIRED     | \
+                                        SERVICE_QUERY_CONFIG         | \
+                                        SERVICE_CHANGE_CONFIG        | \
+                                        SERVICE_QUERY_STATUS         | \
+                                        SERVICE_ENUMERATE_DEPENDENTS | \
+                                        SERVICE_START                | \
+                                        SERVICE_STOP                 | \
+                                        SERVICE_PAUSE_CONTINUE       | \
+                                        SERVICE_INTERROGATE          | \
+                                        SERVICE_USER_DEFINED_CONTROL)
 
 /* CreateTapePartition, WriteTapemark */
 #define TAPE_FIXED_PARTITIONS  (0L)
@@ -569,6 +615,10 @@ extern "C" {
 #define TAPE_SETMARKS  (0L)
 #define TAPE_SHORT_FILEMARKS   (0x2L)
 
+/* Mouse Wheel */
+#define WHEEL_DELTA (120)
+#define GET_WHEEL_DELTA_WPARAM(wParam)  ((short)HIWORD(wParam))
+
 /* CreateWindow */
 #define CW_USEDEFAULT  (0x80000000L)
 #define WS_BORDER      (0x800000L)
@@ -624,6 +674,7 @@ extern "C" {
 #define BS_TOP (0x400L)
 #define BS_USERBUTTON  (0x8L)
 #define BS_VCENTER     (0xc00L)
+#define BS_FLAT (0x8000L)
 #define CBS_AUTOHSCROLL        (0x40L)
 #define CBS_DISABLENOSCROLL    (0x800L)
 #define CBS_DROPDOWN   (0x2L)
@@ -682,6 +733,8 @@ extern "C" {
 #define SS_BLACKRECT   (0x4L)
 #define SS_CENTER      (0x1L)
 #define SS_CENTERIMAGE (0x200L)
+#define SS_ELLIPSISMASK        (0xC000L)
+#define SS_ENDELLIPSIS (0x4000L)
 #define SS_ENHMETAFILE (0xfL)
 #define SS_ETCHEDFRAME (0x12L)
 #define SS_ETCHEDHORZ  (0x10L)
@@ -694,14 +747,17 @@ extern "C" {
 #define SS_NOPREFIX    (0x80L)
 #define SS_NOTIFY      (0x100L)
 #define SS_OWNERDRAW   (0xdL)
+#define SS_PATHELLIPSIS        (0x8000L)
 #define SS_REALSIZEIMAGE       (0x800L)
 #define SS_RIGHT       (0x2L)
 #define SS_RIGHTJUST   (0x400L)
 #define SS_SIMPLE      (0xbL)
 #define SS_SUNKEN      (0x1000L)
+#define SS_TYPEMASK    (0x1FL)
 #define SS_USERITEM     (0xaL)
 #define SS_WHITEFRAME  (0x9L)
 #define SS_WHITERECT   (0x6L)
+#define SS_WORDELLIPSIS (0xC000L)
 #define DS_3DLOOK      (0x4L)
 #define DS_ABSALIGN    (0x1L)
 #define DS_CENTER      (0x800L)
@@ -772,13 +828,18 @@ extern "C" {
 #define WH_JOURNALPLAYBACK     (1)
 #define WH_JOURNALRECORD       (0)
 #define WH_KEYBOARD    (2)
+#define WH_KEYBOARD_LL (13)
 #define WH_MOUSE       (7)
+#define WH_MOUSE_LL    (14)
 #define WH_MSGFILTER   (-1)
 #define WH_SHELL       (10)
 #define WH_SYSMSGFILTER        (6)
 #define WH_MSGFILTER   (-1)
 #define WH_FOREGROUNDIDLE      (11)
 
+#define WH_MINHOOK (-1)
+#define WH_MAXHOOK (14)
+
 /* DefineDosDevice */
 #define DDD_RAW_TARGET_PATH    (1)
 #define DDD_REMOVE_DEFINITION  (2)
@@ -844,8 +905,15 @@ extern "C" {
 #define IDANI_CLOSE    (2)
 
 /* DrawCaption */
-#define DC_ACTIVE      (1)
-#define DC_SMALLCAP    (2)
+#define DC_ACTIVE      1
+#define DC_SMALLCAP    2
+#define DC_ICON        4
+#define DC_TEXT        8
+#define DC_INBUTTON    16
+#define DC_GRADIENT 32
+#define DC_BUTTONS 0x1000
+#define DC_CAPTION     (DC_ICON|DC_TEXT|DC_BUTTONS|DC_GRADIENT)
+#define DC_NC  (DC_CAPTION|DC_FRAME)
 
 /* DrawEdge */
 #define BDR_OUTER       (3)
@@ -882,6 +950,7 @@ extern "C" {
 
 /* DrawFrameControl */
 #define DFC_BUTTON     (4)
+#define DFC_POPUPMENU (5)
 #define DFC_CAPTION    (1)
 #define DFC_MENU       (2)
 #define DFC_SCROLL     (3)
@@ -912,6 +981,11 @@ extern "C" {
 #define DFCS_MONO      (32768)
 #define DFCS_PUSHED    (512)
 
+/* DrawIcon */
+#define ICON_SMALL     (0)
+#define ICON_BIG       (1)
+#define ICON_SMALL2    (2)
+
 /* DrawIconEx */
 #define DI_COMPAT      (4)
 #define DI_DEFAULTSIZE (8)
@@ -929,6 +1003,7 @@ extern "C" {
 #define DSS_UNION      (16)
 #define DSS_DISABLED   (32)
 #define DSS_MONO       (128)
+#define DSS_RIGHT   (0x8000)    /* Undocumented */
 
 /* DrawStatusText */
 #define SBT_NOBORDERS  (256)
@@ -956,6 +1031,7 @@ extern "C" {
 #define DT_TOP (0)
 #define DT_VCENTER     (4)
 #define DT_WORDBREAK   (16)
+#define DT_WORD_ELLIPSIS       (262144)
 #define DT_INTERNAL    (4096)
 
 
@@ -1005,6 +1081,8 @@ extern "C" {
 /* EnumDependentServices */
 #define SERVICE_ACTIVE (1)
 #define SERVICE_INACTIVE       (2)
+#define SERVICE_STATE_ALL              (SERVICE_ACTIVE   | \
+                                        SERVICE_INACTIVE)
 
 /* EnumFontFamExProc */
 #define DEVICE_FONTTYPE        (2)
@@ -1012,39 +1090,89 @@ extern "C" {
 #define TRUETYPE_FONTTYPE      (4)
 
 /* EnumObjects, GetCurrentObject, GetObjectType */
-#define OBJ_BRUSH      (2)
 #define OBJ_PEN        (1)
+#define OBJ_BRUSH      (2)
+#define OBJ_DC (3)
+#define OBJ_METADC     (4)
 #define OBJ_PAL        (5)
 #define OBJ_FONT       (6)
 #define OBJ_BITMAP     (7)
-#define OBJ_EXTPEN     (11)
 #define OBJ_REGION     (8)
-#define OBJ_DC (3)
-#define OBJ_MEMDC      (10)
 #define OBJ_METAFILE   (9)
-#define OBJ_METADC     (4)
-#define OBJ_ENHMETAFILE        (13)
+#define OBJ_MEMDC      (10)
+#define OBJ_EXTPEN     (11)
 #define OBJ_ENHMETADC  (12)
+#define OBJ_ENHMETAFILE        (13)
+#define OBJ_COLORSPACE (14)
 
 /* EnumPrinters */
 
 /* EnumProtocols */
 
 /* EnumResLangProc */
-#define RT_ACCELERATOR (MAKEINTRESOURCE(9))
-#define RT_BITMAP      (MAKEINTRESOURCE(2))
-#define RT_DIALOG      (MAKEINTRESOURCE(5))
-#define RT_FONT        (MAKEINTRESOURCE(8))
-#define RT_FONTDIR     (MAKEINTRESOURCE(7))
-#define RT_MENU        (MAKEINTRESOURCE(4))
-#define RT_RCDATA      (MAKEINTRESOURCE(10))
-#define RT_STRING      (MAKEINTRESOURCE(6))
-#define RT_MESSAGETABLE        (MAKEINTRESOURCE(11))
-#define RT_CURSOR      (MAKEINTRESOURCE(1))
-#define RT_GROUP_CURSOR        (MAKEINTRESOURCE(12))
-#define RT_ICON        (MAKEINTRESOURCE(3))
-#define RT_GROUP_ICON  (MAKEINTRESOURCE(13))
-#define RT_VERSION     (MAKEINTRESOURCE(16))
+#define RT_ACCELERATORA        (MAKEINTRESOURCEA(9))
+#define RT_BITMAPA     (MAKEINTRESOURCEA(2))
+#define RT_DIALOGA     (MAKEINTRESOURCEA(5))
+#define RT_FONTA       (MAKEINTRESOURCEA(8))
+#define RT_FONTDIRA    (MAKEINTRESOURCEA(7))
+#define RT_MENUA       (MAKEINTRESOURCEA(4))
+#define RT_RCDATAA     (MAKEINTRESOURCEA(10))
+#define RT_STRINGA     (MAKEINTRESOURCEA(6))
+#define RT_MESSAGETABLEA       (MAKEINTRESOURCEA(11))
+#define RT_CURSORA     (MAKEINTRESOURCEA(1))
+#define RT_GROUP_CURSORA       (MAKEINTRESOURCEA(12))
+#define RT_ICONA       (MAKEINTRESOURCEA(3))
+#define RT_GROUP_ICONA (MAKEINTRESOURCEA(14))
+#define RT_VERSIONA    (MAKEINTRESOURCEA(16))
+
+#define RT_ACCELERATORW        (MAKEINTRESOURCEW(9))
+#define RT_BITMAPW     (MAKEINTRESOURCEW(2))
+#define RT_DIALOGW     (MAKEINTRESOURCEW(5))
+#define RT_FONTW       (MAKEINTRESOURCEW(8))
+#define RT_FONTDIRW    (MAKEINTRESOURCEW(7))
+#define RT_MENUW       (MAKEINTRESOURCEW(4))
+#define RT_RCDATAW     (MAKEINTRESOURCEW(10))
+#define RT_STRINGW     (MAKEINTRESOURCEW(6))
+#define RT_MESSAGETABLEW       (MAKEINTRESOURCEW(11))
+#define RT_CURSORW     (MAKEINTRESOURCEW(1))
+#define RT_GROUP_CURSORW       (MAKEINTRESOURCEW(12))
+#define RT_ICONW       (MAKEINTRESOURCEW(3))
+#define RT_GROUP_ICONW (MAKEINTRESOURCEW(14))
+#define RT_VERSIONW    (MAKEINTRESOURCEW(16))
+
+#ifndef _DISABLE_TIDENT
+#ifdef UNICODE
+#define RT_ACCELERATOR RT_ACCELERATORW
+#define RT_BITMAP      RT_BITMAPW
+#define RT_DIALOG      RT_DIALOGW
+#define RT_FONT        RT_FONTW
+#define RT_FONTDIR     RT_FONTDIRW
+#define RT_MENU        RT_MENUW
+#define RT_RCDATA      RT_RCDATAW
+#define RT_STRING      RT_STRINGW
+#define RT_MESSAGETABLE        RT_MESSAGETABLEW
+#define RT_CURSOR      RT_CURSORW
+#define RT_GROUP_CURSOR        RT_GROUP_CURSORW
+#define RT_ICON        RT_ICONW
+#define RT_GROUP_ICON  RT_GROUP_ICONW
+#define RT_VERSION     RT_VERSIONW
+#else /* UNICODE */
+#define RT_ACCELERATOR RT_ACCELERATORA
+#define RT_BITMAP      RT_BITMAPA
+#define RT_DIALOG      RT_DIALOGA
+#define RT_FONT        RT_FONTA
+#define RT_FONTDIR     RT_FONTDIRA
+#define RT_MENU        RT_MENUA
+#define RT_RCDATA      RT_RCDATAA
+#define RT_STRING      RT_STRINGA
+#define RT_MESSAGETABLE        RT_MESSAGETABLEA
+#define RT_CURSOR      RT_CURSORA
+#define RT_GROUP_CURSOR        RT_GROUP_CURSORA
+#define RT_ICON        RT_ICONA
+#define RT_GROUP_ICON  RT_GROUP_ICONA
+#define RT_VERSION     RT_VERSIONA
+#endif /* UNICODE */
+#endif /* _DISABLE_TIDENT */
 
 /* EnumServicesStatus */
 #define SERVICE_WIN32  (48)
@@ -1134,6 +1262,9 @@ extern "C" {
 
 /* FindNextPrinterNotification */
 
+/* FlsAlloc */
+#define FLS_OUT_OF_INDEXES (0xFFFFFFFF)
+
 /* FMExtensionProc */
 
 /* FoldString */
@@ -1181,6 +1312,7 @@ extern "C" {
 #define SCS_PIF_BINARY (3)
 #define SCS_POSIX_BINARY       (4)
 #define SCS_WOW_BINARY (2)
+#define SCS_64BIT_BINARY       (6)
 
 /* GetBoundsRect, SetBoundsRect */
 #define DCB_DISABLE    (8)
@@ -1275,15 +1407,18 @@ extern "C" {
 /* GetComputerName */
 #define MAX_COMPUTERNAME_LENGTH        (15)
 
+/* GetCursorInfo */
+#define CURSOR_SHOWING     0x00000001
+
 
 /* GetCPInfo */
 #define CP_ACP (0)
 #define CP_MACCP       (2)
 #define CP_OEMCP       (1)
-#define CP_THREAD_ACP                  3                       //ACP Current thread's ANSI code page 
-#define CP_SYMBOL                              42                      //Symbol code page (42) 
-#define CP_UTF7                                        65000           //Translate using UTF-7 
-#define CP_UTF8                                        65001           //Translate using UTF-8 
+#define CP_THREAD_ACP                  3                       /* ACP Current thread's ANSI code page */
+#define CP_SYMBOL                              42                      /* Symbol code page (42) */
+#define CP_UTF7                                        65000           /* Translate using UTF-7 */
+#define CP_UTF8                                        65001           /* Translate using UTF-8 */ 
 
 /* GetDateFormat */
 #define DATE_SHORTDATE (1)
@@ -1435,9 +1570,10 @@ extern "C" {
 #define EXCEPTION_INVALID_HANDLE       (0xc0000008L)
 #define EXCEPTION_PRIV_INSTRUCTION     (0xc0000096L)
 #define EXCEPTION_NONCONTINUABLE_EXCEPTION     (0xc0000025L)
-#define EXCEPTION_NONCONTINUABLE       (0x1)
 #define EXCEPTION_STACK_OVERFLOW       (0xc00000fdL)
 #define EXCEPTION_INVALID_DISPOSITION  (0xc0000026L)
+#define EXCEPTION_CONTINUABLE          (0x0)
+#define EXCEPTION_NONCONTINUABLE       (0x1)
 
 /* GetFileType */
 #define FILE_TYPE_UNKNOWN      (0)
@@ -1458,32 +1594,45 @@ extern "C" {
 #define GM_COMPATIBLE  (1)
 #define GM_ADVANCED    (2)
 
+/* GetGuiResources */
+#define GR_GDIOBJECTS    (0)
+#define GR_USEROBJECTS  (1)
+
+/* GetGUIThreadInfo */
+#define GUI_CARETBLINKING   (1)
+#define GUI_INMOVESIZE   (2)
+#define GUI_INMENUMODE   (4)
+#define GUI_SYSTEMMENUMODE   (8)
+#define GUI_POPUPMENUMODE   (16)
+#define GUI_16BITTASK   (32)
+
 /* GetHandleInformation */
 #define HANDLE_FLAG_INHERIT    (1)
 #define HANDLE_FLAG_PROTECT_FROM_CLOSE (2)
 
 /* GetIconInfo */
-#define IDC_ARROW      (MAKEINTRESOURCE(32512))
-#define IDC_IBEAM      (MAKEINTRESOURCE(32513))
-#define IDC_WAIT       (MAKEINTRESOURCE(32514))
-#define IDC_CROSS      (MAKEINTRESOURCE(32515))
-#define IDC_UPARROW    (MAKEINTRESOURCE(32516))
-#define IDC_SIZENWSE   (MAKEINTRESOURCE(32642))
-#define IDC_SIZENESW   (MAKEINTRESOURCE(32643))
-#define IDC_SIZEWE     (MAKEINTRESOURCE(32644))
-#define IDC_SIZENS     (MAKEINTRESOURCE(32645))
-#define IDC_SIZEALL    (MAKEINTRESOURCE(32646))
-#define IDC_NO (MAKEINTRESOURCE(32648))
-#define IDC_APPSTARTING        (MAKEINTRESOURCE(32650))
-#define IDC_HELP       (MAKEINTRESOURCE(32651))
-#define IDI_APPLICATION        (MAKEINTRESOURCE(32512))
-#define IDI_HAND       (MAKEINTRESOURCE(32513))
-#define IDI_QUESTION   (MAKEINTRESOURCE(32514))
-#define IDI_EXCLAMATION        (MAKEINTRESOURCE(32515))
-#define IDI_ASTERISK   (MAKEINTRESOURCE(32516))
-#define IDI_WINLOGO    (MAKEINTRESOURCE(32517))
-#define IDC_SIZE       (MAKEINTRESOURCE(32640))
-#define IDC_ICON       (MAKEINTRESOURCE(32641))
+#define IDC_ARROW      (MAKEINTRESOURCEW(32512))
+#define IDC_IBEAM      (MAKEINTRESOURCEW(32513))
+#define IDC_WAIT       (MAKEINTRESOURCEW(32514))
+#define IDC_CROSS      (MAKEINTRESOURCEW(32515))
+#define IDC_UPARROW    (MAKEINTRESOURCEW(32516))
+#define IDC_SIZENWSE   (MAKEINTRESOURCEW(32642))
+#define IDC_SIZENESW   (MAKEINTRESOURCEW(32643))
+#define IDC_SIZEWE     (MAKEINTRESOURCEW(32644))
+#define IDC_SIZENS     (MAKEINTRESOURCEW(32645))
+#define IDC_SIZEALL    (MAKEINTRESOURCEW(32646))
+#define IDC_NO (MAKEINTRESOURCEW(32648))
+#define IDC_APPSTARTING        (MAKEINTRESOURCEW(32650))
+#define IDC_HELP       (MAKEINTRESOURCEW(32651))
+#define IDI_APPLICATION        (MAKEINTRESOURCEW(32512))
+#define IDI_HAND       (MAKEINTRESOURCEW(32513))
+#define IDI_QUESTION   (MAKEINTRESOURCEW(32514))
+#define IDI_EXCLAMATION        (MAKEINTRESOURCEW(32515))
+#define IDI_ASTERISK   (MAKEINTRESOURCEW(32516))
+#define IDI_WINLOGO    (MAKEINTRESOURCEW(32517))
+#define IDC_SIZE       (MAKEINTRESOURCEW(32640))
+#define IDC_ICON       (MAKEINTRESOURCEW(32641))
+#define IDC_HAND       (MAKEINTRESOURCEW(32649))
 
 /* GetMapMode */
 #define MM_ANISOTROPIC (8)
@@ -1545,11 +1694,12 @@ extern "C" {
 #define QS_TIMER       (16)
 
 /* GetScrollInfo, SetScrollInfo */
-#define SIF_ALL        (23)
-#define SIF_PAGE       (2)
-#define SIF_POS        (4)
-#define SIF_RANGE      (1)
-#define SIF_DISABLENOSCROLL    (8)
+#define SIF_ALL 23
+#define SIF_PAGE 2
+#define SIF_POS 4
+#define SIF_RANGE 1
+#define SIF_DISABLENOSCROLL 8
+#define SIF_TRACKPOS   16
 
 /* GetStdHandle */
 #define STD_INPUT_HANDLE       (DWORD)(-10)
@@ -1618,6 +1768,7 @@ extern "C" {
 #define COLOR_3DDKSHADOW       (21)
 #define COLOR_3DFACE   (15)
 #define COLOR_3DHILIGHT        (20)
+#define COLOR_3DHIGHLIGHT      (20)
 #define COLOR_3DLIGHT  (22)
 #define COLOR_BTNHILIGHT       (20)
 #define COLOR_3DSHADOW (16)
@@ -1645,6 +1796,10 @@ extern "C" {
 #define COLOR_WINDOW   (5)
 #define COLOR_WINDOWFRAME      (6)
 #define COLOR_WINDOWTEXT       (8)
+#define COLOR_GRADIENTACTIVECAPTION    (27)
+#define COLOR_GRADIENTINACTIVECAPTION  (28)
+#define COLOR_MENUHILIGHT      (29)
+#define COLOR_MENUBAR  (30)
 
 /* GetSystemMetrics */
 #define SM_CYMIN       (29)
@@ -1812,7 +1967,16 @@ extern "C" {
 #define GMEM_DISCARDED (16384)
 #define GMEM_INVALID_HANDLE    (32768)
 #define GMEM_LOCKCOUNT (255)
-   
+#define GMEM_MODIFY     (128)
+#define GMEM_DISCARDED  (16384)
+#define GMEM_LOCKCOUNT  (255)
+#define GlobalDiscard(h) GlobalReAlloc(h, 0, GMEM_MOVEABLE)
+
+/* GradientFill */
+#define GRADIENT_FILL_RECT_H   (0)
+#define GRADIENT_FILL_RECT_V   (1)
+#define GRADIENT_FILL_TRIANGLE (2)
+
 /* ImageList_Create */
 #define ILC_COLOR      (0)
 #define ILC_COLOR4     (4)
@@ -1922,22 +2086,12 @@ extern "C" {
 /* InitializeSecurityDescriptor */
 #define SECURITY_DESCRIPTOR_REVISION   (1)
 
-/* IsTextUnicode */
-#define IS_TEXT_UNICODE_ASCII16        (1)
-#define IS_TEXT_UNICODE_REVERSE_ASCII16        (16)
-#define IS_TEXT_UNICODE_STATISTICS     (2)
-#define IS_TEXT_UNICODE_REVERSE_STATISTICS     (32)
-#define IS_TEXT_UNICODE_CONTROLS       (4)
-#define IS_TEXT_UNICODE_REVERSE_CONTROLS       (64)
-#define IS_TEXT_UNICODE_SIGNATURE      (8)
-#define IS_TEXT_UNICODE_REVERSE_SIGNATURE      (128)
-#define IS_TEXT_UNICODE_ILLEGAL_CHARS  (256)
-#define IS_TEXT_UNICODE_ODD_LENGTH     (512)
-#define IS_TEXT_UNICODE_NULL_BYTES     (4096)
-#define IS_TEXT_UNICODE_UNICODE_MASK   (15)
-#define IS_TEXT_UNICODE_REVERSE_MASK   (240)
-#define IS_TEXT_UNICODE_NOT_UNICODE_MASK       (3840)
-#define IS_TEXT_UNICODE_NOT_ASCII_MASK (61440)
+/* InSendMessageEx */
+#define ISMEX_NOSEND   (0)
+#define ISMEX_SEND     (1)
+#define ISMEX_NOTIFY   (2)
+#define ISMEX_CALLBACK (4)
+#define ISMEX_REPLIED  (8)
 
 /* JournalPlaybackProc, KeyboardProc */
 #define HC_GETNEXT     (1)
@@ -2047,6 +2201,7 @@ extern "C" {
 #define MB_TASKMODAL   (0x2000L)
 #define MB_YESNO       (0x4L)
 #define MB_YESNOCANCEL (0x3L)
+#define MB_CANCELTRYCONTINUE   (0x6L)
 #define IDABORT        (3)
 #define IDCANCEL       (2)
 #define IDCLOSE        (8)
@@ -2056,6 +2211,8 @@ extern "C" {
 #define IDOK   (1)
 #define IDRETRY        (4)
 #define IDYES  (6)
+#define IDTRYAGAIN     (10)
+#define IDCONTINUE     (11)
 
 /* MessageProc */
 #define MSGF_DIALOGBOX (0)
@@ -2114,13 +2271,19 @@ extern "C" {
 /* OpenProcessToken */
 
 /* OpenSCManager */
-#define SC_MANAGER_ALL_ACCESS  (0xf003fL)
 #define SC_MANAGER_CONNECT     (1)
 #define SC_MANAGER_CREATE_SERVICE      (2)
 #define SC_MANAGER_ENUMERATE_SERVICE   (4)
 #define SC_MANAGER_LOCK        (8)
 #define SC_MANAGER_QUERY_LOCK_STATUS   (16)
 #define SC_MANAGER_MODIFY_BOOT_CONFIG  (32)
+#define SC_MANAGER_ALL_ACCESS          (STANDARD_RIGHTS_REQUIRED      | \
+                                        SC_MANAGER_CONNECT            | \
+                                        SC_MANAGER_CREATE_SERVICE     | \
+                                        SC_MANAGER_ENUMERATE_SERVICE  | \
+                                        SC_MANAGER_LOCK               | \
+                                        SC_MANAGER_QUERY_LOCK_STATUS  | \
+                                        SC_MANAGER_MODIFY_BOOT_CONFIG)
 
 /* PostMessage */
 #define HWND_BROADCAST ((HWND)0xFFFF)
@@ -2158,6 +2321,7 @@ extern "C" {
 #define EVENTLOG_BACKWARDS_READ        (8)
 #define EVENTLOG_SEEK_READ     (2)
 #define EVENTLOG_SEQUENTIAL_READ       (1)
+#define EVENTLOG_SUCCESS       (0)
 #define EVENTLOG_ERROR_TYPE    (1)
 #define EVENTLOG_WARNING_TYPE  (2)
 #define EVENTLOG_INFORMATION_TYPE      (4)
@@ -2435,6 +2599,7 @@ extern "C" {
 #define HWND_NOTOPMOST ((HWND)-2)
 #define HWND_TOP       ((HWND)0)
 #define HWND_TOPMOST   ((HWND)-1)
+#define HWND_MESSAGE   ((HWND)-3)
 #define SWP_DRAWFRAME  (32)
 #define SWP_FRAMECHANGED       (32)
 #define SWP_HIDEWINDOW (128)
@@ -2486,6 +2651,17 @@ extern "C" {
 #define WPF_RESTORETOMAXIMIZED (2)
 #define WPF_SETMINPOSITION     (1)
 
+/* AnimageWindow */
+#define AW_SLIDE        (0x00040000)
+#define AW_ACTIVATE     (0x00020000)
+#define AW_BLEND        (0x00080000)
+#define AW_HIDE         (0x00010000)
+#define AW_CENTER       (0x00000010)
+#define AW_HOR_POSITIVE (0x00000001)
+#define AW_HOR_NEGATIVE (0x00000002)
+#define AW_VER_POSITIVE (0x00000004)
+#define AW_VER_NEGATIVE (0x00000008)
+
 /* Sleep */
 #define INFINITE       0xFFFFFFFF
 
@@ -2526,6 +2702,7 @@ extern "C" {
 #define SPI_GETSTICKYKEYS      (58)
 #define SPI_GETTOGGLEKEYS      (52)
 #define SPI_GETWINDOWSEXTENSION        (92)
+#define SPI_GETWHEELSCROLLLINES (104)
 #define SPI_GETWORKAREA        (48)
 #define SPI_ICONHORIZONTALSPACING      (13)
 #define SPI_ICONVERTICALSPACING        (24)
@@ -2578,18 +2755,98 @@ extern "C" {
 #define SPI_SETSTICKYKEYS      (59)
 #define SPI_SETTOGGLEKEYS      (53)
 #define SPI_SETWORKAREA        (47)
+#define SPI_GETACTIVEWINDOWTRACKING    (4096)
+#define SPI_SETACTIVEWINDOWTRACKING    (4097)
+#define SPI_GETMENUANIMATION   (4098)
+#define SPI_SETMENUANIMATION   (4099)
+#define SPI_GETCOMBOBOXANIMATION       (4100)
+#define SPI_SETCOMBOBOXANIMATION       (4101)
+#define SPI_GETLISTBOXSMOOTHSCROLLING  (4102)
+#define SPI_SETLISTBOXSMOOTHSCROLLING  (4103)
+#define SPI_GETGRADIENTCAPTIONS        (4104)
+#define SPI_SETGRADIENTCAPTIONS        (4105)
+#define SPI_GETKEYBOARDCUES    (4106)
+#define SPI_SETKEYBOARDCUES    (4107)
+#define SPI_GETMENUUNDERLINES  (SPI_GETKEYBOARDCUES)
+#define SPI_SETMENUUNDERLINES  (SPI_SETKEYBOARDCUES)
+#define SPI_GETACTIVEWNDTRKZORDER      (4108)
+#define SPI_SETACTIVEWNDTRKZORDER      (4109)
+#define SPI_GETHOTTRACKING     (4110)
+#define SPI_SETHOTTRACKING     (4111)
+#define SPI_GETMENUFADE        (4114)
+#define SPI_SETMENUFADE        (4115)
+#define SPI_GETSELECTIONFADE   (4116)
+#define SPI_SETSELECTIONFADE   (4117)
+#define SPI_GETTOOLTIPANIMATION        (4118)
+#define SPI_SETTOOLTIPANIMATION        (4119)
+#define SPI_GETTOOLTIPFADE     (4120)
+#define SPI_SETTOOLTIPFADE     (4121)
+#define SPI_GETCURSORSHADOW    (4122)
+#define SPI_SETCURSORSHADOW    (4123)
+#define SPI_GETMOUSESONAR      (4124)
+#define SPI_SETMOUSESONAR      (4125)
+#define SPI_GETMOUSECLICKLOCK  (4126)
+#define SPI_SETMOUSECLICKLOCK  (4127)
+#define SPI_GETMOUSEVANISH     (4128)
+#define SPI_SETMOUSEVANISH     (4129)
+#define SPI_GETFLATMENU        (4130)
+#define SPI_SETFLATMENU        (4131)
+#define SPI_GETDROPSHADOW      (4132)
+#define SPI_SETDROPSHADOW      (4133)
+#define SPI_GETBLOCKSENDINPUTRESETS    (4134)
+#define SPI_SETBLOCKSENDINPUTRESETS    (4135)
+#define SPI_GETUIEFFECTS       (4158)
+#define SPI_SETUIEFFECTS       (4159)
+#define SPI_GETFOREGROUNDLOCKTIMEOUT   (8192)
+#define SPI_SETFOREGROUNDLOCKTIMEOUT   (8192)
+#define SPI_GETACTIVEWNDTRKTIMEOUT     (8193)
+#define SPI_SETACTIVEWNDTRKTIMEOUT     (8194)
+#define SPI_GETFOREGROUNDFLASHCOUNT    (8195)
+#define SPI_SETFOREGROUNDFLASHCOUNT    (8196)
+#define SPI_GETCARETWIDTH      (8197)
+#define SPI_SETCARETWIDTH      (8198)
+#define SPI_GETMOUSECLICKLOCKTIME      (8199)
+#define SPI_SETMOUSECLICKLOCKTIME      (8200)
+#define SPI_GETFONTSMOOTHINGTYPE       (8201)
+#define SPI_SETFONTSMOOTHINGTYPE       (8202)
+#define FE_FONTSMOOTHINGSTANDARD       (1) /* for SPI_GETFONTSMOOTHINGTYPE and SPI_SETFONTSMOOTHINGTYPE */
+#define FE_FONTSMOOTHINGCLEARTYPE      (2) /* for SPI_GETFONTSMOOTHINGTYPE and SPI_SETFONTSMOOTHINGTYPE */
+#define FE_FONTSMOOTHINGDOCKING        (32768) /* for SPI_GETFONTSMOOTHINGTYPE and SPI_SETFONTSMOOTHINGTYPE */
+#define SPI_GETFONTSMOOTHINGCONTRAST   (8204)
+#define SPI_SETFONTSMOOTHINGCONTRAST   (8205)
+#define SPI_GETFOCUSBORDERWIDTH        (8206)
+#define SPI_SETFOCUSBORDERWIDTH        (8207)
+#define SPI_GETFOCUSBORDERHEIGHT       (8208)
+#define SPI_SETFOCUSBORDERHEIGHT       (8209)
+#define SPI_GETFONTSMOOTHINGORIENTATION        (8210)
+#define SPI_SETFONTSMOOTHINGORIENTATION        (8211)
+#define FE_FONTSMOOTHINGORIENTATIONBGR (0) /* for SPI_GETFONTSMOOTHINGORIENTATION and SPI_SETFONTSMOOTHINGORIENTATION */
+#define FE_FONTSMOOTHINGORIENTATIONRGB (1) /* for SPI_GETFONTSMOOTHINGORIENTATION and SPI_SETFONTSMOOTHINGORIENTATION */
+
 #define SPIF_UPDATEINIFILE     (1)
 #define SPIF_SENDWININICHANGE  (2)
 #define SPIF_SENDCHANGE        (2)
 
 /* TrackPopupMenu, TrackPopMenuEx */
-#define TPM_CENTERALIGN        (0x4L)
-#define TPM_LEFTALIGN  (0L)
-#define TPM_RIGHTALIGN (0x8L)
-#define TPM_LEFTBUTTON (0L)
-#define TPM_RIGHTBUTTON        (0x2L)
-#define TPM_HORIZONTAL (0L)
-#define TPM_VERTICAL   (0x40L)
+#define TPM_LEFTBUTTON (0)
+#define TPM_RIGHTBUTTON        (2)
+#define TPM_LEFTALIGN  (0)
+#define TPM_CENTERALIGN        (4)
+#define TPM_RIGHTALIGN (8)
+#define TPM_TOPALIGN   (0)
+#define TPM_VCENTERALIGN       (16)
+#define TPM_BOTTOMALIGN        (32)
+#define TPM_HORIZONTAL (0)
+#define TPM_VERTICAL   (64)
+#define TPM_NONOTIFY   (128)
+#define TPM_RETURNCMD  (256)
+#define TPM_RECURSE    (1)
+#define TPM_HORPOSANIMATION    (1024)
+#define TPM_HORNEGANIMATION    (2048)
+#define TPM_VERPOSANIMATION    (4096)
+#define TPM_VERNEGANIMATION    (8192)
+#define TPM_NOANIMATION        (16384)
+#define TPM_LAYOUTRTL  (32768)
 
 /* TranslateCharsetInfo */
 #define TCI_SRCCHARSET (1)
@@ -2857,6 +3114,7 @@ extern "C" {
 #define PSH_RTLREADING (2048)
 #define PSCB_INITIALIZED       (1)
 #define PSCB_PRECREATE (2)
+#define PSCB_BUTTONPRESSED     (3)
 
 /* PSN_APPLY message */
 #define PSNRET_NOERROR (0)
@@ -2891,6 +3149,8 @@ extern "C" {
 #define VS_FF_PRERELEASE       (0x2L)
 #define VS_FF_PRIVATEBUILD     (0x8L)
 #define VS_FF_SPECIALBUILD     (0x20L)
+#define VS_FFI_SIGNATURE       (0xfeef04bd)
+#define VS_FFI_STRUCVERSION    (0x00010000)
 #define VOS_UNKNOWN    (0L)
 #define VOS_DOS        (0x10000L)
 #define VOS_OS216      (0x20000L)
@@ -3018,6 +3278,18 @@ extern "C" {
 #define PAN_XHEIGHT_DUCKING_SMALL      (5)
 #define PAN_XHEIGHT_DUCKING_STD        (6)
 #define PAN_XHEIGHT_DUCKING_LARGE      (7)
+#define PANOSE_COUNT   (10)
+#define PAN_FAMILYTYPE_INDEX   (0)
+#define PAN_SERIFSTYLE_INDEX   (1)
+#define PAN_WEIGTH_INDEX       (2)
+#define PAN_PROPORTION_INDEX   (3)
+#define PAN_CONTRAST_INDEX     (4)
+#define PAN_STROKEVARIATION_INDEX      (5)
+#define PAN_ARMSTYLE_INDEX     (6)
+#define PAN_LETTERFORM_INDEX   (7)
+#define PAN_MIDLINE_INDEX      (8)
+#define PAN_XHEIGHT_INDEX      (9)
+#define PAN_CULTURE_LATIN      (0)
 
 /* PALETTENTRY structure */
 #define PC_EXPLICIT    (2)
@@ -3370,6 +3642,7 @@ extern "C" {
 #define WC_LISTVIEWA   "SysListView32"
 #define WC_TABCONTROLA "SysTabControl32"
 #define WC_TREEVIEWA   "SysTreeView32"
+#ifndef _DISABLE_TIDENTS
 #ifdef UNICODE
 #define ANIMATE_CLASS ANIMATE_CLASSW
 #define HOTKEY_CLASS HOTKEY_CLASSW
@@ -3397,6 +3670,7 @@ extern "C" {
 #define WC_TABCONTROL WC_TABCONTROLA
 #define WC_TREEVIEW WC_TREEVIEWA
 #endif /* UNICODE */
+#endif /* _DISABLE_TIDENTS */
 
 /* Header control styles */
 #define HDS_BUTTONS    (2)
@@ -3585,11 +3859,13 @@ extern "C" {
 #define LVIS_STATEIMAGEMASK    (61440)
 #define LPSTR_TEXTCALLBACKW    ((LPWSTR)-1L)
 #define LPSTR_TEXTCALLBACKA    ((LPSTR)-1L)
+#ifndef _DISABLE_TIDENTS
 #ifdef UNICODE
 #define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKW
 #else
 #define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKA
 #endif /* UNICODE */
+#endif /* _DISABLE_TIDENTS */
 
 /* LV_ITEM structure */
 #define LVIF_TEXT      (1)
@@ -3860,10 +4136,21 @@ extern "C" {
 #define SORT_KOREAN_UNICODE    (1)
 
 /* SYSTEM_INFO structure */
+#define PROCESSOR_ARCHITECTURE_IA64 (6)
+#define PROCESSOR_ARCHITECTURE_AMD64 (9)
+#define PROCESSOR_ARCHITECTURE_IA64_ON_WIN64 (10)
 #define PROCESSOR_INTEL_386    (386)
 #define PROCESSOR_INTEL_486    (486)
 #define PROCESSOR_INTEL_PENTIUM        (586)
+#define PROCESSOR_INTEL_PENTIUMII (686)
+#define PROCESSOR_INTEL_PENTIUMIII (786)
+#define PROCESSOR_PPC_601      (601)
+#define PROCESSOR_PPC_603      (603)
+#define PROCESSOR_PPC_604      (604)
+#define PROCESSOR_PPC_620      (620)
+#define PROCESSOR_INTEL_IA64   (2200)
 #define PROCESSOR_MIPS_R4000   (4000)
+#define PROCESSOR_AMD_X8664    (8664)
 #define PROCESSOR_ALPHA_21064  (21064)
 
 /* TAPE_GET_DRIVE_PARAMETERS structure */
@@ -4043,6 +4330,7 @@ extern "C" {
 #define LBSELCHSTRINGA "commdlg_LBSelChangedNotify"
 #define SETRGBSTRINGA  "commdlg_SetRGBColor"
 #define SHAREVISTRINGA "commdlg_ShareViolation"
+#ifndef _DISABLE_TIDENTS
 #ifdef UNICODE
 #define COLOROKSTRING COLOROKSTRINGW
 #define FILEOKSTRING FILEOKSTRINGW
@@ -4059,7 +4347,8 @@ extern "C" {
 #define LBSELCHSTRING LBSELCHSTRINGA
 #define SETRGBSTRING SETRGBSTRINGA
 #define SHAREVISTRING SHAREVISTRINGA
-#endif
+#endif /* UNICODE */
+#endif /* _DISABLE_TIDENTS */
 
 /* LBSELCHSTRING message */
 #define CD_LBSELCHANGE (0)
@@ -4192,23 +4481,24 @@ extern "C" {
 #define HTBOTTOMRIGHT  (17)
 #define HTCAPTION      (2)
 #define HTCLIENT       (1)
-#define HTERROR        (-2)
+#define HTERROR                (-2)
 #define HTGROWBOX      (4)
 #define HTHSCROLL      (6)
-#define HTLEFT (10)
-#define HTMENU (5)
+#define HTLEFT         (10)
+#define HTMENU         (5)
 #define HTNOWHERE      (0)
 #define HTREDUCE       (8)
-#define HTRIGHT        (11)
-#define HTSIZE (4)
+#define HTRIGHT                (11)
+#define HTSIZE         (4)
 #define HTSYSMENU      (3)
-#define HTTOP  (12)
+#define HTTOP          (12)
 #define HTTOPLEFT      (13)
 #define HTTOPRIGHT     (14)
 #define HTTRANSPARENT  (-1)
 #define HTVSCROLL      (7)
-#define HTZOOM (9)
-#define HTBORDER (18)
+#define HTZOOM         (9)
+#define HTBORDER       (18)
+#define HTCLOSE                (20)
 #define HTMAXBUTTON HTZOOM
 #define HTMINBUTTON HTREDUCE
 
@@ -4218,6 +4508,12 @@ extern "C" {
 #define MK_MBUTTON     (16)
 #define MK_RBUTTON     (2)
 #define MK_SHIFT       (4)
+#define MK_XBUTTON1 (0x0020)
+#define MK_XBUTTON2 (0x0040)
+
+/* XButton values */
+#define XBUTTON1       (0x0001)
+#define XBUTTON2       (0x0002)
 
 /* WNDCLASS structure */
 #define CS_BYTEALIGNCLIENT     (4096)
@@ -4242,6 +4538,14 @@ extern "C" {
 #define FSHIFT (4)
 #define FVIRTKEY       (1)
 
+/* MENUINFO structure */
+#define MIM_MAXHEIGHT          0x00000001
+#define MIM_BACKGROUND         0x00000002
+#define MIM_HELPID             0x00000004
+#define MIM_MENUDATA           0x00000008
+#define MIM_STYLE              0x00000010
+#define MIM_APPLYTOSUBMENUS    0x80000000
+
 /* MENUITEMINFO structure */
 #define MIIM_CHECKMARKS        (8)
 #define MIIM_DATA      (32)
@@ -4249,6 +4553,9 @@ extern "C" {
 #define MIIM_STATE     (1)
 #define MIIM_SUBMENU   (4)
 #define MIIM_TYPE      (16)
+#define MIIM_STRING    (0x40)
+#define MIIM_BITMAP    (0x80)
+#define MIIM_FTYPE     (0x100)
 #define MFT_BITMAP     (0x4L)
 #define MFT_MENUBARBREAK       (0x20L)
 #define MFT_MENUBREAK  (0x40L)
@@ -4484,6 +4791,11 @@ extern "C" {
 #define TMPF_TRUETYPE          (0x4)
 #define TMPF_DEVICE            (0x8)
 
+/* NEWTEXTMETRIC structure */
+#define NTM_ITALIC             (0x01)
+#define NTM_BOLD               (0x20)
+#define NTM_REGULAR            (0x40)
+
 /* CopyFileEx options */
 #define COPY_FILE_FAIL_IF_EXISTS       (1)
 
@@ -4499,6 +4811,25 @@ extern "C" {
 /* GetFileAttributes */
 #define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
 
+/* GetFileCompressedSize */
+#define INVALID_FILE_SIZE ((DWORD)-1)
+
+/* system ids */
+#define OBJID_WINDOW        ((LONG)0x00000000)
+#define OBJID_SYSMENU       ((LONG)0xFFFFFFFF)
+#define OBJID_TITLEBAR      ((LONG)0xFFFFFFFE)
+#define OBJID_MENU          ((LONG)0xFFFFFFFD)
+#define OBJID_CLIENT        ((LONG)0xFFFFFFFC)
+#define OBJID_VSCROLL       ((LONG)0xFFFFFFFB)
+#define OBJID_HSCROLL       ((LONG)0xFFFFFFFA)
+#define OBJID_SIZEGRIP      ((LONG)0xFFFFFFF9)
+#define OBJID_CARET         ((LONG)0xFFFFFFF8)
+#define OBJID_CURSOR        ((LONG)0xFFFFFFF7)
+#define OBJID_ALERT         ((LONG)0xFFFFFFF6)
+#define OBJID_SOUND         ((LONG)0xFFFFFFF5)
+#define OBJID_QUERYCLASSNAMEIDX ((LONG)0xFFFFFFF4)
+#define OBJID_NATIVEOM      ((LONG)0xFFFFFFF0)
+
 /* --------------------- old stuff, need to organize! --------------- */
 
 /* BEGINNING of windowsx.h stuff from old headers: */
@@ -4663,6 +4994,22 @@ extern "C" {
 
 #define _fmemcpy memcpy
 
+/* Control Panel */
+#define WM_CPL_LAUNCH (WM_USER+1000)
+#define WM_CPL_LAUNCHED (WM_USER+1001)
+#define CPL_DYNAMIC_RES 0
+#define CPL_INIT 1
+#define CPL_GETCOUNT 2
+#define CPL_INQUIRE 3
+#define CPL_SELECT 4
+#define CPL_DBLCLK 5
+#define CPL_STOP 6
+#define CPL_EXIT 7
+#define CPL_NEWINQUIRE 8
+#define CPL_STARTWPARMSA 9
+#define CPL_STARTWPARMSW 10
+#define CPL_SETUP 200
+
 /* Used by wxwindows. */
 #define SIZEFULLSCREEN SIZE_MAXIMIZED
 #define SIZENORMAL     SIZE_RESTORED
@@ -4740,6 +5087,7 @@ DECLARE_HANDLE(HANDLE);
 
 #ifndef __USE_W32API
 
+#define INVALID_SET_FILE_POINTER       ((DWORD)-1)
 
 typedef enum _SC_STATUS_TYPE {
   SC_STATUS_PROCESS_INFO = 0
@@ -4751,6 +5099,49 @@ typedef enum _SC_ENUM_TYPE {
 
 #endif /* !__USE_W32API */
 
+typedef enum _SystemState {
+  STATE_SYSTEM_UNAVAILABLE        = 0x00000001, /* Disabled */
+  STATE_SYSTEM_SELECTED           = 0x00000002,
+  STATE_SYSTEM_FOCUSED            = 0x00000004,
+  STATE_SYSTEM_PRESSED            = 0x00000008,
+  STATE_SYSTEM_CHECKED            = 0x00000010,
+  STATE_SYSTEM_MIXED              = 0x00000020, /* 3-state checkbox or toolbar button */
+  STATE_SYSTEM_READONLY           = 0x00000040,
+  STATE_SYSTEM_HOTTRACKED         = 0x00000080,
+  STATE_SYSTEM_DEFAULT            = 0x00000100,
+  STATE_SYSTEM_EXPANDED           = 0x00000200,
+  STATE_SYSTEM_COLLAPSED          = 0x00000400,
+  STATE_SYSTEM_BUSY               = 0x00000800,
+  STATE_SYSTEM_FLOATING           = 0x00001000, /* Children "owned" not "contained" by parent */
+  STATE_SYSTEM_MARQUEED           = 0x00002000,
+  STATE_SYSTEM_ANIMATED           = 0x00004000,
+  STATE_SYSTEM_INVISIBLE          = 0x00008000,
+  STATE_SYSTEM_OFFSCREEN          = 0x00010000,
+  STATE_SYSTEM_SIZEABLE           = 0x00020000,
+  STATE_SYSTEM_MOVEABLE           = 0x00040000,
+  STATE_SYSTEM_SELFVOICING        = 0x00080000,
+  STATE_SYSTEM_FOCUSABLE          = 0x00100000,
+  STATE_SYSTEM_SELECTABLE         = 0x00200000,
+  STATE_SYSTEM_LINKED             = 0x00400000,
+  STATE_SYSTEM_TRAVERSED          = 0x00800000,
+  STATE_SYSTEM_MULTISELECTABLE    = 0x01000000,  /* Supports multiple selection */
+  STATE_SYSTEM_EXTSELECTABLE      = 0x02000000,  /* Supports extended selection */
+  STATE_SYSTEM_ALERT_LOW          = 0x04000000,  /* This information is of low priority */
+  STATE_SYSTEM_ALERT_MEDIUM       = 0x08000000,  /* This information is of medium priority */
+  STATE_SYSTEM_ALERT_HIGH         = 0x10000000,  /* This information is of high priority */
+  STATE_SYSTEM_VALID              = 0x1FFFFFFF
+} SystemState;
+
+/*
+ * From OS/2 2.0 exception handling
+ * Win32 seems to use the same flags as ExceptionFlags in an EXCEPTION_RECORD
+ */
+
+#define EH_NONCONTINUABLE   0x01
+#define EH_UNWINDING        0x02
+#define EH_EXIT_UNWIND      0x04
+#define EH_STACK_INVALID    0x08
+#define EH_NESTED_CALL      0x10
 
 #ifdef __cplusplus
 }