diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2008-11-04 23:22:06 +0000 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2008-11-04 23:22:06 +0000 |
commit | 6ace5a39c35e94eedd19762ed427f3a492b9c3a6 (patch) | |
tree | bb0dba1550c614d8e74077abc6afe8b2898617c5 /src/internal.h | |
parent | 2f19b24a03092ed7a73e583d0903f7a93c4395e9 (diff) | |
download | libvirt-6ace5a39c35e94eedd19762ed427f3a492b9c3a6.tar.gz |
Move some API declarations out of internal.h & hash.c into dedicated files
Diffstat (limited to 'src/internal.h')
-rw-r--r-- | src/internal.h | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/src/internal.h b/src/internal.h index c4cafc7c21..283459219e 100644 --- a/src/internal.h +++ b/src/internal.h @@ -33,10 +33,8 @@ #include "gettext.h" -#include "hash.h" #include "libvirt/libvirt.h" #include "libvirt/virterror.h" -#include "driver.h" /* On architectures which lack these limits, define them (ie. Cygwin). * Note that the libvirt code should be robust enough to handle the @@ -142,210 +140,6 @@ extern int debugFlag; __FILE__, __LINE__); /** - * VIR_CONNECT_MAGIC: - * - * magic value used to protect the API when pointers to connection structures - * are passed down by the uers. - */ -#define VIR_CONNECT_MAGIC 0x4F23DEAD -#define VIR_IS_CONNECT(obj) ((obj) && (obj)->magic==VIR_CONNECT_MAGIC) - - -/** - * VIR_DOMAIN_MAGIC: - * - * magic value used to protect the API when pointers to domain structures - * are passed down by the users. - */ -#define VIR_DOMAIN_MAGIC 0xDEAD4321 -#define VIR_IS_DOMAIN(obj) ((obj) && (obj)->magic==VIR_DOMAIN_MAGIC) -#define VIR_IS_CONNECTED_DOMAIN(obj) (VIR_IS_DOMAIN(obj) && VIR_IS_CONNECT((obj)->conn)) - -/** - * VIR_NETWORK_MAGIC: - * - * magic value used to protect the API when pointers to network structures - * are passed down by the users. - */ -#define VIR_NETWORK_MAGIC 0xDEAD1234 -#define VIR_IS_NETWORK(obj) ((obj) && (obj)->magic==VIR_NETWORK_MAGIC) -#define VIR_IS_CONNECTED_NETWORK(obj) (VIR_IS_NETWORK(obj) && VIR_IS_CONNECT((obj)->conn)) - -/** - * VIR_STORAGE_POOL_MAGIC: - * - * magic value used to protect the API when pointers to storage pool structures - * are passed down by the users. - */ -#define VIR_STORAGE_POOL_MAGIC 0xDEAD5678 -#define VIR_IS_STORAGE_POOL(obj) ((obj) && (obj)->magic==VIR_STORAGE_POOL_MAGIC) -#define VIR_IS_CONNECTED_STORAGE_POOL(obj) (VIR_IS_STORAGE_POOL(obj) && VIR_IS_CONNECT((obj)->conn)) - -/** - * VIR_STORAGE_VOL_MAGIC: - * - * magic value used to protect the API when pointers to storage vol structures - * are passed down by the users. - */ -#define VIR_STORAGE_VOL_MAGIC 0xDEAD8765 -#define VIR_IS_STORAGE_VOL(obj) ((obj) && (obj)->magic==VIR_STORAGE_VOL_MAGIC) -#define VIR_IS_CONNECTED_STORAGE_VOL(obj) (VIR_IS_STORAGE_VOL(obj) && VIR_IS_CONNECT((obj)->conn)) - -/* - * arbitrary limitations - */ -#define MAX_DRIVERS 10 -#define MIN_XEN_GUEST_SIZE 64 /* 64 megabytes */ - -/** - * _virConnect: - * - * Internal structure associated to a connection - */ -struct _virConnect { - unsigned int magic; /* specific value to check */ - int flags; /* a set of connection flags */ - char *name; /* connection URI */ - - /* The underlying hypervisor driver and network driver. */ - virDriverPtr driver; - virNetworkDriverPtr networkDriver; - virStorageDriverPtr storageDriver; - - /* Private data pointer which can be used by driver and - * network driver as they wish. - * NB: 'private' is a reserved word in C++. - */ - void * privateData; - void * networkPrivateData; - void * storagePrivateData; - - /* Per-connection error. */ - virError err; /* the last error */ - virErrorFunc handler; /* associated handlet */ - void *userData; /* the user data */ - - /* - * The lock mutex must be acquired before accessing/changing - * any of members following this point, or changing the ref - * count of any virDomain/virNetwork object associated with - * this connection - */ - PTHREAD_MUTEX_T (lock); - virHashTablePtr domains; /* hash table for known domains */ - virHashTablePtr networks; /* hash table for known domains */ - virHashTablePtr storagePools;/* hash table for known storage pools */ - virHashTablePtr storageVols;/* hash table for known storage vols */ - int refs; /* reference count */ -}; - -/** -* _virDomain: -* -* Internal structure associated to a domain -*/ -struct _virDomain { - unsigned int magic; /* specific value to check */ - int refs; /* reference count */ - virConnectPtr conn; /* pointer back to the connection */ - char *name; /* the domain external name */ - int id; /* the domain ID */ - unsigned char uuid[VIR_UUID_BUFLEN]; /* the domain unique identifier */ -}; - -/** -* _virNetwork: -* -* Internal structure associated to a domain -*/ -struct _virNetwork { - unsigned int magic; /* specific value to check */ - int refs; /* reference count */ - virConnectPtr conn; /* pointer back to the connection */ - char *name; /* the network external name */ - unsigned char uuid[VIR_UUID_BUFLEN]; /* the network unique identifier */ -}; - -/** -* _virStoragePool: -* -* Internal structure associated to a storage pool -*/ -struct _virStoragePool { - unsigned int magic; /* specific value to check */ - int refs; /* reference count */ - virConnectPtr conn; /* pointer back to the connection */ - char *name; /* the storage pool external name */ - unsigned char uuid[VIR_UUID_BUFLEN]; /* the storage pool unique identifier */ -}; - -/** -* _virStorageVol: -* -* Internal structure associated to a storage volume -*/ -struct _virStorageVol { - unsigned int magic; /* specific value to check */ - int refs; /* reference count */ - virConnectPtr conn; /* pointer back to the connection */ - char *pool; /* Pool name of owner */ - char *name; /* the storage vol external name */ - /* XXX currently abusing path for this. Ought not to be so evil */ - char key[PATH_MAX]; /* unique key for storage vol */ -}; - - - -/************************************************************************ - * * - * API for domain/connections (de)allocations and lookups * - * * - ************************************************************************/ - -virConnectPtr virGetConnect (void); -int virUnrefConnect (virConnectPtr conn); -virDomainPtr __virGetDomain (virConnectPtr conn, - const char *name, - const unsigned char *uuid); -int virUnrefDomain (virDomainPtr domain); -virNetworkPtr __virGetNetwork (virConnectPtr conn, - const char *name, - const unsigned char *uuid); -int virUnrefNetwork (virNetworkPtr network); - -virStoragePoolPtr __virGetStoragePool (virConnectPtr conn, - const char *name, - const unsigned char *uuid); -int virUnrefStoragePool (virStoragePoolPtr pool); -virStorageVolPtr __virGetStorageVol (virConnectPtr conn, - const char *pool, - const char *name, - const char *key); -int virUnrefStorageVol (virStorageVolPtr vol); - -#define virGetDomain(c,n,u) __virGetDomain((c),(n),(u)) -#define virGetNetwork(c,n,u) __virGetNetwork((c),(n),(u)) -#define virGetStoragePool(c,n,u) __virGetStoragePool((c),(n),(u)) -#define virGetStorageVol(c,p,n,u) __virGetStorageVol((c),(p),(n),(u)) - -#ifdef WITH_LIBVIRTD -int __virStateInitialize(void); -int __virStateCleanup(void); -int __virStateReload(void); -int __virStateActive(void); -#define virStateInitialize() __virStateInitialize() -#define virStateCleanup() __virStateCleanup() -#define virStateReload() __virStateReload() -#define virStateActive() __virStateActive() -#endif - -int __virDrvSupportsFeature (virConnectPtr conn, int feature); - -int __virDomainMigratePrepare (virConnectPtr dconn, char **cookie, int *cookielen, const char *uri_in, char **uri_out, unsigned long flags, const char *dname, unsigned long bandwidth); -int __virDomainMigratePerform (virDomainPtr domain, const char *cookie, int cookielen, const char *uri, unsigned long flags, const char *dname, unsigned long bandwidth); -virDomainPtr __virDomainMigrateFinish (virConnectPtr dconn, const char *dname, const char *cookie, int cookielen, const char *uri, unsigned long flags); - -/** * Domain Event Notification */ |