18#ifndef MAGICKCORE_BLOB_PRIVATE_H
19#define MAGICKCORE_BLOB_PRIVATE_H
21#include "MagickCore/image.h"
22#include "MagickCore/stream.h"
24#if defined(__cplusplus) || defined(c_plusplus)
28#define MagickMinBlobExtent 32767L
29#if defined(MAGICKCORE_HAVE_FSEEKO)
33#if defined(MAGICKCORE_WINDOWS_SUPPORT)
34#if !defined(__MINGW32__)
63extern MagickExport BlobInfo
64 *CloneBlobInfo(
const BlobInfo *),
65 *ReferenceBlob(BlobInfo *);
67extern MagickExport
char
68 *ReadBlobString(Image *,
char *);
70extern MagickExport
const struct stat
71 *GetBlobProperties(
const Image *);
73extern MagickExport
const void
74 *ReadBlobStream(Image *,
const size_t,
void *magick_restrict ,ssize_t *)
77extern MagickExport
double
78 ReadBlobDouble(Image *);
80extern MagickExport
float
81 ReadBlobFloat(Image *);
83extern MagickExport
int
84 EOFBlob(
const Image *),
85 ErrorBlob(
const Image *),
86 ReadBlobByte(Image *);
88extern MagickExport MagickBooleanType
90 DiscardBlobBytes(Image *,
const MagickSizeType),
91 OpenBlob(
const ImageInfo *,Image *,
const BlobMode,ExceptionInfo *),
92 SetBlobExtent(Image *,
const MagickSizeType),
93 UnmapBlob(
void *,
const size_t);
95extern MagickExport MagickOffsetType
96 SeekBlob(Image *,
const MagickOffsetType,
const int),
97 TellBlob(
const Image *);
99extern MagickExport MagickSizeType
100 ReadBlobLongLong(Image *),
101 ReadBlobMSBLongLong(Image *);
103extern MagickExport
signed int
104 ReadBlobLSBSignedLong(Image *),
105 ReadBlobMSBSignedLong(Image *),
106 ReadBlobSignedLong(Image *);
108extern MagickExport
signed short
109 ReadBlobLSBSignedShort(Image *),
110 ReadBlobMSBSignedShort(Image *),
111 ReadBlobSignedShort(Image *);
113extern MagickExport ssize_t
114 ReadBlob(Image *,
const size_t,
void *),
115 WriteBlob(Image *,
const size_t,
const void *),
116 WriteBlobByte(Image *,
const unsigned char),
117 WriteBlobFloat(Image *,
const float),
118 WriteBlobLong(Image *,
const unsigned int),
119 WriteBlobLongLong(Image *,
const MagickSizeType),
120 WriteBlobShort(Image *,
const unsigned short),
121 WriteBlobSignedLong(Image *,
const signed int),
122 WriteBlobLSBLong(Image *,
const unsigned int),
123 WriteBlobLSBShort(Image *,
const unsigned short),
124 WriteBlobLSBSignedLong(Image *,
const signed int),
125 WriteBlobLSBSignedShort(Image *,
const signed short),
126 WriteBlobMSBLong(Image *,
const unsigned int),
127 WriteBlobMSBShort(Image *,
const unsigned short),
128 WriteBlobMSBSignedShort(Image *,
const signed short),
129 WriteBlobString(Image *,
const char *);
131extern MagickExport
unsigned int
132 ReadBlobLong(Image *),
133 ReadBlobLSBLong(Image *),
134 ReadBlobMSBLong(Image *);
136extern MagickExport
unsigned short
137 ReadBlobShort(Image *),
138 ReadBlobLSBShort(Image *),
139 ReadBlobMSBShort(Image *);
141extern MagickExport
void
142 AttachBlob(BlobInfo *,
const void *,
const size_t),
143 AttachCustomStream(BlobInfo *,CustomStreamInfo *),
144 *DetachBlob(BlobInfo *),
145 DisassociateBlob(Image *),
146 GetBlobInfo(BlobInfo *),
147 *MapBlob(
int,
const MapMode,
const MagickOffsetType,
const size_t),
148 MSBOrderLong(
unsigned char *,
const size_t),
149 MSBOrderShort(
unsigned char *,
const size_t);
151#if defined(__cplusplus) || defined(c_plusplus)