# blob.c File Reference

`#include "magick/studio.h"`
`#include "magick/blob.h"`
`#include "magick/blob-private.h"`
`#include "magick/cache.h"`
`#include "magick/client.h"`
`#include "magick/constitute.h"`
`#include "magick/delegate.h"`
`#include "magick/exception.h"`
`#include "magick/exception-private.h"`
`#include "magick/image-private.h"`
`#include "magick/list.h"`
`#include "magick/log.h"`
`#include "magick/magick.h"`
`#include "magick/memory_.h"`
`#include "magick/resource_.h"`
`#include "magick/semaphore.h"`
`#include "magick/string_.h"`
`#include "magick/utility.h"`
`#include <sys/mman.h>`
`#include "zlib.h"`
`#include "bzlib.h"`

## Data Structures
struct | _BlobInfo
## Defines
#define | fseek fseeko
#define | ftell ftello
#define | MAP_FAILED ((void *) -1)
#define | MS_SYNC 0x04
## Enumerations
enum | StreamType { UndefinedStream, FileStream, StandardStream, PipeStream, ZipStream, BZipStream, FifoStream, BlobStream }
## Functions
static int | SyncBlob (Image *)
MagickExport void | AttachBlob (BlobInfo *blob_info, const void *blob, const size_t length)
static size_t | MagickMin (const size_t x, const size_t y)
MagickExport MagickBooleanType | BlobToFile (char *filename, const void *blob, const size_t length, ExceptionInfo *exception)
MagickExport Image * | BlobToImage (const ImageInfo *image_info, const void *blob, const size_t length, ExceptionInfo *exception)
MagickExport BlobInfo * | CloneBlobInfo (const BlobInfo *blob_info)
MagickExport MagickBooleanType | CloseBlob (Image *image)
MagickExport void | DestroyBlob (Image *image)
MagickExport unsigned char * | DetachBlob (BlobInfo *blob_info)
MagickExport int | EOFBlob (const Image *image)
MagickExport unsigned char * | FileToBlob (const char *filename, const size_t extent, size_t *length, ExceptionInfo *exception)
static ssize_t | WriteBlobStream (Image *image, const size_t length, const unsigned char *data)
MagickExport MagickBooleanType | FileToImage (Image *image, const char *filename)
MagickExport MagickBooleanType | GetBlobError (const Image *image)
MagickExport FILE * | GetBlobFileHandle (const Image *image)
MagickExport void | GetBlobInfo (BlobInfo *blob_info)
MagickExport MagickSizeType | GetBlobSize (const Image *image)
MagickExport unsigned char * | GetBlobStreamData (const Image *image)
MagickExport StreamHandler | GetBlobStreamHandler (const Image *image)
MagickExport unsigned char * | ImageToBlob (const ImageInfo *image_info, Image *image, size_t *length, ExceptionInfo *exception)
static const unsigned char * | ReadBlobStream (Image *image, const size_t length, unsigned char *data, ssize_t *count)
MagickExport MagickBooleanType | ImageToFile (Image *image, char *filename, ExceptionInfo *exception)
MagickExport unsigned char * | ImagesToBlob (const ImageInfo *image_info, Image *images, size_t *length, ExceptionInfo *exception)
MagickExport MagickBooleanType | InjectImageBlob (const ImageInfo *image_info, Image *image, const char *format)
MagickExport MagickBooleanType | IsBlobExempt (const Image *image)
MagickExport MagickBooleanType | IsBlobSeekable (const Image *image)
MagickExport MagickBooleanType | IsBlobTemporary (const Image *image)
MagickExport unsigned char * | MapBlob (int file, const MapMode mode, const MagickOffsetType offset, const size_t length)
MagickExport void | MSBOrderLong (unsigned char *buffer, const size_t length)
MagickExport void | MSBOrderShort (unsigned char *p, const size_t length)
MagickExport MagickBooleanType | OpenBlob (const ImageInfo *image_info, Image *image, const BlobMode mode, ExceptionInfo *exception)
static size_t | PingStream (const Image *magick_unused(image), const void *magick_unused(pixels), const size_t columns)
MagickExport Image * | PingBlob (const ImageInfo *image_info, const void *blob, const size_t length, ExceptionInfo *exception)
MagickExport ssize_t | ReadBlob (Image *image, const size_t length, unsigned char *data)
MagickExport int | ReadBlobByte (Image *image)
MagickExport double | ReadBlobDouble (Image *image)
MagickExport float | ReadBlobFloat (Image *image)
MagickExport unsigned long | ReadBlobLong (Image *image)
MagickExport MagickSizeType | ReadBlobLongLong (Image *image)
MagickExport unsigned short | ReadBlobShort (Image *image)
MagickExport unsigned long | ReadBlobLSBLong (Image *image)
MagickExport unsigned short | ReadBlobLSBShort (Image *image)
MagickExport unsigned long | ReadBlobMSBLong (Image *image)
MagickExport unsigned short | ReadBlobMSBShort (Image *image)
MagickExport char * | ReadBlobString (Image *image, char *string)
MagickExport BlobInfo * | ReferenceBlob (BlobInfo *blob)
MagickExport MagickOffsetType | SeekBlob (Image *image, const MagickOffsetType offset, const int whence)
MagickExport void | SetBlobExempt (Image *image, const MagickBooleanType exempt)
MagickExport MagickOffsetType | TellBlob (const Image *image)
MagickExport MagickBooleanType | UnmapBlob (void *map, const size_t length)
MagickExport ssize_t | WriteBlob (Image *image, const size_t length, const unsigned char *data)
MagickExport ssize_t | WriteBlobByte (Image *image, const unsigned char value)
MagickExport ssize_t | WriteBlobFloat (Image *image, const float value)
MagickExport ssize_t | WriteBlobLong (Image *image, const unsigned long value)
MagickExport ssize_t | WriteBlobShort (Image *image, const unsigned short value)
MagickExport ssize_t | WriteBlobLSBLong (Image *image, const unsigned long value)
MagickExport ssize_t | WriteBlobLSBShort (Image *image, const unsigned short value)
MagickExport ssize_t | WriteBlobMSBLong (Image *image, const unsigned long value)
MagickExport ssize_t | WriteBlobMSBShort (Image *image, const unsigned short value)
MagickExport ssize_t | WriteBlobString (Image *image, const char *string)

## Define Documentation

#define fseek fseeko

#define ftell ftello

#define MAP_FAILED ((void *) -1)

#define MS_SYNC 0x04

## Enumeration Type Documentation

enum StreamType

Enumerator:

  UndefinedStream |
  FileStream |
  StandardStream |
  PipeStream |
  ZipStream |
  BZipStream |
  FifoStream |
  BlobStream |

## Function Documentation

MagickExport void AttachBlob | ( | BlobInfo * | blob_info,
|  | const void * | blob,
|  | const size_t | length |
| ) |  |  |

MagickExport MagickBooleanType BlobToFile | ( | char * | filename,
|  | const void * | blob,
|  | const size_t | length,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* BlobToImage | ( | const ImageInfo * | image_info,
|  | const void * | blob,
|  | const size_t | length,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport BlobInfo* CloneBlobInfo | ( | const BlobInfo * | blob_info | ) |

MagickExport MagickBooleanType CloseBlob | ( | Image * | image | ) |

MagickExport void DestroyBlob | ( | Image * | image | ) |

MagickExport unsigned char* DetachBlob | ( | BlobInfo * | blob_info | ) |

MagickExport int EOFBlob | ( | const Image * | image | ) |

MagickExport unsigned char* FileToBlob | ( | const char * | filename,
|  | const size_t | extent,
|  | size_t * | length,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport MagickBooleanType FileToImage | ( | Image * | image,
|  | const char * | filename |
| ) |  |  |

MagickExport MagickBooleanType GetBlobError | ( | const Image * | image | ) |

MagickExport FILE* GetBlobFileHandle | ( | const Image * | image | ) |

MagickExport void GetBlobInfo | ( | BlobInfo * | blob_info | ) |

MagickExport MagickSizeType GetBlobSize | ( | const Image * | image | ) |

MagickExport unsigned char* GetBlobStreamData | ( | const Image * | image | ) |

MagickExport StreamHandler GetBlobStreamHandler | ( | const Image * | image | ) |

MagickExport unsigned char* ImagesToBlob | ( | const ImageInfo * | image_info,
|  | Image * | images,
|  | size_t * | length,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport unsigned char* ImageToBlob | ( | const ImageInfo * | image_info,
|  | Image * | image,
|  | size_t * | length,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport MagickBooleanType ImageToFile | ( | Image * | image,
|  | char * | filename,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport MagickBooleanType InjectImageBlob | ( | const ImageInfo * | image_info,
|  | Image * | image,
|  | const char * | format |
| ) |  |  |

MagickExport MagickBooleanType IsBlobExempt | ( | const Image * | image | ) |

MagickExport MagickBooleanType IsBlobSeekable | ( | const Image * | image | ) |

MagickExport MagickBooleanType IsBlobTemporary | ( | const Image * | image | ) |

static size_t MagickMin | ( | const size_t | x,
|  | const size_t | y |
| ) |  |  | `[inline, static]`

MagickExport unsigned char* MapBlob | ( | int | file,
|  | const MapMode | mode,
|  | const MagickOffsetType | offset,
|  | const size_t | length |
| ) |  |  |

MagickExport void MSBOrderLong | ( | unsigned char * | buffer,
|  | const size_t | length |
| ) |  |  |

MagickExport void MSBOrderShort | ( | unsigned char * | p,
|  | const size_t | length |
| ) |  |  |

MagickExport MagickBooleanType OpenBlob | ( | const ImageInfo * | image_info,
|  | Image * | image,
|  | const BlobMode | mode,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* PingBlob | ( | const ImageInfo * | image_info,
|  | const void * | blob,
|  | const size_t | length,
|  | ExceptionInfo * | exception |
| ) |  |  |

static size_t PingStream | ( | const Image * | magick_unused(image),
|  | const void * | magick_unused(pixels),
|  | const size_t | columns |
| ) |  |  | `[static]`

MagickExport ssize_t ReadBlob | ( | Image * | image,
|  | const size_t | length,
|  | unsigned char * | data |
| ) |  |  |

MagickExport int ReadBlobByte | ( | Image * | image | ) |

MagickExport double ReadBlobDouble | ( | Image * | image | ) |

MagickExport float ReadBlobFloat | ( | Image * | image | ) |

MagickExport unsigned long ReadBlobLong | ( | Image * | image | ) |

MagickExport MagickSizeType ReadBlobLongLong | ( | Image * | image | ) |

MagickExport unsigned long ReadBlobLSBLong | ( | Image * | image | ) |

MagickExport unsigned short ReadBlobLSBShort | ( | Image * | image | ) |

MagickExport unsigned long ReadBlobMSBLong | ( | Image * | image | ) |

MagickExport unsigned short ReadBlobMSBShort | ( | Image * | image | ) |

MagickExport unsigned short ReadBlobShort | ( | Image * | image | ) |

static const unsigned char* ReadBlobStream | ( | Image * | image,
|  | const size_t | length,
|  | unsigned char * | data,
|  | ssize_t * | count |
| ) |  |  | `[inline, static]`

MagickExport char* ReadBlobString | ( | Image * | image,
|  | char * | string |
| ) |  |  |

MagickExport BlobInfo* ReferenceBlob | ( | BlobInfo * | blob | ) |

MagickExport MagickOffsetType SeekBlob | ( | Image * | image,
|  | const MagickOffsetType | offset,
|  | const int | whence |
| ) |  |  |

MagickExport void SetBlobExempt | ( | Image * | image,
|  | const MagickBooleanType | exempt |
| ) |  |  |

static int SyncBlob | ( | Image * | image | ) | `[static]`

MagickExport MagickOffsetType TellBlob | ( | const Image * | image | ) |

MagickExport MagickBooleanType UnmapBlob | ( | void * | map,
|  | const size_t | length |
| ) |  |  |

MagickExport ssize_t WriteBlob | ( | Image * | image,
|  | const size_t | length,
|  | const unsigned char * | data |
| ) |  |  |

MagickExport ssize_t WriteBlobByte | ( | Image * | image,
|  | const unsigned char | value |
| ) |  |  |

MagickExport ssize_t WriteBlobFloat | ( | Image * | image,
|  | const float | value |
| ) |  |  |

MagickExport ssize_t WriteBlobLong | ( | Image * | image,
|  | const unsigned long | value |
| ) |  |  |

MagickExport ssize_t WriteBlobLSBLong | ( | Image * | image,
|  | const unsigned long | value |
| ) |  |  |

MagickExport ssize_t WriteBlobLSBShort | ( | Image * | image,
|  | const unsigned short | value |
| ) |  |  |

MagickExport ssize_t WriteBlobMSBLong | ( | Image * | image,
|  | const unsigned long | value |
| ) |  |  |

MagickExport ssize_t WriteBlobMSBShort | ( | Image * | image,
|  | const unsigned short | value |
| ) |  |  |

MagickExport ssize_t WriteBlobShort | ( | Image * | image,
|  | const unsigned short | value |
| ) |  |  |

static ssize_t WriteBlobStream | ( | Image * | image,
|  | const size_t | length,
|  | const unsigned char * | data |
| ) |  |  | `[inline, static]`

MagickExport ssize_t WriteBlobString | ( | Image * | image,
|  | const char * | string |
| ) |  |  |