# blob-private.h

Go to the documentation of this file.

    00001 /*
    00002   Copyright 1999-2008 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 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