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

Generated on Sat Jan 26 14:50:29 2008 for MagickCore by  doxygen 1.5.4