blob.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2020 ImageMagick Studio LLC, a non-profit organization
00003   dedicated to making software imaging solutions freely available.
00004   
00005   You may not use this file except in compliance with the License.  You may
00006   obtain a copy of the License at
00007   
00008     https://imagemagick.org/script/license.php
00009   
00010   Unless required by applicable law or agreed to in writing, software
00011   distributed under the License is distributed on an "AS IS" BASIS,
00012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013   See the License for the specific language governing permissions and
00014   limitations under the License.
00015 
00016   MagickCore Binary Large OBjects methods.
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 #define MagickMinBufferExtent  16384
00030 
00031 typedef enum
00032 {
00033   ReadMode,
00034   WriteMode,
00035   IOMode,
00036   PersistMode
00037 } MapMode;
00038 
00039 extern MagickExport FILE
00040   *GetBlobFileHandle(const Image *) magick_attribute((__pure__));
00041 
00042 extern MagickExport Image
00043   *BlobToImage(const ImageInfo *,const void *,const size_t,ExceptionInfo *),
00044   *PingBlob(const ImageInfo *,const void *,const size_t,ExceptionInfo *);
00045 
00046 extern MagickExport MagickBooleanType
00047   BlobToFile(char *,const void *,const size_t,ExceptionInfo *),
00048   FileToImage(Image *,const char *),
00049   GetBlobError(const Image *) magick_attribute((__pure__)),
00050   ImageToFile(Image *,char *,ExceptionInfo *),
00051   InjectImageBlob(const ImageInfo *,Image *,Image *,const char *,
00052     ExceptionInfo *),
00053   IsBlobExempt(const Image *) magick_attribute((__pure__)),
00054   IsBlobSeekable(const Image *) magick_attribute((__pure__)),
00055   IsBlobTemporary(const Image *) magick_attribute((__pure__));
00056 
00057 extern MagickExport MagickSizeType
00058   GetBlobSize(const Image *);
00059 
00060 extern MagickExport StreamHandler
00061   GetBlobStreamHandler(const Image *) magick_attribute((__pure__));
00062 
00063 extern MagickExport unsigned char
00064   *FileToBlob(const char *,const size_t,size_t *,ExceptionInfo *),
00065   *GetBlobStreamData(const Image *) magick_attribute((__pure__)),
00066   *ImageToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *),
00067   *ImagesToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *);
00068 
00069 extern MagickExport void
00070   DestroyBlob(Image *),
00071   DuplicateBlob(Image *,const Image *),
00072   SetBlobExempt(Image *,const MagickBooleanType);
00073 
00074 #if defined(__cplusplus) || defined(c_plusplus)
00075 }
00076 #endif
00077 
00078 #endif

Generated on 2 Dec 2019 for MagickCore by  doxygen 1.6.1