Data Structures | Defines | Enumerations | Functions

blob.c File Reference

#include "wizard/studio.h"
#include "wizard/blob.h"
#include "wizard/blob-private.h"
#include "wizard/cipher.h"
#include "wizard/exception.h"
#include "wizard/exception-private.h"
#include "wizard/memory_.h"
#include "wizard/semaphore.h"
#include "wizard/string-private.h"
#include "wizard/utility.h"
#include "bzlib.h"
#include "zlib.h"

Data Structures

struct  _BlobInfo

Defines

#define WizardMaxBlobExtent   65541
#define MAP_FAILED   ((void *) -1)
#define MS_SYNC   0x04

Enumerations

enum  StreamType {
  UndefinedStream, FileStream, StandardStream, PipeStream,
  ZipStream, BZipStream, BlobStream
}

Functions

static unsigned char * DetachBlob (BlobInfo *)
static void AttachBlob (BlobInfo *blob_info, const void *blob, const size_t length)
WizardExport WizardBooleanType CloseBlob (BlobInfo *blob_info)
WizardExport BlobInfoDestroyBlob (BlobInfo *blob_info)
WizardExport int EOFBlob (BlobInfo *blob_info)
WizardExport unsigned char * FileToBlob (const char *filename, const size_t extent, size_t *length, ExceptionInfo *exception)
WizardExport const char * GetBlobFilename (const BlobInfo *blob_info)
WizardExport void GetBlobInfo (BlobInfo *blob_info)
WizardExport WizardSizeType GetBlobSize (BlobInfo *blob_info)
WizardExport struct stat * GetBlobProperties (const BlobInfo *blob_info)
WizardExport void * MapBlob (int file, const MapMode mode, const WizardOffsetType offset, const size_t length)
WizardExport BlobInfoOpenBlob (const char *filename, const BlobMode mode, const WizardBooleanType compress, ExceptionInfo *exception)
static size_t WizardMin (const size_t x, const size_t y)
WizardExport ssize_t ReadBlob (BlobInfo *blob_info, const size_t length, unsigned char *data)
static const unsigned char * ReadBlobStream (BlobInfo *blob_info, const size_t length, unsigned char *data, ssize_t *count)
WizardExport int ReadBlobByte (BlobInfo *blob_info)
WizardExport ssize_t ReadBlobChunk (BlobInfo *blob_info, const size_t length, unsigned char *data)
WizardExport WizardBooleanType SetBlobExtent (BlobInfo *blob_info, const WizardSizeType extent)
WizardExport int SyncBlob (BlobInfo *blob_info)
WizardExport WizardOffsetType TellBlob (const BlobInfo *blob_info)
WizardExport WizardBooleanType UnmapBlob (void *map, const size_t length)
WizardExport ssize_t WriteBlob (BlobInfo *blob_info, const size_t length, const unsigned char *data)
static ssize_t WriteBlobStream (BlobInfo *blob_info, const size_t length, const unsigned char *data)
WizardExport ssize_t WriteBlobByte (BlobInfo *blob_info, const unsigned char value)
WizardExport ssize_t WriteBlobChunk (BlobInfo *blob_info, const size_t length, const unsigned char *data)
WizardExport ssize_t WriteBlobString (BlobInfo *blob_info, const char *string)

Define Documentation

#define MAP_FAILED   ((void *) -1)
#define MS_SYNC   0x04

Referenced by SyncBlob().

#define WizardMaxBlobExtent   65541

Referenced by AttachBlob(), and GetBlobInfo().


Enumeration Type Documentation

enum StreamType
Enumerator:
UndefinedStream 
FileStream 
StandardStream 
PipeStream 
ZipStream 
BZipStream 
BlobStream 

Function Documentation

static void AttachBlob ( BlobInfo blob_info,
const void *  blob,
const size_t  length 
) [static]
WizardExport WizardBooleanType CloseBlob ( BlobInfo blob_info  ) 
WizardExport BlobInfo* DestroyBlob ( BlobInfo blob_info  ) 
static unsigned char * DetachBlob ( BlobInfo blob_info  )  [static]
WizardExport int EOFBlob ( BlobInfo blob_info  ) 
WizardExport unsigned char* FileToBlob ( const char *  filename,
const size_t  extent,
size_t *  length,
ExceptionInfo exception 
)
WizardExport const char* GetBlobFilename ( const BlobInfo blob_info  ) 
WizardExport void GetBlobInfo ( BlobInfo blob_info  ) 
WizardExport struct stat* GetBlobProperties ( const BlobInfo blob_info  )  [read]
WizardExport WizardSizeType GetBlobSize ( BlobInfo blob_info  ) 
WizardExport void* MapBlob ( int  file,
const MapMode  mode,
const WizardOffsetType  offset,
const size_t  length 
)
WizardExport BlobInfo* OpenBlob ( const char *  filename,
const BlobMode  mode,
const WizardBooleanType  compress,
ExceptionInfo exception 
)
WizardExport ssize_t ReadBlob ( BlobInfo blob_info,
const size_t  length,
unsigned char *  data 
)
WizardExport int ReadBlobByte ( BlobInfo blob_info  ) 
WizardExport ssize_t ReadBlobChunk ( BlobInfo blob_info,
const size_t  length,
unsigned char *  data 
)
static const unsigned char* ReadBlobStream ( BlobInfo blob_info,
const size_t  length,
unsigned char *  data,
ssize_t *  count 
) [inline, static]
WizardExport WizardBooleanType SetBlobExtent ( BlobInfo blob_info,
const WizardSizeType  extent 
)
WizardExport int SyncBlob ( BlobInfo blob_info  ) 
WizardExport WizardOffsetType TellBlob ( const BlobInfo blob_info  ) 
WizardExport WizardBooleanType UnmapBlob ( void *  map,
const size_t  length 
)
static size_t WizardMin ( const size_t  x,
const size_t  y 
) [inline, static]
WizardExport ssize_t WriteBlob ( BlobInfo blob_info,
const size_t  length,
const unsigned char *  data 
)
WizardExport ssize_t WriteBlobByte ( BlobInfo blob_info,
const unsigned char  value 
)
WizardExport ssize_t WriteBlobChunk ( BlobInfo blob_info,
const size_t  length,
const unsigned char *  data 
)
static ssize_t WriteBlobStream ( BlobInfo blob_info,
const size_t  length,
const unsigned char *  data 
) [inline, static]
WizardExport ssize_t WriteBlobString ( BlobInfo blob_info,
const char *  string 
)