From 4467a957a498b93dbcaefbad97df24b43dfbc99d Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周日, 08 3月 2020 22:16:09 +0800 Subject: [PATCH] fix tests --- src/library/os/os.h | 62 +++++++++++++++++++++--------- 1 files changed, 43 insertions(+), 19 deletions(-) diff --git a/src/library/os/os.h b/src/library/os/os.h index 1269134..00abae2 100644 --- a/src/library/os/os.h +++ b/src/library/os/os.h @@ -2,7 +2,7 @@ * os-dependent.hpp * * Created on: Mar 29, 2014 - * Author: devel + * */ #ifndef OS_DEPENDENT_HPP_ @@ -14,33 +14,57 @@ #include "../base/base.h" #include <stddef.h> +#include <string.h> +#include <ctype.h> +#include <sys/types.h> +// definition of size_t +#include <stdlib.h> +#ifdef __unix__ +#include <unistd.h> #include <stdbool.h> - -typedef enum { - NONE, VMWARE -} VIRTUALIZATION; +#endif typedef struct { int id; - char description[1024]; - unsigned char mac_address[6]; - unsigned char ipv4_address[4]; -} AdapterInfo; - -typedef struct { - int id; - char device[255]; + char device[MAX_PATH]; unsigned char disk_sn[8]; char label[255]; - bool preferred; + int preferred; } DiskInfo; -FUNCTION_RETURN getAdapterInfos(AdapterInfo * adapterInfos, - size_t * adapter_info_size); -FUNCTION_RETURN getDiskInfos(DiskInfo * diskInfos, size_t * disk_info_size); +FUNCTION_RETURN getDiskInfos(DiskInfo* diskInfos, size_t* disk_info_size); FUNCTION_RETURN getUserHomePath(char[MAX_PATH]); -VIRTUALIZATION getVirtualization(); -void os_initialize(); +FUNCTION_RETURN getModuleName(char buffer[MAX_PATH]); +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]); + +// FUNCTION_RETURN verifySignature(const char* stringToVerify, const char* signatureB64); + +#ifdef _WIN32 +#define SETENV(VAR, VAL) _putenv_s(VAR, VAL); +#define UNSETENV(P) _putenv_s(P, ""); +#else +#define SETENV(VAR, VAL) setenv(VAR, VAL, 1); +#define UNSETENV(P) unsetenv(P); +#endif #ifdef __cplusplus } -- Gitblit v1.9.1