From f76392f4762e51c0506c1fd1fd18c978f491debf Mon Sep 17 00:00:00 2001
From: open-license-manager <rillf@maildrop.cc>
Date: 周五, 12 9月 2014 03:06:54 +0800
Subject: [PATCH] windows compile

---
 src/library/os/os.h |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/src/library/os/os.h b/src/library/os/os.h
index 7e0e3e7..9947378 100644
--- a/src/library/os/os.h
+++ b/src/library/os/os.h
@@ -14,29 +14,61 @@
 
 #include "../base/base.h"
 #include <stddef.h>
+//definition of size_t
+#include <stdlib.h>
+#ifdef __unix__
+#include <stdbool.h>
+#endif
 
 typedef enum {
 	NONE, VMWARE
 } VIRTUALIZATION;
+
+typedef enum {
+	IFACE_TYPE_ETHERNET, IFACE_TYPE_WIRELESS
+} IFACE_TYPE;
 
 typedef struct {
 	int id;
 	char description[1024];
 	unsigned char mac_address[6];
 	unsigned char ipv4_address[4];
-} AdapterInfo;
+	IFACE_TYPE type;
+} OsAdapterInfo;
 
 typedef struct {
 	int id;
 	char device[255];
 	unsigned char disk_sn[8];
 	char label[255];
+	bool preferred;
 } DiskInfo;
 
-FUNCTION_RETURN getAdapterInfos(AdapterInfo * adapterInfos,
+FUNCTION_RETURN getAdapterInfos(OsAdapterInfo * adapterInfos,
 		size_t * adapter_info_size);
 FUNCTION_RETURN getDiskInfos(DiskInfo * diskInfos, size_t * disk_info_size);
 FUNCTION_RETURN getUserHomePath(char[MAX_PATH]);
+FUNCTION_RETURN getCpuId(unsigned char identifier[6]);
+FUNCTION_RETURN getMachineName(unsigned char identifier[6]);
+/**
+ * Get an identifier of the machine in an os specific way.
+ * In Linux it uses:
+ * http://stackoverflow.com/questions/328936/getting-a-unique-id-from-a-unix-like-system
+ *
+ * <ul>
+ * <li>Dbus if available</li>
+ * </ul>
+ * Can be used as a fallback in case no other methods are available.
+ * Windows:
+ * HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\ProductId
+ * http://sowkot.blogspot.it/2008/08/generating-unique-keyfinger-print-for.html
+ * http://stackoverflow.com/questions/2842116/reliable-way-of-generating-unique-hardware-id
+ *
+ *
+ * @param identifier
+ * @return
+ */
+FUNCTION_RETURN getOsSpecificIdentifier(unsigned char identifier[6]);
 VIRTUALIZATION getVirtualization();
 void os_initialize();
 

--
Gitblit v1.9.1