mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-10 00:28:20 +00:00
[host] app: implement stubs for platform specific guest information
This commit is contained in:
parent
7ccd202d36
commit
fdb38a227e
@ -85,14 +85,15 @@ enum
|
||||
KVMFR_RECORD_OSINFO
|
||||
};
|
||||
|
||||
enum
|
||||
typedef enum
|
||||
{
|
||||
KVMFR_OS_LINUX,
|
||||
KVMFR_OS_BSD,
|
||||
KVMFR_OS_OSX,
|
||||
KVMFR_OS_WINDOWS,
|
||||
KVMFR_OS_OTHER
|
||||
};
|
||||
}
|
||||
KVMFROS;
|
||||
|
||||
typedef struct KVMFRRecord_VMInfo
|
||||
{
|
||||
|
@ -21,6 +21,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdbool.h>
|
||||
#include "common/KVMFR.h"
|
||||
|
||||
// exit code for user opted to exit looking-glass-host
|
||||
#define LG_HOST_EXIT_USER 0x10
|
||||
@ -46,3 +47,13 @@ void os_showMessage(const char * caption, const char * msg);
|
||||
bool os_blockScreensaver();
|
||||
bool os_hasSetCursorPos(void);
|
||||
void os_setCursorPos(int x, int y);
|
||||
|
||||
// return the KVMFR OS type
|
||||
KVMFROS os_getKVMFRType(void);
|
||||
|
||||
// returns the OS name & version if possible
|
||||
const char * os_getOSName(void);
|
||||
|
||||
// returns the UUID that was given to the VM, this can be obtained from the
|
||||
// SMBIOS. Must return exactly 16 bytes or NULL.
|
||||
const uint8_t * os_getUUID(void);
|
||||
|
@ -95,3 +95,20 @@ bool os_hasSetCursorPos(void)
|
||||
void os_setCursorPos(int x, int y)
|
||||
{
|
||||
}
|
||||
|
||||
KVMFROS os_getKVMFRType(void)
|
||||
{
|
||||
return KVMFR_OS_LINUX;
|
||||
}
|
||||
|
||||
const char * os_getOSName(void)
|
||||
{
|
||||
//TODO
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const uint8_t * os_getUUID(void)
|
||||
{
|
||||
//TODO
|
||||
return NULL;
|
||||
}
|
||||
|
@ -589,3 +589,20 @@ void os_setCursorPos(int x, int y)
|
||||
{
|
||||
SetCursorPos(x, y);
|
||||
}
|
||||
|
||||
KVMFROS os_getKVMFRType(void)
|
||||
{
|
||||
return KVMFR_OS_WINDOWS;
|
||||
}
|
||||
|
||||
const char * os_getOSName(void)
|
||||
{
|
||||
//TODO
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const uint8_t * os_getUUID(void)
|
||||
{
|
||||
//TODO
|
||||
return NULL;
|
||||
}
|
||||
|
@ -604,6 +604,10 @@ static bool newKVMFRData(KVMFRUserData * dst)
|
||||
|
||||
strncpy(vmInfo->capture, app.iface->shortName, sizeof(vmInfo->capture) - 1);
|
||||
|
||||
const uint8_t * uuid = os_getUUID();
|
||||
if (uuid)
|
||||
memcpy(vmInfo->uuid, uuid, 16);
|
||||
|
||||
char * model = allocUserData(dst, 1024, false);
|
||||
if (!model)
|
||||
return false;
|
||||
@ -630,8 +634,12 @@ static bool newKVMFRData(KVMFRUserData * dst)
|
||||
record->type = KVMFR_RECORD_OSINFO;
|
||||
record->size = sizeof(*osInfo);
|
||||
|
||||
osInfo->os = KVMFR_OS_OTHER;
|
||||
if (!appendBuffer(dst, record, "Unknown", 8))
|
||||
osInfo->os = os_getKVMFRType();
|
||||
const char * osName = os_getOSName();
|
||||
if (!osName)
|
||||
osName = "";
|
||||
|
||||
if (!appendBuffer(dst, record, osName, strlen(osName) + 1))
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user