1 module dmagick.c.blob;
2 
3 import core.stdc.stdio;
4 
5 import dmagick.c.exception;
6 import dmagick.c.image;
7 import dmagick.c.magickType;
8 import dmagick.c.stream;
9 
10 extern(C)
11 {
12 	enum MapMode
13 	{
14 		ReadMode,
15 		WriteMode,
16 		IOMode
17 	}
18 
19 	FILE* GetBlobFileHandle(const(Image)*);
20 
21 	Image* BlobToImage(const(ImageInfo)*, const(void)*, const size_t, ExceptionInfo*);
22 	Image* PingBlob(const(ImageInfo)*, const(void)*, const size_t, ExceptionInfo*);
23 
24 	MagickBooleanType BlobToFile(char*, const(void)*, const size_t, ExceptionInfo*);
25 	MagickBooleanType FileToImage(Image*, const(char)*);
26 	MagickBooleanType GetBlobError(const(Image)*);
27 	MagickBooleanType ImageToFile(Image*, char*, ExceptionInfo*);
28 	MagickBooleanType InjectImageBlob(const(ImageInfo)*, Image*, Image*, const(char)*, ExceptionInfo*);
29 	MagickBooleanType IsBlobExempt(const(Image)*);
30 	MagickBooleanType IsBlobSeekable(const(Image)*);
31 	MagickBooleanType IsBlobTemporary(const(Image)*);
32 
33 	MagickSizeType GetBlobSize(const(Image)*);
34 
35 	StreamHandler GetBlobStreamHandler(const(Image)*);
36 
37 	ubyte* FileToBlob(const(char)*, const size_t, size_t*, ExceptionInfo*);
38 	ubyte* GetBlobStreamData(const(Image)*);
39 	ubyte* ImageToBlob(const(ImageInfo)*, Image*, size_t*, ExceptionInfo*);
40 	ubyte* ImagesToBlob(const(ImageInfo)*, Image*, size_t*, ExceptionInfo*);
41 
42 	void DestroyBlob(Image*);
43 	void DuplicateBlob(Image*, const(Image)*);
44 	void SetBlobExempt(Image*, const MagickBooleanType);
45 }