00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef _MAGICKCORE_BLOB_PRIVATE_H
00019 #define _MAGICKCORE_BLOB_PRIVATE_H
00020 
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 #include "magick/image.h"
00026 #include "magick/stream.h"
00027 
00028 typedef enum
00029 {
00030   UndefinedBlobMode,
00031   ReadBlobMode,
00032   ReadBinaryBlobMode,
00033   WriteBlobMode,
00034   WriteBinaryBlobMode
00035 } BlobMode;
00036 
00037 typedef int
00038   *(*BlobFifo)(const Image *,const void *,const size_t);
00039 
00040 extern MagickExport BlobInfo
00041   *CloneBlobInfo(const BlobInfo *),
00042   *ReferenceBlob(BlobInfo *);
00043 
00044 extern MagickExport char
00045   *ReadBlobString(Image *,char *);
00046 
00047 extern MagickExport double
00048   ReadBlobDouble(Image *);
00049 
00050 extern MagickExport float
00051   ReadBlobFloat(Image *);
00052 
00053 extern MagickExport int
00054   EOFBlob(const Image *),
00055   ReadBlobByte(Image *);
00056 
00057 extern MagickExport  MagickBooleanType
00058   CloseBlob(Image *),
00059   OpenBlob(const ImageInfo *,Image *,const BlobMode,ExceptionInfo *),
00060   UnmapBlob(void *,const size_t);
00061 
00062 extern MagickExport MagickOffsetType
00063   SeekBlob(Image *,const MagickOffsetType,const int),
00064   TellBlob(const Image *);
00065 
00066 extern MagickExport MagickSizeType
00067   ReadBlobLongLong(Image *);
00068 
00069 extern MagickExport ssize_t
00070   ReadBlob(Image *,const size_t,unsigned char *),
00071   WriteBlob(Image *,const size_t,const unsigned char *),
00072   WriteBlobByte(Image *,const unsigned char),
00073   WriteBlobFloat(Image *,const float),
00074   WriteBlobLong(Image *,const unsigned long),
00075   WriteBlobShort(Image *,const unsigned short),
00076   WriteBlobLSBLong(Image *,const unsigned long),
00077   WriteBlobLSBShort(Image *,const unsigned short),
00078   WriteBlobMSBLong(Image *,const unsigned long),
00079   WriteBlobMSBShort(Image *,const unsigned short),
00080   WriteBlobString(Image *,const char *);
00081 
00082 extern MagickExport unsigned char
00083   *DetachBlob(BlobInfo *),
00084   *MapBlob(int,const MapMode,const MagickOffsetType,const size_t);
00085 
00086 extern MagickExport unsigned long
00087   ReadBlobLong(Image *),
00088   ReadBlobLSBLong(Image *),
00089   ReadBlobMSBLong(Image *);
00090 
00091 extern MagickExport unsigned short
00092   ReadBlobShort(Image *),
00093   ReadBlobLSBShort(Image *),
00094   ReadBlobMSBShort(Image *);
00095 
00096 extern MagickExport void
00097   AttachBlob(BlobInfo *,const void *,const size_t),
00098   GetBlobInfo(BlobInfo *),
00099   MSBOrderLong(unsigned char *,const size_t),
00100   MSBOrderShort(unsigned char *,const size_t);
00101 
00102 #if defined(__cplusplus) || defined(c_plusplus)
00103 }
00104 #endif
00105 
00106 #endif