Move some access rights so they are usable form kernel-mode.
[reactos.git] / reactos / include / defines.h
index cf101cf..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)
@@ -158,6 +165,7 @@ extern "C" {
 #define MF_USECHECKBITMAPS     (0x200L)
 #define MF_RIGHTJUSTIFY MF_HELP
 
+
 /* Ternary Raster Operations - BitBlt */
 #define BLACKNESS      0x00000042
 #define NOTSRCERASE    0x001100A6
@@ -247,6 +255,13 @@ extern "C" {
 #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)
 #define SERVICE_KERNEL_DRIVER          (1)
@@ -260,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)
@@ -272,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)
@@ -320,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)
@@ -385,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)
@@ -435,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)
@@ -499,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)
@@ -538,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)
@@ -562,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)
@@ -572,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)
@@ -686,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)
@@ -698,6 +747,7 @@ 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)
@@ -778,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)
@@ -856,7 +911,7 @@ extern "C" {
 #define DC_TEXT        8
 #define DC_INBUTTON    16
 #define DC_GRADIENT 32
-#define DC_BUTTONS 64
+#define DC_BUTTONS 0x1000
 #define DC_CAPTION     (DC_ICON|DC_TEXT|DC_BUTTONS|DC_GRADIENT)
 #define DC_NC  (DC_CAPTION|DC_FRAME)
 
@@ -926,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)
@@ -943,7 +1003,7 @@ extern "C" {
 #define DSS_UNION      (16)
 #define DSS_DISABLED   (32)
 #define DSS_MONO       (128)
-#define DSS_RIGHT   (0x8000)    // Undocumented
+#define DSS_RIGHT   (0x8000)    /* Undocumented */
 
 /* DrawStatusText */
 #define SBT_NOBORDERS  (256)
@@ -1021,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)
@@ -1028,19 +1090,20 @@ 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 */
 
@@ -1059,7 +1122,7 @@ extern "C" {
 #define RT_CURSORA     (MAKEINTRESOURCEA(1))
 #define RT_GROUP_CURSORA       (MAKEINTRESOURCEA(12))
 #define RT_ICONA       (MAKEINTRESOURCEA(3))
-#define RT_GROUP_ICONA (MAKEINTRESOURCEA(13))
+#define RT_GROUP_ICONA (MAKEINTRESOURCEA(14))
 #define RT_VERSIONA    (MAKEINTRESOURCEA(16))
 
 #define RT_ACCELERATORW        (MAKEINTRESOURCEW(9))
@@ -1074,7 +1137,7 @@ extern "C" {
 #define RT_CURSORW     (MAKEINTRESOURCEW(1))
 #define RT_GROUP_CURSORW       (MAKEINTRESOURCEW(12))
 #define RT_ICONW       (MAKEINTRESOURCEW(3))
-#define RT_GROUP_ICONW (MAKEINTRESOURCEW(13))
+#define RT_GROUP_ICONW (MAKEINTRESOURCEW(14))
 #define RT_VERSIONW    (MAKEINTRESOURCEW(16))
 
 #ifndef _DISABLE_TIDENT
@@ -1249,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)
@@ -1343,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)
@@ -1527,6 +1594,18 @@ 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)
@@ -1553,6 +1632,7 @@ extern "C" {
 #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)
@@ -1688,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)
@@ -1715,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)
@@ -1882,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)
@@ -1992,6 +2086,13 @@ extern "C" {
 /* InitializeSecurityDescriptor */
 #define SECURITY_DESCRIPTOR_REVISION   (1)
 
+/* 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)
 #define HC_SKIP        (2)
@@ -2100,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)
@@ -2109,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)
@@ -2167,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)
@@ -2211,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)
@@ -2488,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)
@@ -2590,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)
@@ -2642,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)
@@ -2921,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)
@@ -3084,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)
@@ -3930,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 */
@@ -4291,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)
@@ -4330,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)
@@ -4565,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)
 
@@ -4583,6 +4814,22 @@ extern "C" {
 /* 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: */
@@ -4747,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
@@ -4824,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
@@ -4836,19 +5100,19 @@ typedef enum _SC_ENUM_TYPE {
 #endif /* !__USE_W32API */
 
 typedef enum _SystemState {
-  STATE_SYSTEM_UNAVAILABLE        = 0x00000001, // Disabled
+  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_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_FLOATING           = 0x00001000, /* Children "owned" not "contained" by parent */
   STATE_SYSTEM_MARQUEED           = 0x00002000,
   STATE_SYSTEM_ANIMATED           = 0x00004000,
   STATE_SYSTEM_INVISIBLE          = 0x00008000,
@@ -4860,11 +5124,11 @@ typedef enum _SystemState {
   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_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;