Implemented syslink control.

diff --git a/include/commctrl.h b/include/commctrl.h
index 278f476..b8470dd 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -4505,6 +4505,67 @@
 
 BOOL WINAPI Str_SetPtrW (LPWSTR *, LPCWSTR);
 
+/**************************************************************************
+ * SysLink control
+ */
+
+#if defined(__GNUC__)
+# define WC_LINK (const WCHAR []){ 'S','y','s','L','i','n','k',0 }
+#elif defined(_MSC_VER)
+# define WC_LINK             L"SysLink"
+#else
+static const WCHAR WC_LINK[] = { 'S','y','s','L','i','n','k',0 };
+#endif
+
+/* SysLink messages */
+#define LM_HITTEST           (WM_USER + 768)
+#define LM_GETIDEALHEIGHT    (WM_USER + 769)
+#define LM_SETITEM           (WM_USER + 770)
+#define LM_GETITEM           (WM_USER + 771)
+
+/* SysLink links flags */
+
+#define LIF_ITEMINDEX   1
+#define LIF_STATE       2
+#define LIF_ITEMID      4
+#define LIF_URL         8
+
+/* SysLink links states */
+
+#define LIS_FOCUSED     1
+#define LIS_ENABLED     2
+#define LIS_VISITED     4
+
+/* SysLink misc. */
+
+#define INVALID_LINK_INDEX  (-1)
+#define MAX_LINKID_TEXT     48
+#define L_MAX_URL_LENGTH    2084
+
+/* SysLink structures */
+
+typedef struct tagLITEM
+{
+  UINT mask;
+  int iLink;
+  UINT state;
+  UINT stateMask;
+  WCHAR szID[MAX_LINKID_TEXT];
+  WCHAR szUrl[L_MAX_URL_LENGTH];
+} LITEM, *PLITEM;
+
+typedef struct tagLHITTESTINFO
+{
+  POINT pt;
+  LITEM item;
+} LHITTESTINFO, *PLHITTESTINFO;
+
+typedef struct tagNMLINK
+{
+  NMHDR hdr;
+  LITEM item ;
+} NMLINK, *PNMLINK;
+
 #ifdef __cplusplus
 }
 #endif