Logo Search packages:      
Sourcecode: virtualbox-ose version File versions  Download package

VBoxHDD.h File Reference


Detailed Description

VBox HDD Container API.

Definition in file VBoxHDD.h.

#include <iprt/assert.h>
#include <iprt/string.h>
#include <iprt/mem.h>
#include <iprt/net.h>
#include <iprt/sg.h>
#include <VBox/cdefs.h>
#include <VBox/types.h>
#include <VBox/err.h>
#include <VBox/pdmifs.h>

Go to the source code of this file.

Classes

struct  VBOXHDDRAW
struct  VBOXHDDRAWPARTDESC
struct  VDBACKENDINFO
struct  VDCONFIGINFO
struct  VDINTERFACE
struct  VDINTERFACEASYNCIO
struct  VDINTERFACECONFIG
struct  VDINTERFACEIO
struct  VDINTERFACEPARENTSTATE
struct  VDINTERFACEPROGRESS
struct  VDINTERFACETHREADSYNC

Defines

#define VD_INTERFACEASYNCIO_OPEN_FLAGS_CREATE   RT_BIT(1)
#define VD_INTERFACEASYNCIO_OPEN_FLAGS_DONT_LOCK   RT_BIT(2)
#define VD_INTERFACEASYNCIO_OPEN_FLAGS_READONLY   RT_BIT(0)
#define VD_LAST_IMAGE   0xffffffffU
#define VDI_GET_VERSION_MAJOR(uVer)   ((uVer) >> 16)
#define VDI_GET_VERSION_MINOR(uVer)   ((uVer) & 0xffff)
#define VDI_IMAGE_VERSION   ((VDI_IMAGE_VERSION_MAJOR << 16) | VDI_IMAGE_VERSION_MINOR)
#define VDI_IMAGE_VERSION_MAJOR   (0x0001)
#define VDI_IMAGE_VERSION_MINOR   (0x0001)
#define VMDK_IMAGE_VERSION   (0x0001)
VBox HDD container backend capability flags
#define VD_CAP_ASYNC   RT_BIT(5)
#define VD_CAP_CONFIG   RT_BIT(7)
#define VD_CAP_CREATE_DYNAMIC   RT_BIT(2)
#define VD_CAP_CREATE_FIXED   RT_BIT(1)
#define VD_CAP_CREATE_SPLIT_2G   RT_BIT(3)
#define VD_CAP_DIFF   RT_BIT(4)
#define VD_CAP_FILE   RT_BIT(6)
#define VD_CAP_TCPNET   RT_BIT(8)
#define VD_CAP_UUID   RT_BIT(0)
Configuration interface key handling flags.
#define VD_CFGKEY_EXPERT   RT_BIT(1)
#define VD_CFGKEY_MANDATORY   RT_BIT(0)
VBox HDD container image flags
#define VD_IMAGE_FLAGS_DEFAULT   (VD_IMAGE_FLAGS_NONE)
#define VD_IMAGE_FLAGS_DIFF   (0x20000)
#define VD_IMAGE_FLAGS_FIXED   (0x10000)
#define VD_IMAGE_FLAGS_MASK   (VD_VMDK_IMAGE_FLAGS_MASK | VD_VDI_IMAGE_FLAGS_MASK)
#define VD_IMAGE_FLAGS_NONE   (0)
#define VD_VDI_IMAGE_FLAGS_MASK   (VD_IMAGE_FLAGS_FIXED | VD_IMAGE_FLAGS_DIFF | VD_IMAGE_FLAGS_NONE | VD_VDI_IMAGE_FLAGS_ZERO_EXPAND)
#define VD_VDI_IMAGE_FLAGS_ZERO_EXPAND   (0x0100)
#define VD_VMDK_IMAGE_FLAGS_ESX   (0x0008)
#define VD_VMDK_IMAGE_FLAGS_MASK
#define VD_VMDK_IMAGE_FLAGS_RAWDISK   (0x0002)
#define VD_VMDK_IMAGE_FLAGS_SPLIT_2G   (0x0001)
#define VD_VMDK_IMAGE_FLAGS_STREAM_OPTIMIZED   (0x0004)
VBox HDD container image open mode flags
#define VD_OPEN_FLAGS_ASYNC_IO   RT_BIT(4)
#define VD_OPEN_FLAGS_HONOR_SAME   RT_BIT(2)
#define VD_OPEN_FLAGS_HONOR_ZEROES   RT_BIT(1)
#define VD_OPEN_FLAGS_INFO   RT_BIT(3)
#define VD_OPEN_FLAGS_MASK   (VD_OPEN_FLAGS_NORMAL | VD_OPEN_FLAGS_READONLY | VD_OPEN_FLAGS_HONOR_ZEROES | VD_OPEN_FLAGS_HONOR_SAME | VD_OPEN_FLAGS_INFO | VD_OPEN_FLAGS_ASYNC_IO | VD_OPEN_FLAGS_SHAREABLE)
#define VD_OPEN_FLAGS_NORMAL   0
#define VD_OPEN_FLAGS_READONLY   RT_BIT(0)
#define VD_OPEN_FLAGS_SHAREABLE   RT_BIT(5)

Typedefs

typedef void( FNVDASYNCTRANSFERCOMPLETE )(void *pvUser1, void *pvUser2, int rcReq)
typedef const VDCONFIGINFOPCVDCONFIGINFO
typedef const VDINTERFACEPCVDINTERFACE
typedef FNVDASYNCTRANSFERCOMPLETEPFNVDASYNCTRANSFERCOMPLETE
typedef FNVDCOMPLETED * PFNVDCOMPLETED
typedef FNVDMETACOMPLETED * PFNVDMETACOMPLETED
typedef FNVDPROGRESS * PFNVDPROGRESS
typedef PVDIOCTX pIoCtx
typedef PVDIOSTORAGEPPVDIOSTORAGE
typedef VBOXHDDPVBOXHDD
typedef struct VBOXHDDRAWPVBOXHDDRAW
typedef struct VBOXHDDRAWPARTDESCPVBOXHDDRAWPARTDESC
typedef struct VDBACKENDINFOPVDBACKENDINFO
typedef VDCONFIGINFOPVDCONFIGINFO
typedef VDINTERFACEPVDINTERFACE
typedef struct VDINTERFACEASYNCIOPVDINTERFACEASYNCIO
typedef struct VDINTERFACECONFIGPVDINTERFACECONFIG
typedef struct VDINTERFACEIOPVDINTERFACEIO
typedef struct
VDINTERFACEPARENTSTATE
PVDINTERFACEPARENTSTATE
typedef struct
VDINTERFACEPROGRESS
PVDINTERFACEPROGRESS
typedef struct
VDINTERFACETHREADSYNC
PVDINTERFACETHREADSYNC
typedef struct VDIOCTXPVDIOCTX
typedef struct VDIOSTORAGEPVDIOSTORAGE
typedef PVDIOCTX void * pvMetaUser
typedef int rcReq
typedef unsigned uPercentage
typedef struct VBOXHDD VBOXHDD

Enumerations

enum  VDCFGVALUETYPE { VDCFGVALUETYPE_INTEGER = 1, VDCFGVALUETYPE_STRING, VDCFGVALUETYPE_BYTES }
enum  VDINTERFACETYPE {
  VDINTERFACETYPE_FIRST = 0, VDINTERFACETYPE_ERROR = VDINTERFACETYPE_FIRST, VDINTERFACETYPE_ASYNCIO, VDINTERFACETYPE_PROGRESS,
  VDINTERFACETYPE_CONFIG, VDINTERFACETYPE_TCPNET, VDINTERFACETYPE_PARENTSTATE, VDINTERFACETYPE_THREADSYNC,
  VDINTERFACETYPE_IO, VDINTERFACETYPE_INVALID
}

Functions

typedef DECLCALLBACK (void) FNVDMETACOMPLETED(void *pvBackendData
typedef DECLCALLBACK (int) FNVDCOMPLETED(void *pvUser
 DECLINLINE (PVDINTERFACEIO) VDGetInterfaceIO(PVDINTERFACE pInterface)
 DECLINLINE (PVDINTERFACETHREADSYNC) VDGetInterfaceThreadSync(PVDINTERFACE pInterface)
 DECLINLINE (PVDINTERFACEPARENTSTATE) VDGetInterfaceParentState(PVDINTERFACE pInterface)
 DECLINLINE (PVDINTERFACETCPNET) VDGetInterfaceTcpNet(PVDINTERFACE pInterface)
 DECLINLINE (bool) VDCFGAreKeysValid(PVDINTERFACECONFIG pCfgIf
 DECLINLINE (PVDINTERFACECONFIG) VDGetInterfaceConfig(PVDINTERFACE pInterface)
 DECLINLINE (PVDINTERFACEPROGRESS) VDGetInterfaceProgress(PVDINTERFACE pInterface)
 DECLINLINE (PVDINTERFACEASYNCIO) VDGetInterfaceAsyncIO(PVDINTERFACE pInterface)
 DECLINLINE (PVDINTERFACEERROR) VDGetInterfaceError(PVDINTERFACE pInterface)
 DECLINLINE (PVDINTERFACE) VDInterfaceGet(PVDINTERFACE pVDIfs
 VBOXDDU_DECL (uint64_t) VDGetSize(PVBOXHDD pDisk
 VBOXDDU_DECL (bool) VDIsReadOnly(PVBOXHDD pDisk)
 VBOXDDU_DECL (unsigned) VDGetCount(PVBOXHDD pDisk)
 VBOXDDU_DECL (void) VDDestroy(PVBOXHDD pDisk)
 VBOXDDU_DECL (int) VDInit(void)

Variables

unsigned char unsigned cbComment
unsigned char unsigned cbFilename
uint64_t void size_t cbRead
const char const char uint64_t cbSize
uint64_t const void size_t cbWrite
uint64_t size_t PCRTSGSEG unsigned cSeg
bool fDelete
unsigned PVBOXHDD const char
const char bool 
fMoveByRename
unsigned nImage
unsigned nImageFrom
unsigned unsigned nImageTo
uint64_t size_t PCRTSGSEG paSeg
unsigned PVDBACKENDINFO pBackendInfo
PVDBACKENDINFO unsigned * pcEntriesUsed
unsigned PVBOXHDD pDiskTo
unsigned PVBOXHDD const char
const char bool uint64_t
unsigned PCRTUUID 
pDstUuid
unsigned PVBOXHDD const char
const char bool uint64_t
unsigned PCRTUUID PVDINTERFACE
PVDINTERFACE 
pDstVDIfsImage
unsigned PVBOXHDD const char
const char bool uint64_t
unsigned PCRTUUID PVDINTERFACE
PVDINTERFACE PVDINTERFACE 
pDstVDIfsOperation
PVDBACKENDINFO pEntries
PVDBACKENDINFO pEntry
unsigned bool * pfAIOSupported
uint64_t size_t PCRTSGSEG
unsigned
PFNVDASYNCTRANSFERCOMPLETE 
pfnComplete
const char const char uint64_t
unsigned const char
PCPDMMEDIAGEOMETRY
PCPDMMEDIAGEOMETRY 
pLCHSGeometry
const char const char unsigned
const char PCRTUUID PCRTUUID 
pParentUuid
const char const char uint64_t
unsigned const char
PCPDMMEDIAGEOMETRY 
pPCHSGeometry
PVBOXHDDppDisk
const char char ** ppszFormat
const char * pszBackend
const char const char uint64_t
unsigned const char * 
pszComment
const char * pszFilename
unsigned unsigned * puImageFlags
unsigned unsigned * puOpenFlags
const char const char uint64_t
unsigned const char
PCPDMMEDIAGEOMETRY
PCPDMMEDIAGEOMETRY PCRTUUID 
pUuid
unsigned unsigned * puVersion
uint64_t void * pvBuf
const char const char unsigned
PVDINTERFACE 
pVDIfsImage
const char const char uint64_t
unsigned const char
PCPDMMEDIAGEOMETRY
PCPDMMEDIAGEOMETRY PCRTUUID
unsigned PVDINTERFACE
PVDINTERFACE 
pVDIfsOperation
PVDINTERFACEERROR
PVDINTERFACETCPNET
void * pvUser
uint64_t size_t PCRTSGSEG
unsigned
PFNVDASYNCTRANSFERCOMPLETE
void * 
pvUser1
uint64_t size_t PCRTSGSEG
unsigned
PFNVDASYNCTRANSFERCOMPLETE
void void * 
pvUser2
const char const char uint64_t
unsigned 
uImageFlags
uint64_t uOffset
const char const char unsigned uOpenFlags


Generated by  Doxygen 1.6.0   Back to index