# 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.wizards-toolkit.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   Wizard's Toolkit Binary Large OBjects Methods.
    00017 */
    00018 #ifndef _WIZARDSTOOLKIT_BLOB_PRIVATE_H
    00019 #define _WIZARDSTOOLKIT_BLOB_PRIVATE_H
    00020
    00021 #if defined(__cplusplus) || defined(c_plusplus)
    00022 extern "C" {
    00023 #endif
    00024
    00025 typedef enum
    00026 {
    00027   UndefinedBlobMode,
    00028   ReadBlobMode,
    00029   ReadBinaryBlobMode,
    00030   WriteBlobMode,
    00031   WriteBinaryBlobMode
    00032 } BlobMode;
    00033
    00034 typedef struct _BlobInfo
    00035   BlobInfo;
    00036
    00037 extern WizardExport BlobInfo
    00038   *DestroyBlob(BlobInfo *),
    00039   *OpenBlob(const char *,const BlobMode,ExceptionInfo *);
    00040
    00041 extern WizardExport const char
    00042   *GetBlobFilename(const BlobInfo *);
    00043
    00044 extern WizardExport const struct stat
    00045   *GetBlobProperties(const BlobInfo *);
    00046
    00047 extern WizardExport int
    00048   EOFBlob(BlobInfo *),
    00049   ReadBlobByte(BlobInfo *),
    00050   SyncBlob(BlobInfo *);
    00051
    00052 extern WizardExport ssize_t
    00053   ReadBlob(BlobInfo *,const size_t,unsigned char *),
    00054   ReadBlobChunk(BlobInfo *,const size_t,unsigned char *),
    00055   WriteBlob(BlobInfo *,const size_t,const unsigned char *),
    00056   WriteBlobByte(BlobInfo *,const unsigned char),
    00057   WriteBlobChunk(BlobInfo *,const size_t,const unsigned char *),
    00058   WriteBlobString(BlobInfo *,const char *);
    00059
    00060 extern WizardExport WizardBooleanType
    00061   CloseBlob(BlobInfo *);
    00062
    00063 extern WizardExport WizardOffsetType
    00064   TellBlob(const BlobInfo *);
    00065
    00066 extern WizardExport WizardSizeType
    00067   GetBlobSize(const BlobInfo *);
    00068
    00069 #if defined(__cplusplus) || defined(c_plusplus)
    00070 }
    00071 #endif
    00072
    00073 #endif