MagickCore  6.9.12-43
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 {
44 } BlobMode;
45 
46 typedef enum
47 {
56 } StreamType;
57 
58 typedef int
59  *(*BlobFifo)(const Image *,const void *,const size_t);
60 
62  *CloneBlobInfo(const BlobInfo *),
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
76  ReadBlobDouble(Image *);
77 
78 extern MagickExport float
79  ReadBlobFloat(Image *);
80 
81 extern MagickExport int
82  EOFBlob(const Image *),
83  ErrorBlob(const Image *),
84  ReadBlobByte(Image *);
85 
87  CloseBlob(Image *),
88  DiscardBlobBytes(Image *,const MagickSizeType),
89  OpenBlob(const ImageInfo *,Image *,const BlobMode,ExceptionInfo *),
90  SetBlobExtent(Image *,const MagickSizeType),
91  UnmapBlob(void *,const size_t);
92 
94  SeekBlob(Image *,const MagickOffsetType,const int),
95  TellBlob(const Image *);
96 
97 extern MagickExport MagickSizeType
98  ReadBlobLongLong(Image *),
99  ReadBlobMSBLongLong(Image *);
100 
101 extern MagickExport signed int
102  ReadBlobLSBSignedLong(Image *),
103  ReadBlobMSBSignedLong(Image *),
104  ReadBlobSignedLong(Image *);
105 
106 extern MagickExport signed short
107  ReadBlobLSBSignedShort(Image *),
108  ReadBlobMSBSignedShort(Image *),
109  ReadBlobSignedShort(Image *);
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),
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 *);
128 
129 extern MagickExport unsigned char
130  *DetachBlob(BlobInfo *),
131  *MapBlob(int,const MapMode,const MagickOffsetType,const size_t);
132 
133 extern MagickExport unsigned int
134  ReadBlobLong(Image *),
135  ReadBlobLSBLong(Image *),
136  ReadBlobMSBLong(Image *);
137 
138 extern MagickExport unsigned short
139  ReadBlobShort(Image *),
140  ReadBlobLSBShort(Image *),
141  ReadBlobMSBShort(Image *);
142 
143 extern 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);
148 
149 extern MagickPrivate void
150  DisassociateBlob(Image *);
151 
152 #if defined(__cplusplus) || defined(c_plusplus)
153 }
154 #endif
155 
156 #endif
#define magick_restrict
Definition: MagickCore.h:41
MagickExport MagickBooleanType SetBlobExtent(Image *, const MagickSizeType)
Definition: blob-private.h:40
MagickExport ssize_t WriteBlobString(Image *, const char *)
Definition: blob.c:5613
MagickExport int ReadBlobByte(Image *)
Definition: blob.c:3334
Definition: blob-private.h:38
MagickExport float ReadBlobFloat(Image *)
Definition: blob.c:3442
Definition: blob-private.h:53
Definition: exception.h:102
MagickExport ssize_t WriteBlobMSBSignedShort(Image *, const signed short)
MagickExport int EOFBlob(const Image *)
Definition: blob-private.h:43
Definition: image.h:361
Definition: blob-private.h:54
MagickExport signed short ReadBlobLSBSignedShort(Image *)
MagickExport ssize_t WriteBlobLSBLong(Image *, const unsigned int)
Definition: blob.c:115
BlobMode
Definition: blob-private.h:35
MagickExport ssize_t ReadBlob(Image *, const size_t, unsigned char *)
MagickExport BlobInfo * CloneBlobInfo(const BlobInfo *)
MagickExport ssize_t WriteBlobMSBLongLong(Image *, const MagickSizeType)
ssize_t MagickOffsetType
Definition: magick-type.h:135
MagickExport unsigned int ReadBlobLong(Image *)
MagickExport void GetBlobInfo(BlobInfo *)
MagickExport ssize_t WriteBlobLSBShort(Image *, const unsigned short)
MagickExport void MSBOrderShort(unsigned char *, const size_t)
Definition: blob.c:2525
Definition: image.h:152
MagickExport ssize_t WriteBlobLSBSignedLong(Image *, const signed int)
Definition: blob-private.h:50
MagickExport unsigned char * MapBlob(int, const MapMode, const MagickOffsetType, const size_t)
Definition: blob.c:2386
Definition: blob-private.h:37
MagickExport unsigned int ReadBlobLSBLong(Image *)
MagickExport signed int ReadBlobLSBSignedLong(Image *)
MagickBooleanType
Definition: magick-type.h:198
MagickExport ssize_t WriteBlobByte(Image *, const unsigned char)
MagickExport ssize_t WriteBlobMSBShort(Image *, const unsigned short)
MagickExport void AttachBlob(BlobInfo *, const void *, const size_t)
MagickExport struct stat * GetBlobProperties(const Image *)
Definition: blob.c:1514
#define magick_hot_spot
Definition: method-attribute.h:122
MagickExport MagickBooleanType CloseBlob(Image *)
size_t MagickSizeType
Definition: magick-type.h:136
MagickExport ssize_t WriteBlobLong(Image *, const unsigned int)
MagickExport ssize_t WriteBlobShort(Image *, const unsigned short)
MagickExport ssize_t WriteBlobMSBSignedLong(Image *, const signed int)
MagickExport int ErrorBlob(const Image *)
MagickExport char * ReadBlobString(Image *, char *)
Definition: blob.c:4207
MagickExport MagickOffsetType SeekBlob(Image *, const MagickOffsetType, const int)
MagickExport MagickBooleanType OpenBlob(const ImageInfo *, Image *, const BlobMode, ExceptionInfo *)
Definition: blob-private.h:51
MagickExport signed int ReadBlobSignedLong(Image *)
Definition: blob.c:4061
MagickExport unsigned short ReadBlobShort(Image *)
MagickExport unsigned char * DetachBlob(BlobInfo *)
MagickExport signed int ReadBlobMSBSignedLong(Image *)
MagickExport unsigned int ReadBlobMSBLong(Image *)
Definition: blob.c:3833
MagickExport signed short ReadBlobSignedShort(Image *)
Definition: blob.c:4099
Definition: blob-private.h:52
Definition: blob-private.h:42
MagickExport void MSBOrderLong(unsigned char *, const size_t)
Definition: blob-private.h:55
Definition: blob-private.h:48
MagickExport signed short ReadBlobMSBSignedShort(Image *)
MagickPrivate void DisassociateBlob(Image *)
Definition: blob.c:785
MagickExport const void * ReadBlobStream(Image *, const size_t, void *magick_restrict, ssize_t *) magick_hot_spot
MapMode
Definition: blob.h:31
MagickExport MagickOffsetType TellBlob(const Image *)
Definition: blob.c:4673
Definition: blob-private.h:41
Definition: blob-private.h:39
MagickExport ssize_t WriteBlobMSBLong(Image *, const unsigned int)
MagickExport MagickBooleanType UnmapBlob(void *, const size_t)
Definition: blob.c:4746
MagickExport ssize_t WriteBlobFloat(Image *, const float)
MagickExport BlobInfo * ReferenceBlob(BlobInfo *)
Definition: blob.c:4261
MagickExport MagickSizeType ReadBlobLongLong(Image *)
#define MagickPrivate
Definition: method-attribute.h:81
#define MagickExport
Definition: method-attribute.h:80
MagickExport unsigned short ReadBlobMSBShort(Image *)
Definition: blob.c:3937
Definition: blob-private.h:49
StreamType
Definition: blob-private.h:46
MagickExport MagickBooleanType DiscardBlobBytes(Image *, const MagickSizeType)
MagickExport ssize_t WriteBlobLSBSignedShort(Image *, const signed short)
MagickExport double ReadBlobDouble(Image *)
Definition: blob.c:3403
MagickExport unsigned short ReadBlobLSBShort(Image *)
MagickExport MagickSizeType ReadBlobMSBLongLong(Image *)
Definition: blob.c:3883
MagickExport ssize_t WriteBlob(Image *, const size_t, const unsigned char *)