You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
3.3 KiB
101 lines
3.3 KiB
/*
|
|
Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
|
|
dedicated to making software imaging solutions freely available.
|
|
|
|
You may not use this file except in compliance with the License. You may
|
|
obtain a copy of the License at
|
|
|
|
https://imagemagick.org/script/license.php
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
|
|
MagickCore Binary Large OBjects methods.
|
|
*/
|
|
#ifndef MAGICKCORE_BLOB_H
|
|
#define MAGICKCORE_BLOB_H
|
|
|
|
#if defined(__cplusplus) || defined(c_plusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define MagickMaxBufferExtent 81920
|
|
#define MagickMinBufferExtent 16384
|
|
|
|
typedef enum
|
|
{
|
|
ReadMode,
|
|
WriteMode,
|
|
IOMode,
|
|
PersistMode
|
|
} MapMode;
|
|
|
|
typedef ssize_t
|
|
(*CustomStreamHandler)(unsigned char *,const size_t,void *);
|
|
|
|
typedef MagickOffsetType
|
|
(*CustomStreamSeeker)(const MagickOffsetType,const int,void *);
|
|
|
|
typedef MagickOffsetType
|
|
(*CustomStreamTeller)(void *);
|
|
|
|
typedef struct _CustomStreamInfo
|
|
CustomStreamInfo;
|
|
|
|
#include "MagickCore/image.h"
|
|
#include "MagickCore/stream.h"
|
|
|
|
extern MagickExport CustomStreamInfo
|
|
*AcquireCustomStreamInfo(ExceptionInfo *),
|
|
*DestroyCustomStreamInfo(CustomStreamInfo *);
|
|
|
|
extern MagickExport FILE
|
|
*GetBlobFileHandle(const Image *) magick_attribute((__pure__));
|
|
|
|
extern MagickExport Image
|
|
*BlobToImage(const ImageInfo *,const void *,const size_t,ExceptionInfo *),
|
|
*PingBlob(const ImageInfo *,const void *,const size_t,ExceptionInfo *),
|
|
*CustomStreamToImage(const ImageInfo *,ExceptionInfo *);
|
|
|
|
extern MagickExport MagickBooleanType
|
|
BlobToFile(char *,const void *,const size_t,ExceptionInfo *),
|
|
FileToImage(Image *,const char *,ExceptionInfo *),
|
|
GetBlobError(const Image *) magick_attribute((__pure__)),
|
|
ImageToFile(Image *,char *,ExceptionInfo *),
|
|
InjectImageBlob(const ImageInfo *,Image *,Image *,const char *,
|
|
ExceptionInfo *),
|
|
IsBlobExempt(const Image *) magick_attribute((__pure__)),
|
|
IsBlobSeekable(const Image *) magick_attribute((__pure__)),
|
|
IsBlobTemporary(const Image *) magick_attribute((__pure__));
|
|
|
|
extern MagickExport MagickSizeType
|
|
GetBlobSize(const Image *);
|
|
|
|
extern MagickExport StreamHandler
|
|
GetBlobStreamHandler(const Image *) magick_attribute((__pure__));
|
|
|
|
extern MagickExport void
|
|
*GetBlobStreamData(const Image *) magick_attribute((__pure__)),
|
|
DestroyBlob(Image *),
|
|
DuplicateBlob(Image *,const Image *),
|
|
*FileToBlob(const char *,const size_t,size_t *,ExceptionInfo *),
|
|
*ImageToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *),
|
|
ImageToCustomStream(const ImageInfo *,Image *,ExceptionInfo *),
|
|
*ImagesToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *),
|
|
ImagesToCustomStream(const ImageInfo *,Image *,ExceptionInfo *),
|
|
SetBlobExempt(Image *,const MagickBooleanType),
|
|
SetCustomStreamData(CustomStreamInfo *,void *),
|
|
SetCustomStreamReader(CustomStreamInfo *,CustomStreamHandler),
|
|
SetCustomStreamSeeker(CustomStreamInfo *,CustomStreamSeeker),
|
|
SetCustomStreamTeller(CustomStreamInfo *,CustomStreamTeller),
|
|
SetCustomStreamWriter(CustomStreamInfo *,CustomStreamHandler);
|
|
|
|
#if defined(__cplusplus) || defined(c_plusplus)
|
|
}
|
|
#endif
|
|
|
|
#endif
|