virNodeGetMemoryStats: Expose new API

Signed-off-by: Minoru Usui <usui@mxm.nes.nec.co.jp>
This commit is contained in:
Minoru Usui 2011-06-07 10:03:36 +09:00 committed by Eric Blake
parent ce76e85350
commit 625aa63eea
3 changed files with 80 additions and 0 deletions

View File

@ -361,6 +361,70 @@ struct _virCPUStats {
unsigned long long value; unsigned long long value;
}; };
/**
* VIR_MEMORY_STATS_FIELD_LENGTH:
*
* Macro providing the field length of virMemoryStats
*/
#define VIR_MEMORY_STATS_FIELD_LENGTH 80
/**
* VIR_MEMORY_STATS_ALL_CELLS:
*
* Macro for the total memory of all cells.
*/
#define VIR_MEMORY_STATS_ALL_CELLS (-1)
/**
* VIR_MEMORY_STATS_TOTAL:
*
* Macro for the total memory of specified cell:
* it represents the maximum memory.
*/
#define VIR_MEMORY_STATS_TOTAL "total"
/**
* VIR_MEMORY_STATS_FREE:
*
* Macro for the free memory of specified cell:
* On linux, it includes buffer and cached memory, in case of
* VIR_MEMORY_STATS_ALL_CELLS.
*/
#define VIR_MEMORY_STATS_FREE "free"
/**
* VIR_MEMORY_STATS_BUFFERS:
*
* Macro for the buffer memory: On linux, it only returns in case of
* VIR_MEMORY_STATS_ALL_CELLS.
*/
#define VIR_MEMORY_STATS_BUFFERS "buffers"
/**
* VIR_MEMORY_STATS_CACHED:
*
* Macro for the cached memory: On linux, it only returns in case of
* VIR_MEMORY_STATS_ALL_CELLS.
*/
#define VIR_MEMORY_STATS_CACHED "cached"
/**
* virMemoryStats:
*
* a virMemoryStats is a structure filled by virNodeGetMemoryStats()
* and providing the information of the memory of the Node.
*/
typedef struct _virMemoryStats virMemoryStats;
struct _virMemoryStats {
char field[VIR_MEMORY_STATS_FIELD_LENGTH];
unsigned long long value;
};
/* Common data types shared among interfaces with name/type/value lists. */ /* Common data types shared among interfaces with name/type/value lists. */
@ -628,6 +692,14 @@ typedef virNodeInfo *virNodeInfoPtr;
typedef virCPUStats *virCPUStatsPtr; typedef virCPUStats *virCPUStatsPtr;
/**
* virMemoryStatsPtr:
*
* a virMemoryStatsPtr is a pointer to a virMemoryStats structure.
*/
typedef virMemoryStats *virMemoryStatsPtr;
/** /**
* virConnectFlags * virConnectFlags
* *
@ -768,6 +840,12 @@ int virNodeGetCPUStats (virConnectPtr conn,
int *nparams, int *nparams,
unsigned int flags); unsigned int flags);
int virNodeGetMemoryStats (virConnectPtr conn,
int cellNum,
virCPUStatsPtr params,
int *nparams,
unsigned int flags);
unsigned long long virNodeGetFreeMemory (virConnectPtr conn); unsigned long long virNodeGetFreeMemory (virConnectPtr conn);
int virNodeGetSecurityModel (virConnectPtr conn, int virNodeGetSecurityModel (virConnectPtr conn,

View File

@ -364,6 +364,7 @@ skip_impl = (
'virDomainRevertToSnapshot', 'virDomainRevertToSnapshot',
'virDomainSendKey', 'virDomainSendKey',
'virNodeGetCPUStats', 'virNodeGetCPUStats',
'virNodeGetMemoryStats',
) )

View File

@ -455,6 +455,7 @@ LIBVIRT_0.9.3 {
virDomainPinVcpuFlags; virDomainPinVcpuFlags;
virDomainSendKey; virDomainSendKey;
virNodeGetCPUStats; virNodeGetCPUStats;
virNodeGetMemoryStats;
} LIBVIRT_0.9.2; } LIBVIRT_0.9.2;
# .... define new API here using predicted next version number .... # .... define new API here using predicted next version number ....