1 /* 2 * Copyright (C) 2010-2012, 2016 Red Hat, Inc. 3 * Copyright IBM Corp. 2008 4 * 5 * lxc_process.h: LXC process lifecycle management 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this library. If not, see 19 * <http://www.gnu.org/licenses/>. 20 */ 21 22 #pragma once 23 24 #include "lxc_conf.h" 25 26 int virLXCProcessStart(virConnectPtr conn, 27 virLXCDriver * driver, 28 virDomainObj *vm, 29 unsigned int nfiles, int *files, 30 bool autoDestroy, 31 virDomainRunningReason reason); 32 int virLXCProcessStop(virLXCDriver *driver, 33 virDomainObj *vm, 34 virDomainShutoffReason reason); 35 36 void virLXCProcessAutoDestroyRun(virLXCDriver *driver, 37 virConnectPtr conn); 38 void virLXCProcessAutoDestroyShutdown(virLXCDriver *driver); 39 int virLXCProcessAutoDestroyAdd(virLXCDriver *driver, 40 virDomainObj *vm, 41 virConnectPtr conn); 42 int virLXCProcessAutoDestroyRemove(virLXCDriver *driver, 43 virDomainObj *vm); 44 45 void virLXCProcessAutostartAll(virLXCDriver *driver); 46 int virLXCProcessReconnectAll(virLXCDriver *driver, 47 virDomainObjList *doms); 48 49 int virLXCProcessValidateInterface(virDomainNetDef *net); 50 char *virLXCProcessSetupInterfaceTap(virDomainDef *vm, 51 virDomainNetDef *net, 52 const char *brname); 53 char *virLXCProcessSetupInterfaceDirect(virLXCDriver *driver, 54 virDomainDef *def, 55 virDomainNetDef *net); 56