WizardsToolkit  1.0.7
file.h
Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2011 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 file methods.
00017 */
00018 #ifndef _WIZARDSTOOLKIT_FILE_H_
00019 #define _WIZARDSTOOLKIT_FILE_H_
00020 
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 #include "wizard/exception.h"
00026 
00027 typedef enum
00028 {
00029   ReadFileMode,
00030   WriteFileMode,
00031 } FileMode;
00032 
00033 typedef struct _FileInfo
00034   FileInfo;
00035 
00036 extern WizardExport const char
00037   *GetFilePath(const FileInfo *);
00038 
00039 extern WizardExport const struct stat
00040   *GetFileProperties(const FileInfo *);
00041 
00042 extern WizardExport FileInfo
00043   *AcquireFileInfo(const char *,const char *,const FileMode mode,
00044     ExceptionInfo *),
00045   *DestroyFileInfo(FileInfo *,ExceptionInfo *);
00046 
00047 extern WizardExport int
00048   GetFileDescriptor(const FileInfo *),
00049   ReadFileByte(FileInfo *);
00050 
00051 extern WizardExport WizardBooleanType
00052   DestroyFile(FileInfo *,ExceptionInfo *),
00053   ReadFile16Bits(FileInfo *,unsigned short *),
00054   ReadFile32Bits(FileInfo *,size_t *),
00055   ReadFile64Bits(FileInfo *,WizardSizeType *),
00056   ReadFileChunk(FileInfo *,void *,const size_t),
00057   WriteFileChunk(FileInfo *,const void *,const size_t),
00058   WriteFile16Bits(FileInfo *,const unsigned short),
00059   WriteFile32Bits(FileInfo *,const size_t),
00060   WriteFile64Bits(FileInfo *,const WizardSizeType);
00061 
00062 #if defined(__cplusplus) || defined(c_plusplus)
00063 }
00064 #endif
00065 
00066 #endif