Line 0
Link Here
|
|
|
1 |
/* |
2 |
Copyright 1999-2004 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. |
6 |
obtain a copy of the License at |
7 |
|
8 |
http://www.imagemagick.org/www/Copyright.html |
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 |
ImageMagick Binary Large OBjects private methods. |
17 |
*/ |
18 |
#ifndef _MAGICK_BLOB_PRIVATE_H |
19 |
#define _MAGICK_BLOB_PRIVATE_H |
20 |
|
21 |
#if defined(__cplusplus) || defined(c_plusplus) |
22 |
extern "C" { |
23 |
#endif |
24 |
|
25 |
#include "magick/image.h" |
26 |
#include "magick/stream.h" |
27 |
|
28 |
#if !defined(MagickMaxBufferSize) |
29 |
#define MagickMaxBufferSize 0x3c005UL |
30 |
#endif |
31 |
|
32 |
typedef enum |
33 |
{ |
34 |
UndefinedBlobMode, |
35 |
ReadBlobMode, |
36 |
ReadBinaryBlobMode, |
37 |
WriteBlobMode, |
38 |
WriteBinaryBlobMode, |
39 |
IOBinaryBlobMode |
40 |
} BlobMode; |
41 |
|
42 |
typedef int |
43 |
*(*BlobFifo)(const Image *,const void *,const size_t); |
44 |
|
45 |
typedef struct _BlobInfo |
46 |
BlobInfo; |
47 |
|
48 |
extern MagickExport BlobInfo |
49 |
*CloneBlobInfo(const BlobInfo *), |
50 |
*ReferenceBlob(BlobInfo *); |
51 |
|
52 |
extern MagickExport char |
53 |
*ReadBlobString(Image *,char *); |
54 |
|
55 |
extern MagickExport int |
56 |
EOFBlob(const Image *), |
57 |
ReadBlobByte(Image *), |
58 |
SyncBlob(Image *); |
59 |
|
60 |
extern MagickExport MagickBooleanType |
61 |
OpenBlob(const ImageInfo *,Image *,const BlobMode,ExceptionInfo *), |
62 |
UnmapBlob(void *,const size_t); |
63 |
|
64 |
extern MagickExport MagickOffsetType |
65 |
SeekBlob(Image *,const MagickOffsetType,const int), |
66 |
TellBlob(const Image *image); |
67 |
|
68 |
extern MagickExport ssize_t |
69 |
ReadBlob(Image *,const size_t,unsigned char *), |
70 |
WriteBlob(Image *,const size_t,const unsigned char *), |
71 |
WriteBlobByte(Image *,const unsigned char), |
72 |
WriteBlobLSBLong(Image *,const unsigned long), |
73 |
WriteBlobLSBShort(Image *,const unsigned short), |
74 |
WriteBlobMSBLong(Image *,const unsigned long), |
75 |
WriteBlobMSBShort(Image *,const unsigned short), |
76 |
WriteBlobString(Image *,const char *); |
77 |
|
78 |
extern MagickExport unsigned char |
79 |
*DetachBlob(BlobInfo *), |
80 |
*ImageToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *), |
81 |
*MapBlob(int,const MapMode,const MagickOffsetType,const size_t); |
82 |
|
83 |
extern MagickExport unsigned long |
84 |
ReadBlobLSBLong(Image *), |
85 |
ReadBlobMSBLong(Image *); |
86 |
|
87 |
extern MagickExport unsigned short |
88 |
ReadBlobLSBShort(Image *), |
89 |
ReadBlobMSBShort(Image *); |
90 |
|
91 |
extern MagickExport void |
92 |
AttachBlob(BlobInfo *,const void *,const size_t), |
93 |
CloseBlob(Image *), |
94 |
GetBlobInfo(BlobInfo *), |
95 |
MSBOrderLong(unsigned char *,const size_t), |
96 |
MSBOrderShort(unsigned char *,const size_t); |
97 |
|
98 |
#if defined(__cplusplus) || defined(c_plusplus) |
99 |
} |
100 |
#endif |
101 |
|
102 |
#endif |