MagickCore 7.1.1
Convert, Edit, Or Compose Bitmap Images
Loading...
Searching...
No Matches
blob-private.h
1/*
2 Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization
3 dedicated to making software imaging solutions freely available.
4
5 You may not use this file except in compliance with the License. You may
6 obtain a copy of the License at
7
8 https://imagemagick.org/script/license.php
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 MagickCore Binary Large OBjects private methods.
17*/
18#ifndef MAGICKCORE_BLOB_PRIVATE_H
19#define MAGICKCORE_BLOB_PRIVATE_H
20
21#include "MagickCore/image.h"
22#include "MagickCore/stream.h"
23#include "MagickCore/nt-base-private.h"
24
25#if defined(__cplusplus) || defined(c_plusplus)
26extern "C" {
27#endif
28
29#define MagickMinBlobExtent 32767L
30#if defined(MAGICKCORE_HAVE_FSEEKO)
31# define fseek fseeko
32# define ftell ftello
33#endif
34
35typedef enum
36{
37 UndefinedBlobMode,
38 ReadBlobMode,
39 ReadBinaryBlobMode,
40 WriteBlobMode,
41 WriteBinaryBlobMode,
42 AppendBlobMode,
43 AppendBinaryBlobMode
44} BlobMode;
45
46typedef enum
47{
48 UndefinedStream,
49 FileStream,
50 StandardStream,
51 PipeStream,
52 ZipStream,
53 BZipStream,
54 FifoStream,
55 BlobStream,
56 CustomStream
57} StreamType;
58
59extern MagickExport BlobInfo
60 *CloneBlobInfo(const BlobInfo *),
61 *ReferenceBlob(BlobInfo *);
62
63extern MagickExport char
64 *ReadBlobString(Image *,char *);
65
66extern MagickExport const struct stat
67 *GetBlobProperties(const Image *);
68
69extern MagickExport const void
70 *ReadBlobStream(Image *,const size_t,void *magick_restrict ,ssize_t *)
71 magick_hot_spot;
72
73extern MagickExport double
74 ReadBlobDouble(Image *);
75
76extern MagickExport float
77 ReadBlobFloat(Image *);
78
79extern MagickExport int
80 EOFBlob(const Image *),
81 ErrorBlob(const Image *),
82 ReadBlobByte(Image *);
83
84extern MagickExport MagickBooleanType
85 CloseBlob(Image *),
86 DiscardBlobBytes(Image *,const MagickSizeType),
87 OpenBlob(const ImageInfo *,Image *,const BlobMode,ExceptionInfo *),
88 SetBlobExtent(Image *,const MagickSizeType),
89 UnmapBlob(void *,const size_t);
90
91extern MagickExport MagickOffsetType
92 SeekBlob(Image *,const MagickOffsetType,const int),
93 TellBlob(const Image *);
94
95extern MagickExport MagickSizeType
96 ReadBlobLongLong(Image *),
97 ReadBlobMSBLongLong(Image *);
98
99extern MagickExport signed int
100 ReadBlobLSBSignedLong(Image *),
101 ReadBlobMSBSignedLong(Image *),
102 ReadBlobSignedLong(Image *);
103
104extern MagickExport signed short
105 ReadBlobLSBSignedShort(Image *),
106 ReadBlobMSBSignedShort(Image *),
107 ReadBlobSignedShort(Image *);
108
109extern MagickExport ssize_t
110 ReadBlob(Image *,const size_t,void *),
111 WriteBlob(Image *,const size_t,const void *),
112 WriteBlobByte(Image *,const unsigned char),
113 WriteBlobFloat(Image *,const float),
114 WriteBlobLong(Image *,const unsigned int),
115 WriteBlobLongLong(Image *,const MagickSizeType),
116 WriteBlobShort(Image *,const unsigned short),
117 WriteBlobSignedLong(Image *,const signed int),
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 WriteBlobMSBShort(Image *,const unsigned short),
124 WriteBlobMSBSignedShort(Image *,const signed short),
125 WriteBlobString(Image *,const char *);
126
127extern MagickExport unsigned int
128 ReadBlobLong(Image *),
129 ReadBlobLSBLong(Image *),
130 ReadBlobMSBLong(Image *);
131
132extern MagickExport unsigned short
133 ReadBlobShort(Image *),
134 ReadBlobLSBShort(Image *),
135 ReadBlobMSBShort(Image *);
136
137extern MagickExport void
138 AttachBlob(BlobInfo *,const void *,const size_t),
139 AttachCustomStream(BlobInfo *,CustomStreamInfo *),
140 *DetachBlob(BlobInfo *),
141 DisassociateBlob(Image *),
142 GetBlobInfo(BlobInfo *),
143 *MapBlob(int,const MapMode,const MagickOffsetType,const size_t),
144 MSBOrderLong(unsigned char *,const size_t),
145 MSBOrderShort(unsigned char *,const size_t);
146
147#if defined(__cplusplus) || defined(c_plusplus)
148}
149#endif
150
151#endif