blob-private.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2010 ImageMagick Studio LLC, a non-profit organization
00003   dedicated to making software imaging solutions freely available.
00004   
00005   You may not use this file except in compliance with the License.
00006   obtain a copy of the License at
00007   
00008     http://www.imagemagick.org/script/license.php
00009   
00010   Unless required by applicable law or agreed to in writing, software
00011   distributed under the License is distributed on an "AS IS" BASIS,
00012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013   See the License for the specific language governing permissions and
00014   limitations under the License.
00015 
00016   MagickCore Binary Large OBjects private methods.
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 #define MagickMinBlobExtent  32767L
00029 
00030 typedef enum
00031 {
00032   UndefinedBlobMode,
00033   ReadBlobMode,
00034   ReadBinaryBlobMode,
00035   WriteBlobMode,
00036   WriteBinaryBlobMode,
00037   AppendBlobMode,
00038   AppendBinaryBlobMode
00039 } BlobMode;
00040 
00041 typedef enum
00042 {
00043   UndefinedStream,
00044   FileStream,
00045   StandardStream,
00046   PipeStream,
00047   ZipStream,
00048   BZipStream,
00049   FifoStream,
00050   BlobStream
00051 } StreamType;
00052 
00053 typedef int
00054   *(*BlobFifo)(const Image *,const void *,const size_t);
00055 
00056 extern MagickExport BlobInfo
00057   *CloneBlobInfo(const BlobInfo *),
00058   *ReferenceBlob(BlobInfo *);
00059 
00060 extern MagickExport char
00061   *ReadBlobString(Image *,char *);
00062 
00063 extern MagickExport const struct stat
00064   *GetBlobProperties(const Image *);
00065 
00066 extern MagickExport double
00067   ReadBlobDouble(Image *);
00068 
00069 extern MagickExport float
00070   ReadBlobFloat(Image *);
00071 
00072 extern MagickExport int
00073   EOFBlob(const Image *),
00074   ReadBlobByte(Image *);
00075 
00076 extern MagickExport  MagickBooleanType
00077   CloseBlob(Image *),
00078   OpenBlob(const ImageInfo *,Image *,const BlobMode,ExceptionInfo *),
00079   SetBlobExtent(Image *,const MagickSizeType),
00080   UnmapBlob(void *,const size_t);
00081 
00082 extern MagickExport MagickOffsetType
00083   SeekBlob(Image *,const MagickOffsetType,const int),
00084   TellBlob(const Image *);
00085 
00086 extern MagickExport MagickSizeType
00087   ReadBlobLongLong(Image *);
00088 
00089 extern MagickExport ssize_t
00090   ReadBlob(Image *,const size_t,unsigned char *),
00091   WriteBlob(Image *,const size_t,const unsigned char *),
00092   WriteBlobByte(Image *,const unsigned char),
00093   WriteBlobFloat(Image *,const float),
00094   WriteBlobLong(Image *,const unsigned int),
00095   WriteBlobShort(Image *,const unsigned short),
00096   WriteBlobLSBLong(Image *,const unsigned int),
00097   WriteBlobLSBShort(Image *,const unsigned short),
00098   WriteBlobMSBLong(Image *,const unsigned int),
00099   WriteBlobMSBShort(Image *,const unsigned short),
00100   WriteBlobString(Image *,const char *);
00101 
00102 extern MagickExport unsigned char
00103   *DetachBlob(BlobInfo *),
00104   *MapBlob(int,const MapMode,const MagickOffsetType,const size_t);
00105 
00106 extern MagickExport unsigned int
00107   ReadBlobLong(Image *),
00108   ReadBlobLSBLong(Image *),
00109   ReadBlobMSBLong(Image *);
00110 
00111 extern MagickExport unsigned short
00112   ReadBlobShort(Image *),
00113   ReadBlobLSBShort(Image *),
00114   ReadBlobMSBShort(Image *);
00115 
00116 extern MagickExport void
00117   AttachBlob(BlobInfo *,const void *,const size_t),
00118   GetBlobInfo(BlobInfo *),
00119   MSBOrderLong(unsigned char *,const size_t),
00120   MSBOrderShort(unsigned char *,const size_t);
00121 
00122 #if defined(__cplusplus) || defined(c_plusplus)
00123 }
00124 #endif
00125 
00126 #endif

Generated on Thu Jul 2 12:03:13 2009 for MagickCore by  doxygen 1.5.8