]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/blob.h
(no commit message)
[imagemagick] / MagickCore / blob.h
index 6590ab067770bcb4a0696a34b928311b53222aaa..03c06cdd2493cab89194df7c600769a6b39dc8c9 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization
+  Copyright 1999-2014 ImageMagick Studio LLC, a non-profit organization
   dedicated to making software imaging solutions freely available.
   
   You may not use this file except in compliance with the License.
 #ifndef _MAGICKCORE_BLOB_H
 #define _MAGICKCORE_BLOB_H
 
+#include "MagickCore/image.h"
+#include "MagickCore/stream.h"
+
 #if defined(__cplusplus) || defined(c_plusplus)
 extern "C" {
 #endif
 
-#include "MagickCore/image.h"
-#include "MagickCore/stream.h"
+#define MagickMaxBufferExtent  (32*8192-2)
 
-#define MagickMaxBufferExtent  (32*8192)
+typedef enum
+{
+  UndefinedBlobMode,
+  ReadBlobMode,
+  ReadBinaryBlobMode,
+  WriteBlobMode,
+  WriteBinaryBlobMode,
+  AppendBlobMode,
+  AppendBinaryBlobMode
+} BlobMode;
 
 typedef enum
 {
@@ -34,40 +45,91 @@ typedef enum
   IOMode
 } MapMode;
 
+typedef int
+  *(*BlobFifo)(const Image *,const void *,const size_t);
+
+extern MagickExport BlobInfo
+  *CloneBlobInfo(const BlobInfo *),
+  *ReferenceBlob(BlobInfo *);
+
+extern MagickExport char
+  *ReadBlobString(Image *,char *);
+
+extern MagickExport double
+  ReadBlobDouble(Image *);
+
 extern MagickExport FILE
   *GetBlobFileHandle(const Image *);
 
+extern MagickExport float
+  ReadBlobFloat(Image *);
+
 extern MagickExport Image
   *BlobToImage(const ImageInfo *,const void *,const size_t,ExceptionInfo *),
   *PingBlob(const ImageInfo *,const void *,const size_t,ExceptionInfo *);
 
+extern MagickExport int
+  EOFBlob(const Image *),
+  ReadBlobByte(Image *);
+
 extern MagickExport MagickBooleanType
   BlobToFile(char *,const void *,const size_t,ExceptionInfo *),
-  FileToImage(Image *,const char *),
-  GetBlobError(const Image *),
+  CloseBlob(Image *),
+  DiscardBlobBytes(Image *,const MagickSizeType),
+  FileToImage(Image *,const char *,ExceptionInfo *),
   ImageToFile(Image *,char *,ExceptionInfo *),
   InjectImageBlob(const ImageInfo *,Image *,Image *,const char *,
     ExceptionInfo *),
-  IsBlobExempt(const Image *),
-  IsBlobSeekable(const Image *),
-  IsBlobTemporary(const Image *);
+  OpenBlob(const ImageInfo *,Image *,const BlobMode,ExceptionInfo *),
+  UnmapBlob(void *,const size_t);
+
+extern MagickExport MagickOffsetType
+  SeekBlob(Image *,const MagickOffsetType,const int),
+  TellBlob(const Image *);
 
 extern MagickExport MagickSizeType
-  GetBlobSize(const Image *);
+  GetBlobSize(const Image *),
+  ReadBlobLongLong(Image *),
+  ReadBlobMSBLongLong(Image *);
 
-extern MagickExport StreamHandler
-  GetBlobStreamHandler(const Image *);
+extern MagickExport ssize_t
+  ReadBlob(Image *,const size_t,unsigned char *),
+  WriteBlob(Image *,const size_t,const unsigned char *),
+  WriteBlobByte(Image *,const unsigned char),
+  WriteBlobFloat(Image *,const float),
+  WriteBlobLong(Image *,const unsigned int),
+  WriteBlobShort(Image *,const unsigned short),
+  WriteBlobLSBLong(Image *,const unsigned int),
+  WriteBlobLSBShort(Image *,const unsigned short),
+  WriteBlobMSBLong(Image *,const unsigned int),
+  WriteBlobMSBLongLong(Image *,const MagickSizeType),
+  WriteBlobMSBShort(Image *,const unsigned short),
+  WriteBlobString(Image *,const char *);
 
 extern MagickExport unsigned char
+  *DetachBlob(BlobInfo *),
   *FileToBlob(const char *,const size_t,size_t *,ExceptionInfo *),
   *GetBlobStreamData(const Image *),
   *ImageToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *),
-  *ImagesToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *);
+  *ImagesToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *),
+  *MapBlob(int,const MapMode,const MagickOffsetType,const size_t);
+
+extern MagickExport unsigned int
+  ReadBlobLong(Image *),
+  ReadBlobLSBLong(Image *),
+  ReadBlobMSBLong(Image *);
+
+extern MagickExport unsigned short
+  ReadBlobShort(Image *),
+  ReadBlobLSBShort(Image *),
+  ReadBlobMSBShort(Image *);
 
 extern MagickExport void
+  AttachBlob(BlobInfo *,const void *,const size_t),
   DestroyBlob(Image *),
   DuplicateBlob(Image *,const Image *),
-  SetBlobExempt(Image *,const MagickBooleanType);
+  MSBOrderLong(unsigned char *,const size_t),
+  MSBOrderShort(unsigned char *,const size_t);
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }