+#define NTOS_MODE_KERNEL
+#include <ntos.h>
+
+/* one systemcursor for custom cursors */
+#define SYSCURSORCOUNT (14 + 1)
+
+typedef struct _CURSORCLIP_INFO
+{
+ BOOL IsClipped;
+ UINT Left;
+ UINT Top;
+ UINT Right;
+ UINT Bottom;
+} CURSORCLIP_INFO, *PCURSORCLIP_INFO;
+
+typedef struct _SYSCURSOR
+{
+ HANDLE hCursor;
+ LONG cx, cy;
+ LONG hx, hy;
+ PVOID AndImage;
+ PVOID XorImage;
+} SYSCURSOR, *PSYSCURSOR;
+
+typedef struct _SYSTEM_CURSORINFO
+{
+ BOOL Enabled;
+ BOOL SwapButtons;
+ UINT CurrentCursor;
+ LONG x, y;
+ BOOL SafetySwitch, SafetySwitch2;
+ FAST_MUTEX CursorMutex;
+ CURSORCLIP_INFO CursorClipInfo;
+ SYSCURSOR SystemCursors[SYSCURSORCOUNT];
+ UINT DblClickSpeed;
+ UINT DblClickWidth;
+ UINT DblClickHeight;
+ DWORD LastBtnDown;
+ LONG LastBtnDownX;
+ LONG LastBtnDownY;
+} SYSTEM_CURSORINFO, *PSYSTEM_CURSORINFO;