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 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 #include "magick/image.h"
00026 #include "magick/stream.h"
00027 
00028 #define MagickMaxBufferSize  262144
00029 
00030 typedef enum
00031 {
00032   ReadMode,
00033   WriteMode,
00034   IOMode
00035 } MapMode;
00036 
00037 extern MagickExport FILE
00038   *GetBlobFileHandle(const Image *);
00039 
00040 extern MagickExport Image
00041   *BlobToImage(const ImageInfo *,const void *,const size_t,ExceptionInfo *),
00042   *PingBlob(const ImageInfo *,const void *,const size_t,ExceptionInfo *);
00043 
00044 extern MagickExport  MagickBooleanType
00045   BlobToFile(char *,const void *,const size_t,ExceptionInfo *),
00046   FileToImage(Image *,const char *),
00047   GetBlobError(const Image *),
00048   ImageToFile(Image *,char *,ExceptionInfo *),
00049   InjectImageBlob(const ImageInfo *,Image *,const char *),
00050   IsBlobExempt(const Image *),
00051   IsBlobSeekable(const Image *),
00052   IsBlobTemporary(const Image *);
00053 
00054 extern MagickExport MagickSizeType
00055   GetBlobSize(const Image *);
00056 
00057 extern MagickExport StreamHandler
00058   GetBlobStreamHandler(const Image *);
00059 
00060 extern MagickExport unsigned char
00061   *FileToBlob(const char *,const size_t,size_t *,ExceptionInfo *),
00062   *GetBlobStreamData(const Image *),
00063   *ImageToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *),
00064   *ImagesToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *);
00065 
00066 extern MagickExport void
00067   DestroyBlob(Image *),
00068   SetBlobExempt(Image *,const MagickBooleanType);
00069 
00070 #if defined(__cplusplus) || defined(c_plusplus)
00071 }
00072 #endif
00073 
00074 #endif