static int lxcStartup(int privileged);
static int lxcShutdown(void);
-lxc_driver_t *lxc_driver = NULL;
+virLXCDriverPtr lxc_driver = NULL;
/* Functions */
-
static virDrvOpenStatus lxcOpen(virConnectPtr conn,
virConnectAuthPtr auth ATTRIBUTE_UNUSED,
unsigned int flags)
static int lxcClose(virConnectPtr conn)
{
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
lxcDriverLock(driver);
virLXCProcessAutoDestroyRun(driver, conn);
static char *lxcGetCapabilities(virConnectPtr conn) {
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
char *xml;
lxcDriverLock(driver);
static virDomainPtr lxcDomainLookupByID(virConnectPtr conn,
int id)
{
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
virDomainObjPtr vm;
virDomainPtr dom = NULL;
static virDomainPtr lxcDomainLookupByUUID(virConnectPtr conn,
const unsigned char *uuid)
{
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
virDomainObjPtr vm;
virDomainPtr dom = NULL;
static virDomainPtr lxcDomainLookupByName(virConnectPtr conn,
const char *name)
{
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
virDomainObjPtr vm;
virDomainPtr dom = NULL;
static int lxcDomainIsActive(virDomainPtr dom)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr obj;
int ret = -1;
static int lxcDomainIsPersistent(virDomainPtr dom)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr obj;
int ret = -1;
static int lxcDomainIsUpdated(virDomainPtr dom)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr obj;
int ret = -1;
}
static int lxcListDomains(virConnectPtr conn, int *ids, int nids) {
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
int n;
lxcDriverLock(driver);
}
static int lxcNumDomains(virConnectPtr conn) {
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
int n;
lxcDriverLock(driver);
static int lxcListDefinedDomains(virConnectPtr conn,
char **const names, int nnames) {
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
int n;
lxcDriverLock(driver);
static int lxcNumDefinedDomains(virConnectPtr conn) {
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
int n;
lxcDriverLock(driver);
static virDomainPtr lxcDomainDefine(virConnectPtr conn, const char *xml)
{
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
virDomainDefPtr def = NULL;
virDomainObjPtr vm = NULL;
virDomainPtr dom = NULL;
static int lxcDomainUndefineFlags(virDomainPtr dom,
unsigned int flags)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
virDomainEventPtr event = NULL;
int ret = -1;
static int lxcDomainGetInfo(virDomainPtr dom,
virDomainInfoPtr info)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
virCgroupPtr cgroup = NULL;
int ret = -1, rc;
int *reason,
unsigned int flags)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
int ret = -1;
static char *lxcGetOSType(virDomainPtr dom)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
char *ret = NULL;
static unsigned long long
lxcDomainGetMaxMemory(virDomainPtr dom)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
unsigned long long ret = 0;
}
static int lxcDomainSetMaxMemory(virDomainPtr dom, unsigned long newmax) {
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
int ret = -1;
}
static int lxcDomainSetMemory(virDomainPtr dom, unsigned long newmem) {
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
virCgroupPtr cgroup = NULL;
int ret = -1;
int nparams,
unsigned int flags)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
int i;
virCgroupPtr cgroup = NULL;
virDomainObjPtr vm = NULL;
int *nparams,
unsigned int flags)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
int i;
virCgroupPtr cgroup = NULL;
virDomainObjPtr vm = NULL;
static char *lxcDomainGetXMLDesc(virDomainPtr dom,
unsigned int flags)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
char *ret = NULL;
*/
static int lxcDomainStartWithFlags(virDomainPtr dom, unsigned int flags)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
virDomainEventPtr event = NULL;
int ret = -1;
lxcDomainCreateAndStart(virConnectPtr conn,
const char *xml,
unsigned int flags) {
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
virDomainObjPtr vm = NULL;
virDomainDefPtr def;
virDomainPtr dom = NULL;
static int lxcDomainGetSecurityLabel(virDomainPtr dom, virSecurityLabelPtr seclabel)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
int ret = -1;
static int lxcNodeGetSecurityModel(virConnectPtr conn,
virSecurityModelPtr secmodel)
{
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
int ret = 0;
lxcDriverLock(driver);
void *opaque,
virFreeCallback freecb)
{
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
int ret;
lxcDriverLock(driver);
lxcDomainEventDeregister(virConnectPtr conn,
virConnectDomainEventCallback callback)
{
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
int ret;
lxcDriverLock(driver);
void *opaque,
virFreeCallback freecb)
{
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
int ret;
lxcDriverLock(driver);
lxcDomainEventDeregisterAny(virConnectPtr conn,
int callbackID)
{
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
int ret;
lxcDriverLock(driver);
lxcDomainDestroyFlags(virDomainPtr dom,
unsigned int flags)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
virDomainEventPtr event = NULL;
int ret = -1;
static int
-lxcSecurityInit(lxc_driver_t *driver)
+lxcSecurityInit(virLXCDriverPtr driver)
{
VIR_INFO("lxcSecurityInit %s", driver->securityDriverName);
virSecurityManagerPtr mgr = virSecurityManagerNew(driver->securityDriverName,
static void lxcNotifyLoadDomain(virDomainObjPtr vm, int newVM, void *opaque)
{
- lxc_driver_t *driver = opaque;
+ virLXCDriverPtr driver = opaque;
if (newVM) {
virDomainEventPtr event =
}
-static bool lxcCgroupControllerActive(lxc_driver_t *driver,
+static bool lxcCgroupControllerActive(virLXCDriverPtr driver,
int controller)
{
if (driver->cgroup == NULL)
static char *lxcGetSchedulerType(virDomainPtr domain,
int *nparams)
{
- lxc_driver_t *driver = domain->conn->privateData;
+ virLXCDriverPtr driver = domain->conn->privateData;
char *ret = NULL;
int rc;
int nparams,
unsigned int flags)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
int i;
virCgroupPtr group = NULL;
virDomainObjPtr vm = NULL;
int *nparams,
unsigned int flags)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virCgroupPtr group = NULL;
virDomainObjPtr vm = NULL;
virDomainDefPtr persistentDef;
int nparams,
unsigned int flags)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
int i;
virCgroupPtr group = NULL;
virDomainObjPtr vm = NULL;
int *nparams,
unsigned int flags)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
int i;
virCgroupPtr group = NULL;
virDomainObjPtr vm = NULL;
const char *path,
struct _virDomainInterfaceStats *stats)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
int i;
int ret = -1;
static int lxcDomainGetAutostart(virDomainPtr dom,
int *autostart) {
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
int ret = -1;
static int lxcDomainSetAutostart(virDomainPtr dom,
int autostart) {
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
char *configFile = NULL, *autostartLink = NULL;
int ret = -1;
return ret;
}
-static int lxcFreezeContainer(lxc_driver_t *driver, virDomainObjPtr vm)
+static int lxcFreezeContainer(virLXCDriverPtr driver, virDomainObjPtr vm)
{
int timeout = 1000; /* In milliseconds */
int check_interval = 1; /* In milliseconds */
static int lxcDomainSuspend(virDomainPtr dom)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
virDomainEventPtr event = NULL;
int ret = -1;
return ret;
}
-static int lxcUnfreezeContainer(lxc_driver_t *driver, virDomainObjPtr vm)
+static int lxcUnfreezeContainer(virLXCDriverPtr driver, virDomainObjPtr vm)
{
int ret;
virCgroupPtr cgroup = NULL;
static int lxcDomainResume(virDomainPtr dom)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
virDomainEventPtr event = NULL;
int ret = -1;
virStreamPtr st,
unsigned int flags)
{
- lxc_driver_t *driver = dom->conn->privateData;
+ virLXCDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm = NULL;
char uuidstr[VIR_UUID_STRING_BUFLEN];
int ret = -1;
virDomainPtr **domains,
unsigned int flags)
{
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
int ret = -1;
virCheckFlags(VIR_CONNECT_LIST_FILTERS_ALL, -1);
#define START_POSTFIX ": starting up\n"
-int virLXCProcessAutoDestroyInit(lxc_driver_t *driver)
+int virLXCProcessAutoDestroyInit(virLXCDriverPtr driver)
{
if (!(driver->autodestroy = virHashCreate(5, NULL)))
return -1;
}
struct virLXCProcessAutoDestroyData {
- lxc_driver_t *driver;
+ virLXCDriverPtr driver;
virConnectPtr conn;
};
/*
* Precondition: driver is locked
*/
-void virLXCProcessAutoDestroyRun(lxc_driver_t *driver, virConnectPtr conn)
+void virLXCProcessAutoDestroyRun(virLXCDriverPtr driver, virConnectPtr conn)
{
struct virLXCProcessAutoDestroyData data = {
driver, conn
virHashForEach(driver->autodestroy, virLXCProcessAutoDestroyDom, &data);
}
-void virLXCProcessAutoDestroyShutdown(lxc_driver_t *driver)
+void virLXCProcessAutoDestroyShutdown(virLXCDriverPtr driver)
{
virHashFree(driver->autodestroy);
}
-int virLXCProcessAutoDestroyAdd(lxc_driver_t *driver,
+int virLXCProcessAutoDestroyAdd(virLXCDriverPtr driver,
virDomainObjPtr vm,
virConnectPtr conn)
{
return 0;
}
-int virLXCProcessAutoDestroyRemove(lxc_driver_t *driver,
+int virLXCProcessAutoDestroyRemove(virLXCDriverPtr driver,
virDomainObjPtr vm)
{
char uuidstr[VIR_UUID_STRING_BUFLEN];
* Cleanout resources associated with the now dead VM
*
*/
-static void virLXCProcessCleanup(lxc_driver_t *driver,
+static void virLXCProcessCleanup(virLXCDriverPtr driver,
virDomainObjPtr vm,
virDomainShutoffReason reason)
{
{
int ret = 0;
char *res_ifname = NULL;
- lxc_driver_t *driver = conn->privateData;
+ virLXCDriverPtr driver = conn->privateData;
virNetDevBandwidthPtr bw;
virNetDevVPortProfilePtr prof;
}
-static int virLXCProcessMonitorClient(lxc_driver_t * driver,
+static int virLXCProcessMonitorClient(virLXCDriverPtr driver,
virDomainObjPtr vm)
{
char *sockpath = NULL;
}
-int virLXCProcessStop(lxc_driver_t *driver,
+int virLXCProcessStop(virLXCDriverPtr driver,
virDomainObjPtr vm,
virDomainShutoffReason reason)
{
return rc;
}
-extern lxc_driver_t *lxc_driver;
+extern virLXCDriverPtr lxc_driver;
static void virLXCProcessMonitorEvent(int watch,
int fd,
int events ATTRIBUTE_UNUSED,
void *data)
{
- lxc_driver_t *driver = lxc_driver;
+ virLXCDriverPtr driver = lxc_driver;
virDomainObjPtr vm = data;
virDomainEventPtr event = NULL;
virLXCDomainObjPrivatePtr priv;
static virCommandPtr
-virLXCProcessBuildControllerCmd(lxc_driver_t *driver,
+virLXCProcessBuildControllerCmd(virLXCDriverPtr driver,
virDomainObjPtr vm,
int nveths,
char **veths,
* Returns 0 on success or -1 in case of error
*/
int virLXCProcessStart(virConnectPtr conn,
- lxc_driver_t * driver,
+ virLXCDriverPtr driver,
virDomainObjPtr vm,
bool autoDestroy,
virDomainRunningReason reason)
}
struct virLXCProcessAutostartData {
- lxc_driver_t *driver;
+ virLXCDriverPtr driver;
virConnectPtr conn;
};
void
-virLXCProcessAutostartAll(lxc_driver_t *driver) {
+virLXCProcessAutostartAll(virLXCDriverPtr driver)
+{
/* XXX: Figure out a better way todo this. The domain
* startup code needs a connection handle in order
* to lookup the bridge associated with a virtual
virLXCProcessReconnectDomain(void *payload, const void *name ATTRIBUTE_UNUSED, void *opaque)
{
virDomainObjPtr vm = payload;
- lxc_driver_t *driver = opaque;
+ virLXCDriverPtr driver = opaque;
virLXCDomainObjPrivatePtr priv;
virDomainObjLock(vm);
}
-int virLXCProcessReconnectAll(lxc_driver_t *driver,
+int virLXCProcessReconnectAll(virLXCDriverPtr driver,
virDomainObjListPtr doms)
{
virHashForEach(doms->objs, virLXCProcessReconnectDomain, driver);