xen_internal.h 3.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/*
 * xen_internal.h: internal API for direct access to Xen hypervisor level
 *
 * Copyright (C) 2005 Red Hat, Inc.
 *
 * See COPYING.LIB for the License of this software
 *
 * Daniel Veillard <veillard@redhat.com>
 */

#ifndef __VIR_XEN_INTERNAL_H__
#define __VIR_XEN_INTERNAL_H__

#ifdef __cplusplus
extern "C" {
#endif

18
extern struct xenUnifiedDriver xenHypervisorDriver;
19 20 21 22
int	xenHypervisorInit		(void);

/* The following calls are made directly by the Xen proxy: */

23 24 25 26 27 28 29 30 31
virDomainPtr
        xenHypervisorLookupDomainByID   (virConnectPtr conn,
					 int id);
virDomainPtr
xenHypervisorLookupDomainByUUID(virConnectPtr conn,
                                const unsigned char *uuid);
char *
        xenHypervisorDomainGetOSType (virDomainPtr dom);

32
int	xenHypervisorOpen		(virConnectPtr conn,
33
					 xmlURIPtr uri,
34
					 virConnectAuthPtr auth,
35 36 37 38
					 int flags);
int	xenHypervisorClose		(virConnectPtr conn);
int	xenHypervisorGetVersion		(virConnectPtr conn,
				 	 unsigned long *hvVer);
39 40 41 42 43
char *
        xenHypervisorMakeCapabilitiesXML (virConnectPtr conn,
					  const char *hostmachine,
					  FILE *cpuinfo,
					  FILE *capabilities);
44 45
char *
        xenHypervisorGetCapabilities    (virConnectPtr conn);
46 47 48
unsigned long
        xenHypervisorGetDomMaxMemory	(virConnectPtr conn,
					 int id);
49 50 51 52
int	xenHypervisorNumOfDomains	(virConnectPtr conn);
int	xenHypervisorListDomains	(virConnectPtr conn,
					 int *ids,
					 int maxids);
53
  int	xenHypervisorGetMaxVcpus	(virConnectPtr conn, const char *type);
54 55 56 57 58
int	xenHypervisorDestroyDomain	(virDomainPtr domain);
int	xenHypervisorResumeDomain	(virDomainPtr domain);
int	xenHypervisorPauseDomain	(virDomainPtr domain);
int	xenHypervisorGetDomainInfo	(virDomainPtr domain,
				   	 virDomainInfoPtr info);
59 60 61
int	xenHypervisorGetDomInfo		(virConnectPtr conn,
					 int id,
					 virDomainInfoPtr info);
62 63
int	xenHypervisorSetMaxMemory	(virDomainPtr domain,
		      		  	 unsigned long memory);
64 65
int	xenHypervisorCheckID		(virConnectPtr conn,
					 int id);
66 67 68 69 70 71 72 73 74 75 76
int	xenHypervisorSetVcpus		(virDomainPtr domain,
					 unsigned int nvcpus);
int	xenHypervisorPinVcpu		(virDomainPtr domain,
					 unsigned int vcpu,
					 unsigned char *cpumap,
					 int maplen);
int	xenHypervisorGetVcpus		(virDomainPtr domain,
					 virVcpuInfoPtr info,
					 int maxinfo,
					 unsigned char *cpumaps,
					 int maplen);
77
int	xenHypervisorGetVcpuMax		(virDomainPtr domain);
78

79 80 81 82 83 84 85 86 87 88 89
char *	xenHypervisorGetSchedulerType	(virDomainPtr domain,
					 int *nparams);

int	xenHypervisorGetSchedulerParameters		(virDomainPtr domain,
					 virSchedParameterPtr params,
					 int *nparams);

int	xenHypervisorSetSchedulerParameters		(virDomainPtr domain,
					 virSchedParameterPtr params,
					 int nparams);

90 91 92 93 94 95 96
int     xenHypervisorDomainBlockStats   (virDomainPtr domain,
					 const char *path,
					 struct _virDomainBlockStats *stats);
int     xenHypervisorDomainInterfaceStats (virDomainPtr domain,
					 const char *path,
					 struct _virDomainInterfaceStats *stats);

97 98 99 100
int	xenHypervisorNodeGetCellsFreeMemory(virConnectPtr conn,
					  unsigned long long *freeMems,
					  int startCell,
					  int maxCells);
101 102 103
#ifdef __cplusplus
}
#endif
104
#endif                          /* __VIR_XEN_INTERNAL_H__ */