MagickCore  6.9.11-60
Convert, Edit, Or Compose Bitmap Images
blob-private.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2021 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 "magick/image.h"
22 #include "magick/stream.h"
23 #include "magick/nt-base-private.h"
24 
25 #if defined(__cplusplus) || defined(c_plusplus)
26 extern "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 
35 typedef enum
36 {
45 
46 typedef enum
47 {
57 
58 typedef int
59  *(*BlobFifo)(const Image *,const void *,const size_t);
60 
64 
65 extern MagickExport char
66  *ReadBlobString(Image *,char *);
67 
68 extern MagickExport const struct stat
69  *GetBlobProperties(const Image *);
70 
71 extern MagickExport const void
72  *ReadBlobStream(Image *,const size_t,void *magick_restrict,ssize_t *)
74 
75 extern MagickExport double
77 
78 extern MagickExport float
80 
81 extern MagickExport int
82  EOFBlob(const Image *),
83  ErrorBlob(const Image *),
85 
91  UnmapBlob(void *,const size_t);
92 
94  SeekBlob(Image *,const MagickOffsetType,const int),
95  TellBlob(const Image *);
96 
100 
101 extern MagickExport signed int
105 
106 extern MagickExport signed short
110 
111 extern 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),
124  WriteBlobMSBShort(Image *,const unsigned short),
125  WriteBlobMSBSignedLong(Image *,const signed int),
126  WriteBlobMSBSignedShort(Image *,const signed short),
127  WriteBlobString(Image *,const char *);
128 
129 extern MagickExport unsigned char
131  *MapBlob(int,const MapMode,const MagickOffsetType,const size_t);
132 
133 extern MagickExport unsigned int
137 
138 extern MagickExport unsigned short
142 
143 extern MagickExport void
144  AttachBlob(BlobInfo *,const void *,const size_t),
146  MSBOrderLong(unsigned char *,const size_t),
147  MSBOrderShort(unsigned char *,const size_t);
148 
149 extern MagickPrivate void
151 
152 #if defined(__cplusplus) || defined(c_plusplus)
153 }
154 #endif
155 
156 #endif
#define magick_restrict
Definition: MagickCore.h:41
MagickExport ssize_t WriteBlobLSBSignedLong(Image *, const signed int)
MagickExport ssize_t WriteBlobShort(Image *, const unsigned short)
MagickExport void AttachBlob(BlobInfo *, const void *, const size_t)
MagickExport ssize_t WriteBlobMSBShort(Image *, const unsigned short)
MagickExport ssize_t WriteBlobMSBSignedShort(Image *, const signed short)
MagickExport unsigned short ReadBlobMSBShort(Image *)
Definition: blob.c:3943
MagickExport signed short ReadBlobMSBSignedShort(Image *)
MagickExport ssize_t WriteBlobLSBShort(Image *, const unsigned short)
MagickExport void MSBOrderShort(unsigned char *, const size_t)
Definition: blob.c:2531
MagickExport float ReadBlobFloat(Image *)
Definition: blob.c:3448
MagickExport MagickSizeType ReadBlobLongLong(Image *)
MagickExport BlobInfo * ReferenceBlob(BlobInfo *)
Definition: blob.c:4267
MagickExport ssize_t WriteBlobLong(Image *, const unsigned int)
MagickExport unsigned int ReadBlobMSBLong(Image *)
Definition: blob.c:3839
MagickExport signed short ReadBlobSignedShort(Image *)
Definition: blob.c:4105
MagickExport MagickBooleanType SetBlobExtent(Image *, const MagickSizeType)
MagickExport unsigned char * MapBlob(int, const MapMode, const MagickOffsetType, const size_t)
Definition: blob.c:2392
MagickExport int EOFBlob(const Image *)
MagickExport MagickBooleanType UnmapBlob(void *, const size_t)
Definition: blob.c:4752
MagickExport ssize_t WriteBlob(Image *, const size_t, const unsigned char *)
MagickExport unsigned int ReadBlobLong(Image *)
MagickExport unsigned char * DetachBlob(BlobInfo *)
MagickExport MagickOffsetType SeekBlob(Image *, const MagickOffsetType, const int)
MagickExport void MSBOrderLong(unsigned char *, const size_t)
MagickExport signed int ReadBlobMSBSignedLong(Image *)
MagickExport ssize_t WriteBlobLSBLong(Image *, const unsigned int)
MagickExport const void * ReadBlobStream(Image *, const size_t, void *magick_restrict, ssize_t *) magick_hot_spot
MagickExport char * ReadBlobString(Image *, char *)
Definition: blob.c:4213
MagickExport MagickBooleanType DiscardBlobBytes(Image *, const MagickSizeType)
MagickExport ssize_t WriteBlobMSBLongLong(Image *, const MagickSizeType)
MagickExport signed int ReadBlobLSBSignedLong(Image *)
StreamType
Definition: blob-private.h:47
@ FifoStream
Definition: blob-private.h:54
@ FileStream
Definition: blob-private.h:49
@ BlobStream
Definition: blob-private.h:55
@ ZipStream
Definition: blob-private.h:52
@ BZipStream
Definition: blob-private.h:53
@ StandardStream
Definition: blob-private.h:50
@ UndefinedStream
Definition: blob-private.h:48
@ PipeStream
Definition: blob-private.h:51
MagickExport ssize_t WriteBlobFloat(Image *, const float)
MagickExport ssize_t WriteBlobLSBSignedShort(Image *, const signed short)
MagickExport const struct stat * GetBlobProperties(const Image *)
Definition: blob.c:1514
MagickExport MagickBooleanType CloseBlob(Image *)
MagickExport ssize_t ReadBlob(Image *, const size_t, unsigned char *)
MagickPrivate void DisassociateBlob(Image *)
Definition: blob.c:785
MagickExport signed short ReadBlobLSBSignedShort(Image *)
MagickExport MagickBooleanType OpenBlob(const ImageInfo *, Image *, const BlobMode, ExceptionInfo *)
BlobMode
Definition: blob-private.h:36
@ AppendBlobMode
Definition: blob-private.h:42
@ ReadBlobMode
Definition: blob-private.h:38
@ UndefinedBlobMode
Definition: blob-private.h:37
@ WriteBinaryBlobMode
Definition: blob-private.h:41
@ ReadBinaryBlobMode
Definition: blob-private.h:39
@ WriteBlobMode
Definition: blob-private.h:40
@ AppendBinaryBlobMode
Definition: blob-private.h:43
MagickExport MagickSizeType ReadBlobMSBLongLong(Image *)
Definition: blob.c:3889
MagickExport ssize_t WriteBlobMSBSignedLong(Image *, const signed int)
MagickExport int ReadBlobByte(Image *)
Definition: blob.c:3340
MagickExport MagickOffsetType TellBlob(const Image *)
Definition: blob.c:4679
MagickExport void GetBlobInfo(BlobInfo *)
MagickExport signed int ReadBlobSignedLong(Image *)
Definition: blob.c:4067
MagickExport ssize_t WriteBlobByte(Image *, const unsigned char)
MagickExport double ReadBlobDouble(Image *)
Definition: blob.c:3409
MagickExport ssize_t WriteBlobMSBLong(Image *, const unsigned int)
MagickExport unsigned short ReadBlobLSBShort(Image *)
MagickExport unsigned int ReadBlobLSBLong(Image *)
MagickExport unsigned short ReadBlobShort(Image *)
MagickExport ssize_t WriteBlobString(Image *, const char *)
Definition: blob.c:5619
MagickExport int ErrorBlob(const Image *)
MagickExport BlobInfo * CloneBlobInfo(const BlobInfo *)
MapMode
Definition: blob.h:32
ssize_t MagickOffsetType
Definition: magick-type.h:139
size_t MagickSizeType
Definition: magick-type.h:140
MagickBooleanType
Definition: magick-type.h:203
#define MagickPrivate
Definition: method-attribute.h:81
#define MagickExport
Definition: method-attribute.h:80
#define magick_hot_spot
Definition: method-attribute.h:122
Definition: blob.c:116
Definition: exception.h:103
Definition: image.h:362
Definition: image.h:153