From 1922d8c2cf7dcaacafd17394849577794b1f10eb Mon Sep 17 00:00:00 2001 From: open-license-manager <rillf@maildrop.cc> Date: 周六, 13 9月 2014 06:24:55 +0800 Subject: [PATCH] signature windows --- src/library/os/win/os-win.c | 47 +++++++++++++++++++++++++++-------------------- 1 files changed, 27 insertions(+), 20 deletions(-) diff --git a/src/library/os/win/os-win.c b/src/library/os/win/os-win.c index a4d738a..6fd115d 100644 --- a/src/library/os/win/os-win.c +++ b/src/library/os/win/os-win.c @@ -1,21 +1,30 @@ #include <Windows.h> #include <iphlpapi.h> +//definition of size_t +#include <stdlib.h> +#include "../../base/logger.h" #include"../os.h" #pragma comment(lib, "IPHLPAPI.lib") FUNCTION_RETURN getOsSpecificIdentifier(unsigned char identifier[6]){ - + return FUNC_RET_NOT_AVAIL; } FUNCTION_RETURN getMachineName(unsigned char identifier[6]) { + FUNCTION_RETURN result = FUNC_RET_ERROR; char buffer[MAX_COMPUTERNAME_LENGTH + 1]; int bufsize = MAX_COMPUTERNAME_LENGTH + 1; BOOL cmpName = GetComputerName( buffer, &bufsize); - strncpy(identifier, buffer, 6); + if (cmpName){ + strncpy(identifier, buffer, 6); + result = FUNC_RET_OK; + } + return result; } FUNCTION_RETURN getCpuId(unsigned char identifier[6]) { + return FUNC_RET_NOT_AVAIL; } void os_initialize() { @@ -29,6 +38,7 @@ int ndrives = 0; DWORD FileFlags; char volName[_MAX_FNAME], FileSysName[_MAX_FNAME]; + char* szSingleDrive; DWORD volSerial = 0; BOOL success; UINT driveType; @@ -41,7 +51,7 @@ if (dwResult > 0 && dwResult <= MAX_PATH) { return_value = FUNC_RET_OK; - char* szSingleDrive = szLogicalDrives; + szSingleDrive = szLogicalDrives; while (*szSingleDrive && ndrives < MAX_UNITS) { @@ -51,29 +61,25 @@ success = GetVolumeInformation(szSingleDrive, volName, MAX_PATH, &volSerial, &FileMaxLen, &FileFlags, FileSysName, MAX_PATH); if (success) { -#ifdef _DEBUG - printf("drive : %s\n", szSingleDrive); - printf("Volume Name : %s\n", volName); - printf("Volume Serial : 0x%x\n", volSerial); - printf("Max file length : %d\n", FileMaxLen); - printf("Filesystem : %s\n", FileSysName); -#endif - if (diskInfos != NULL && * disk_info_size<ndrives){ - strncpy(diskInfos[ndrives].device,volName,MAX_PATH); - strncpy(diskInfos[ndrives].label, FileSysName , MAX_PATH); - diskInfos[ndrives].id=ndrives; - diskInfos[ndrives].preferred = (strncmp(szSingleDrive,"C",1)!=0); + LOG_INFO("drive : %s\n", szSingleDrive); + LOG_INFO("Volume Name : %s\n", volName); + LOG_INFO("Volume Serial : 0x%x\n", volSerial); + LOG_DEBUG("Max file length : %d\n", FileMaxLen); + LOG_DEBUG("Filesystem : %s\n", FileSysName); + if (diskInfos != NULL && * disk_info_size < ndrives){ + strncpy(diskInfos[ndrives].device, volName, MAX_PATH); + strncpy(diskInfos[ndrives].label, FileSysName, MAX_PATH); + diskInfos[ndrives].id = ndrives; + diskInfos[ndrives].preferred = (strncmp(szSingleDrive, "C", 1) != 0); } ndrives++; } else { - printf("Unable to retreive information of '%s'\n", szSingleDrive); + LOG_WARN("Unable to retrieve information of '%s'\n", szSingleDrive); } } -#ifdef _DEBUG - printf("This volume is not a fixed disk : %s\n", szSingleDrive); -#endif + LOG_INFO("This volume is not fixed : %s, type: %d\n", szSingleDrive); szSingleDrive += strlen(szSingleDrive) + 1; } } @@ -135,7 +141,7 @@ return FUNC_RET_BUFFER_TOO_SMALL; } - memset(adapterInfos, 0,*adapter_info_size); + memset(adapterInfos, 0, *adapter_info_size); pAdapter = pAdapterInfo; i = 0; result = FUNC_RET_OK; @@ -143,6 +149,7 @@ strncpy(adapterInfos[i].description, pAdapter->Description, min(sizeof(adapterInfos->description), MAX_ADAPTER_DESCRIPTION_LENGTH)); memcpy(adapterInfos[i].mac_address, pAdapter->Address, 8); translate(pAdapter->IpAddressList.IpAddress.String, adapterInfos[i].ipv4_address); + adapterInfos[i].type = IFACE_TYPE_ETHERNET; i++; pAdapter = pAdapter->Next; if (i == *adapter_info_size){ -- Gitblit v1.9.1