h4. Memory Management
{code}
#include "abstractvd.h"

AVD_RET AVD_LINK AvdMemoryAlloc (void ** Memeory,
size_t Length);

AVD_RET AVD_LINK AvdMemoryFree (void *Memory);
{code}

h4. File Access
{code}
#include "abstractvd.h"

AVD_RET AVD_LINK AvdFileOpen (AVD_HANDLE *FileHandle,
const char *FilePath);

AVD_RET AVD_LINK AvdFileClose (AVD_HANDLE FileHandle);

AVD_RET AVD_LINK AvdFileRead (unsigned char *Buffer,
AVD_HANDLE FileHandle,
UINT64 Offset,
size_t Length,
size_t *BytesRead);

AVD_RET AVD_LINK AvdFileWrite (unsigned char *Buffer,
AVD_HANDLE FileHandle,
UINT64 Offset,
size_t Length,
size_t *BytesWritten);

AVD_RET AVD_LINK AvdFileSizeGet (AVD_HANDLE FileHandle,
UINT64 *FileSize);

AVD_RET AVD_LINK AvdFileSizeSet (AVD_HANDLE FileHandle,
UINT64 NewSize);
{code}

h4. Commands to User Space
{code}
#include "abstractvd.h"

AVD_RET AVD_LINK AvdCommandIssue (void *RequestContext,
void *Request,
size_t Length,
void **Response,
size_t *ResponseLen);
{code}

h4. Log
{code}
#include "abstractvd.h"

AVD_RET AVD_LINK AvdDebugMessage (int Level,
const char *FormatString,
...);

{code}

h4. Timestamp
{code}
#include "abstractvd.h"

AVD_RET AVD_LINK AvdTimestampGet (UINT64 *Timestamp);
{code}