18#ifndef MAGICKCORE_BLOB_H
19#define MAGICKCORE_BLOB_H
21#include "magick/image.h"
22#include "magick/stream.h"
24#if defined(__cplusplus) || defined(c_plusplus)
28#define MagickMaxBufferExtent 524288
29#define MagickMinBufferExtent 16384
39extern MagickExport FILE
40 *GetBlobFileHandle(
const Image *) magick_attribute((__pure__));
42extern MagickExport Image
43 *BlobToImage(
const ImageInfo *,
const void *,
const size_t,ExceptionInfo *),
44 *PingBlob(
const ImageInfo *,
const void *,
const size_t,ExceptionInfo *);
46extern MagickExport MagickBooleanType
47 BlobToFile(
char *,
const void *,
const size_t,ExceptionInfo *),
48 FileToImage(Image *,
const char *),
49 GetBlobError(
const Image *) magick_attribute((__pure__)),
50 ImageToFile(Image *,
char *,ExceptionInfo *),
51 InjectImageBlob(
const ImageInfo *,Image *,Image *,
const char *,
53 IsBlobExempt(
const Image *) magick_attribute((__pure__)),
54 IsBlobSeekable(
const Image *) magick_attribute((__pure__)),
55 IsBlobTemporary(
const Image *) magick_attribute((__pure__));
57extern MagickExport MagickSizeType
58 GetBlobSize(
const Image *);
60extern MagickExport StreamHandler
61 GetBlobStreamHandler(
const Image *) magick_attribute((__pure__));
63extern MagickExport
unsigned char
64 *FileToBlob(
const char *,
const size_t,
size_t *,ExceptionInfo *),
65 *GetBlobStreamData(
const Image *) magick_attribute((__pure__)),
66 *ImageToBlob(
const ImageInfo *,Image *,
size_t *,ExceptionInfo *),
67 *ImagesToBlob(
const ImageInfo *,Image *,
size_t *,ExceptionInfo *);
69extern MagickExport
void
71 DuplicateBlob(Image *,
const Image *),
72 SetBlobExempt(Image *,
const MagickBooleanType);
74#if defined(__cplusplus) || defined(c_plusplus)