--- /dev/null
+/*
+ * Win32 registry defines (see also winnt.h)
+ */
+#ifndef __WINE_WINREG_H
+#define __WINE_WINREG_H
+
+#include "winbase.h"
+#include "winnt.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* defined(__cplusplus) */
+
+/*
+#define SHELL_ERROR_SUCCESS 0L
+#define SHELL_ERROR_BADDB 1L
+#define SHELL_ERROR_BADKEY 2L
+#define SHELL_ERROR_CANTOPEN 3L
+#define SHELL_ERROR_CANTREAD 4L
+#define SHELL_ERROR_CANTWRITE 5L
+#define SHELL_ERROR_OUTOFMEMORY 6L
+#define SHELL_ERROR_INVALID_PARAMETER 7L
+#define SHELL_ERROR_ACCESS_DENIED 8L
+*/
+
+#define HKEY_CLASSES_ROOT ((HKEY) 0x80000000)
+#define HKEY_CURRENT_USER ((HKEY) 0x80000001)
+#define HKEY_LOCAL_MACHINE ((HKEY) 0x80000002)
+#define HKEY_USERS ((HKEY) 0x80000003)
+#define HKEY_PERFORMANCE_DATA ((HKEY) 0x80000004)
+#define HKEY_CURRENT_CONFIG ((HKEY) 0x80000005)
+#define HKEY_DYN_DATA ((HKEY) 0x80000006)
+
+/*
+ * registry provider structs
+ */
+typedef struct value_entA
+{ LPSTR ve_valuename;
+ DWORD ve_valuelen;
+ DWORD_PTR ve_valueptr;
+ DWORD ve_type;
+} VALENTA, *PVALENTA;
+
+typedef struct value_entW {
+ LPWSTR ve_valuename;
+ DWORD ve_valuelen;
+ DWORD_PTR ve_valueptr;
+ DWORD ve_type;
+} VALENTW, *PVALENTW;
+
+typedef ACCESS_MASK REGSAM;
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif /* defined(__cplusplus) */
+
+#endif /* __WINE_WINREG_H */