00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MAGICKCORE_BLOB_H
00019 #define MAGICKCORE_BLOB_H
00020
00021 #include "magick/image.h"
00022 #include "magick/stream.h"
00023
00024 #if defined(__cplusplus) || defined(c_plusplus)
00025 extern "C" {
00026 #endif
00027
00028 #define MagickMaxBufferExtent 81920
00029
00030 typedef enum
00031 {
00032 ReadMode,
00033 WriteMode,
00034 IOMode,
00035 PersistMode
00036 } MapMode;
00037
00038 extern MagickExport FILE
00039 *GetBlobFileHandle(const Image *) magick_attribute((__pure__));
00040
00041 extern MagickExport Image
00042 *BlobToImage(const ImageInfo *,const void *,const size_t,ExceptionInfo *),
00043 *PingBlob(const ImageInfo *,const void *,const size_t,ExceptionInfo *);
00044
00045 extern MagickExport MagickBooleanType
00046 BlobToFile(char *,const void *,const size_t,ExceptionInfo *),
00047 FileToImage(Image *,const char *),
00048 GetBlobError(const Image *) magick_attribute((__pure__)),
00049 ImageToFile(Image *,char *,ExceptionInfo *),
00050 InjectImageBlob(const ImageInfo *,Image *,Image *,const char *,
00051 ExceptionInfo *),
00052 IsBlobExempt(const Image *) magick_attribute((__pure__)),
00053 IsBlobSeekable(const Image *) magick_attribute((__pure__)),
00054 IsBlobTemporary(const Image *) magick_attribute((__pure__));
00055
00056 extern MagickExport MagickSizeType
00057 GetBlobSize(const Image *);
00058
00059 extern MagickExport StreamHandler
00060 GetBlobStreamHandler(const Image *) magick_attribute((__pure__));
00061
00062 extern MagickExport unsigned char
00063 *FileToBlob(const char *,const size_t,size_t *,ExceptionInfo *),
00064 *GetBlobStreamData(const Image *) magick_attribute((__pure__)),
00065 *ImageToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *),
00066 *ImagesToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *);
00067
00068 extern MagickExport void
00069 DestroyBlob(Image *),
00070 DuplicateBlob(Image *,const Image *),
00071 SetBlobExempt(Image *,const MagickBooleanType);
00072
00073 #if defined(__cplusplus) || defined(c_plusplus)
00074 }
00075 #endif
00076
00077 #endif