2014-10-16 14:01:19 +04:00
/*
* driver - network . h : entry points for network drivers
*
* Copyright ( C ) 2006 - 2014 Red Hat , Inc .
*
* This library is free software ; you can redistribute it and / or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation ; either
* version 2.1 of the License , or ( at your option ) any later version .
*
* This library is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
* Lesser General Public License for more details .
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library . If not , see
* < http : //www.gnu.org/licenses/>.
*/
2018-12-13 17:53:50 +03:00
# ifndef LIBVIRT_DRIVER_NETWORK_H
# define LIBVIRT_DRIVER_NETWORK_H
2014-10-16 14:01:19 +04:00
# ifndef __VIR_DRIVER_H_INCLUDES___
# error "Don't include this file directly, only use driver.h"
# endif
typedef int
( * virDrvConnectNumOfNetworks ) ( virConnectPtr conn ) ;
typedef int
( * virDrvConnectListNetworks ) ( virConnectPtr conn ,
char * * const names ,
int maxnames ) ;
typedef int
( * virDrvConnectNumOfDefinedNetworks ) ( virConnectPtr conn ) ;
typedef int
( * virDrvConnectListDefinedNetworks ) ( virConnectPtr conn ,
char * * const names ,
int maxnames ) ;
typedef int
( * virDrvConnectListAllNetworks ) ( virConnectPtr conn ,
virNetworkPtr * * nets ,
unsigned int flags ) ;
typedef int
( * virDrvConnectNetworkEventRegisterAny ) ( virConnectPtr conn ,
virNetworkPtr dom ,
int eventID ,
virConnectNetworkEventGenericCallback cb ,
void * opaque ,
virFreeCallback freecb ) ;
typedef int
( * virDrvConnectNetworkEventDeregisterAny ) ( virConnectPtr conn ,
int callbackID ) ;
typedef virNetworkPtr
( * virDrvNetworkLookupByUUID ) ( virConnectPtr conn ,
const unsigned char * uuid ) ;
typedef virNetworkPtr
( * virDrvNetworkLookupByName ) ( virConnectPtr conn ,
const char * name ) ;
typedef virNetworkPtr
( * virDrvNetworkCreateXML ) ( virConnectPtr conn ,
const char * xmlDesc ) ;
typedef virNetworkPtr
( * virDrvNetworkDefineXML ) ( virConnectPtr conn ,
const char * xml ) ;
typedef int
( * virDrvNetworkUndefine ) ( virNetworkPtr network ) ;
typedef int
( * virDrvNetworkUpdate ) ( virNetworkPtr network ,
unsigned int command , /* virNetworkUpdateCommand */
unsigned int section , /* virNetworkUpdateSection */
int parentIndex ,
const char * xml ,
unsigned int flags ) ;
typedef int
( * virDrvNetworkCreate ) ( virNetworkPtr network ) ;
typedef int
( * virDrvNetworkDestroy ) ( virNetworkPtr network ) ;
typedef char *
( * virDrvNetworkGetXMLDesc ) ( virNetworkPtr network ,
unsigned int flags ) ;
typedef char *
( * virDrvNetworkGetBridgeName ) ( virNetworkPtr network ) ;
typedef int
( * virDrvNetworkGetAutostart ) ( virNetworkPtr network ,
int * autostart ) ;
typedef int
( * virDrvNetworkSetAutostart ) ( virNetworkPtr network ,
int autostart ) ;
typedef int
( * virDrvNetworkIsActive ) ( virNetworkPtr net ) ;
typedef int
( * virDrvNetworkIsPersistent ) ( virNetworkPtr net ) ;
typedef int
( * virDrvNetworkGetDHCPLeases ) ( virNetworkPtr network ,
const char * mac ,
virNetworkDHCPLeasePtr * * leases ,
unsigned int flags ) ;
typedef struct _virNetworkDriver virNetworkDriver ;
typedef virNetworkDriver * virNetworkDriverPtr ;
/**
* _virNetworkDriver :
*
* Structure associated to a network virtualization driver , defining the various
* entry points for it .
*/
struct _virNetworkDriver {
2015-01-20 19:16:26 +03:00
const char * name ; /* the name of the driver */
2014-10-16 14:01:19 +04:00
virDrvConnectNumOfNetworks connectNumOfNetworks ;
virDrvConnectListNetworks connectListNetworks ;
virDrvConnectNumOfDefinedNetworks connectNumOfDefinedNetworks ;
virDrvConnectListDefinedNetworks connectListDefinedNetworks ;
virDrvConnectListAllNetworks connectListAllNetworks ;
virDrvConnectNetworkEventRegisterAny connectNetworkEventRegisterAny ;
virDrvConnectNetworkEventDeregisterAny connectNetworkEventDeregisterAny ;
virDrvNetworkLookupByUUID networkLookupByUUID ;
virDrvNetworkLookupByName networkLookupByName ;
virDrvNetworkCreateXML networkCreateXML ;
virDrvNetworkDefineXML networkDefineXML ;
virDrvNetworkUndefine networkUndefine ;
virDrvNetworkUpdate networkUpdate ;
virDrvNetworkCreate networkCreate ;
virDrvNetworkDestroy networkDestroy ;
virDrvNetworkGetXMLDesc networkGetXMLDesc ;
virDrvNetworkGetBridgeName networkGetBridgeName ;
virDrvNetworkGetAutostart networkGetAutostart ;
virDrvNetworkSetAutostart networkSetAutostart ;
virDrvNetworkIsActive networkIsActive ;
virDrvNetworkIsPersistent networkIsPersistent ;
virDrvNetworkGetDHCPLeases networkGetDHCPLeases ;
} ;
2018-12-13 17:53:50 +03:00
# endif /* LIBVIRT_DRIVER_NETWORK_H */