18#ifndef MAGICKCORE_BLOB_PRIVATE_H
19#define MAGICKCORE_BLOB_PRIVATE_H
21#include "magick/image.h"
22#include "magick/stream.h"
23#include "magick/nt-base-private.h"
25#if defined(__cplusplus) || defined(c_plusplus)
29#define MagickMinBlobExtent 32767L
30#if defined(MAGICKCORE_HAVE_FSEEKO)
59 *(*BlobFifo)(
const Image *,
const void *,
const size_t);
61extern MagickExport BlobInfo
62 *CloneBlobInfo(
const BlobInfo *),
63 *ReferenceBlob(BlobInfo *);
65extern MagickExport
char
66 *ReadBlobString(Image *,
char *);
68extern MagickExport
const struct stat
69 *GetBlobProperties(
const Image *);
71extern MagickExport
const void
72 *ReadBlobStream(Image *,
const size_t,
void *magick_restrict,ssize_t *)
75extern MagickExport
double
76 ReadBlobDouble(Image *);
78extern MagickExport
float
79 ReadBlobFloat(Image *);
81extern MagickExport
int
82 EOFBlob(
const Image *),
83 ErrorBlob(
const Image *),
84 ReadBlobByte(Image *);
86extern MagickExport MagickBooleanType
88 DiscardBlobBytes(Image *,
const MagickSizeType),
89 OpenBlob(
const ImageInfo *,Image *,
const BlobMode,ExceptionInfo *),
90 SetBlobExtent(Image *,
const MagickSizeType),
91 UnmapBlob(
void *,
const size_t);
93extern MagickExport MagickOffsetType
94 SeekBlob(Image *,
const MagickOffsetType,
const int),
95 TellBlob(
const Image *);
97extern MagickExport MagickSizeType
98 ReadBlobLongLong(Image *),
99 ReadBlobMSBLongLong(Image *);
101extern MagickExport
signed int
102 ReadBlobLSBSignedLong(Image *),
103 ReadBlobMSBSignedLong(Image *),
104 ReadBlobSignedLong(Image *);
106extern MagickExport
signed short
107 ReadBlobLSBSignedShort(Image *),
108 ReadBlobMSBSignedShort(Image *),
109 ReadBlobSignedShort(Image *);
111extern MagickExport ssize_t
112 ReadBlob(Image *,
const size_t,
unsigned char *),
113 WriteBlob(Image *,
const size_t,
const unsigned char *),
114 WriteBlobByte(Image *,
const unsigned char),
115 WriteBlobFloat(Image *,
const float),
116 WriteBlobLong(Image *,
const unsigned int),
117 WriteBlobShort(Image *,
const unsigned short),
118 WriteBlobLSBLong(Image *,
const unsigned int),
119 WriteBlobLSBShort(Image *,
const unsigned short),
120 WriteBlobLSBSignedLong(Image *,
const signed int),
121 WriteBlobLSBSignedShort(Image *,
const signed short),
122 WriteBlobMSBLong(Image *,
const unsigned int),
123 WriteBlobMSBLongLong(Image *,
const MagickSizeType),
124 WriteBlobMSBShort(Image *,
const unsigned short),
125 WriteBlobMSBSignedLong(Image *,
const signed int),
126 WriteBlobMSBSignedShort(Image *,
const signed short),
127 WriteBlobString(Image *,
const char *);
129extern MagickExport
unsigned char
130 *DetachBlob(BlobInfo *),
131 *MapBlob(
int,
const MapMode,
const MagickOffsetType,
const size_t);
133extern MagickExport
unsigned int
134 ReadBlobLong(Image *),
135 ReadBlobLSBLong(Image *),
136 ReadBlobMSBLong(Image *);
138extern MagickExport
unsigned short
139 ReadBlobShort(Image *),
140 ReadBlobLSBShort(Image *),
141 ReadBlobMSBShort(Image *);
143extern MagickExport
void
144 AttachBlob(BlobInfo *,
const void *,
const size_t),
145 GetBlobInfo(BlobInfo *),
146 MSBOrderLong(
unsigned char *,
const size_t),
147 MSBOrderShort(
unsigned char *,
const size_t);
149extern MagickPrivate
void
150 DisassociateBlob(Image *);
152#if defined(__cplusplus) || defined(c_plusplus)