00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _MAGICKCORE_BLOB_PRIVATE_H
00019 #define _MAGICKCORE_BLOB_PRIVATE_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 MagickMinBlobExtent 32767L
00029
00030 typedef enum
00031 {
00032 UndefinedBlobMode,
00033 ReadBlobMode,
00034 ReadBinaryBlobMode,
00035 WriteBlobMode,
00036 WriteBinaryBlobMode,
00037 AppendBlobMode,
00038 AppendBinaryBlobMode
00039 } BlobMode;
00040
00041 typedef enum
00042 {
00043 UndefinedStream,
00044 FileStream,
00045 StandardStream,
00046 PipeStream,
00047 ZipStream,
00048 BZipStream,
00049 FifoStream,
00050 BlobStream
00051 } StreamType;
00052
00053 typedef int
00054 *(*BlobFifo)(const Image *,const void *,const size_t);
00055
00056 extern MagickExport BlobInfo
00057 *CloneBlobInfo(const BlobInfo *),
00058 *ReferenceBlob(BlobInfo *);
00059
00060 extern MagickExport char
00061 *ReadBlobString(Image *,char *);
00062
00063 extern MagickExport const struct stat
00064 *GetBlobProperties(const Image *);
00065
00066 extern MagickExport double
00067 ReadBlobDouble(Image *);
00068
00069 extern MagickExport float
00070 ReadBlobFloat(Image *);
00071
00072 extern MagickExport int
00073 EOFBlob(const Image *),
00074 ReadBlobByte(Image *);
00075
00076 extern MagickExport MagickBooleanType
00077 CloseBlob(Image *),
00078 OpenBlob(const ImageInfo *,Image *,const BlobMode,ExceptionInfo *),
00079 SetBlobExtent(Image *,const MagickSizeType),
00080 UnmapBlob(void *,const size_t);
00081
00082 extern MagickExport MagickOffsetType
00083 SeekBlob(Image *,const MagickOffsetType,const int),
00084 TellBlob(const Image *);
00085
00086 extern MagickExport MagickSizeType
00087 ReadBlobLongLong(Image *);
00088
00089 extern MagickExport ssize_t
00090 ReadBlob(Image *,const size_t,unsigned char *),
00091 WriteBlob(Image *,const size_t,const unsigned char *),
00092 WriteBlobByte(Image *,const unsigned char),
00093 WriteBlobFloat(Image *,const float),
00094 WriteBlobLong(Image *,const unsigned int),
00095 WriteBlobShort(Image *,const unsigned short),
00096 WriteBlobLSBLong(Image *,const unsigned int),
00097 WriteBlobLSBShort(Image *,const unsigned short),
00098 WriteBlobMSBLong(Image *,const unsigned int),
00099 WriteBlobMSBShort(Image *,const unsigned short),
00100 WriteBlobString(Image *,const char *);
00101
00102 extern MagickExport unsigned char
00103 *DetachBlob(BlobInfo *),
00104 *MapBlob(int,const MapMode,const MagickOffsetType,const size_t);
00105
00106 extern MagickExport unsigned int
00107 ReadBlobLong(Image *),
00108 ReadBlobLSBLong(Image *),
00109 ReadBlobMSBLong(Image *);
00110
00111 extern MagickExport unsigned short
00112 ReadBlobShort(Image *),
00113 ReadBlobLSBShort(Image *),
00114 ReadBlobMSBShort(Image *);
00115
00116 extern MagickExport void
00117 AttachBlob(BlobInfo *,const void *,const size_t),
00118 GetBlobInfo(BlobInfo *),
00119 MSBOrderLong(unsigned char *,const size_t),
00120 MSBOrderShort(unsigned char *,const size_t);
00121
00122 #if defined(__cplusplus) || defined(c_plusplus)
00123 }
00124 #endif
00125
00126 #endif