2
Copyright (C) 2003, 2004 GraphicsMagick Group
3
Copyright (C) 2002 ImageMagick Studio
4
Copyright 1991-1999 E. I. du Pont de Nemours and Company
6
This program is covered by multiple licenses, which are described in
7
Copyright.txt. You should have received a copy of Copyright.txt with this
8
package; otherwise see http://www.graphicsmagick.org/www/Copyright.html.
10
Image Compression/Decompression Methods.
12
#ifndef _MAGICK_BLOB_H
13
#define _MAGICK_BLOB_H
15
#if defined(__cplusplus) || defined(c_plusplus)
19
#include "magick/image.h"
24
#define MinBlobExtent 32768L
49
typedef struct _BlobInfo BlobInfo;
54
extern MagickExport BlobInfo
55
*CloneBlobInfo(const BlobInfo *blob_info),
56
*ReferenceBlob(BlobInfo *blob);
58
extern MagickExport char
59
*ReadBlobString(Image *image,char *string);
61
extern MagickExport magick_off_t
62
GetBlobSize(const Image *image),
63
SeekBlob(Image *image,const magick_off_t offset,const int whence),
64
TellBlob(const Image *image);
66
extern MagickExport Image
67
*BlobToImage(const ImageInfo *image_info,const void *blob,
68
const size_t length,ExceptionInfo *exception),
69
*PingBlob(const ImageInfo *image_info,const void *blob,
70
const size_t length,ExceptionInfo *exception);
72
extern MagickExport int
73
EOFBlob(const Image *image),
74
GetBlobStatus(const Image *image),
75
ReadBlobByte(Image *image),
76
SyncBlob(Image *image);
78
extern MagickExport size_t
79
ReadBlob(Image *image,const size_t length,void *data),
80
ReadBlobZC(Image *image,const size_t length,void **data),
81
WriteBlob(Image *image,const size_t length,const void *data),
82
WriteBlobByte(Image *image,const unsigned long value),
83
WriteBlobLSBLong(Image *image,const unsigned long value),
84
WriteBlobLSBShort(Image *image,const unsigned long value),
85
WriteBlobMSBLong(Image *image,const unsigned long value),
86
WriteBlobMSBShort(Image *image,const unsigned long value),
87
WriteBlobString(Image *image,const char *string);
89
extern MagickExport FILE
90
*GetBlobFileHandle(const Image *image);
92
extern MagickExport StreamHandler
93
GetBlobStreamHandler(const Image *image);
96
extern MagickExport StreamType
97
GetBlobStreamType(const Image *image);
100
extern MagickExport unsigned char
101
*GetBlobStreamData(const Image *image);
103
extern MagickExport unsigned int
104
BlobToFile(const char *filename,const void *blob,const size_t length,
105
ExceptionInfo *exception),
106
BlobIsSeekable(const Image *image),
107
ImageToFile(Image *image,const char *filename,ExceptionInfo *exception),
108
GetBlobClosable(const Image *image),
109
GetBlobTemporary(const Image *image),
110
OpenBlob(const ImageInfo *image_info,Image *image,const BlobMode mode,
111
ExceptionInfo *exception),
112
UnmapBlob(void *map,const size_t length);
114
extern MagickExport unsigned long
115
ReadBlobLSBLong(Image *image),
116
ReadBlobMSBLong(Image *image);
118
extern MagickExport unsigned short
119
ReadBlobLSBShort(Image *image),
120
ReadBlobMSBShort(Image *image);
122
extern MagickExport void
123
AttachBlob(BlobInfo *blob_info,const void *blob,const size_t length),
124
SetBlobClosable(Image *image, unsigned int closable),
125
SetBlobTemporary(Image *image, unsigned int isTemporary),
126
CloseBlob(Image *image),
127
DestroyBlob(Image *image),
128
DestroyBlobInfo(BlobInfo *blob),
129
DetachBlob(BlobInfo *blob),
130
*FileToBlob(const char *filename,size_t *length,ExceptionInfo *exception),
131
GetBlobInfo(BlobInfo *blob),
132
*GetConfigureBlob(const char *filename,char *path,size_t *length,
133
ExceptionInfo *exception),
134
*ImageToBlob(const ImageInfo *image_info,Image *image,size_t *length,
135
ExceptionInfo *exception),
136
*MapBlob(int file,const MapMode mode,magick_off_t offset,size_t length),
137
MSBOrderLong(unsigned char *buffer,const size_t length),
138
MSBOrderShort(unsigned char *p,const size_t length);
140
#if defined(__cplusplus) || defined(c_plusplus)