Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Related Pages  

archive.h

Go to the documentation of this file.
00001 
00023 #ifndef _LIBCOMPREX_ARCHIVE_H_
00024 #define _LIBCOMPREX_ARCHIVE_H_
00025 
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029 
00030 typedef struct _CxArchive CxArchive;  
00032 #include <libcomprex/directory.h>
00033 #include <libcomprex/file.h>
00034 #include <libcomprex/fp.h>
00035 #include <libcomprex/module.h>
00036 #include <libcomprex/types.h>
00037 
00043 struct _CxArchive
00044 {
00045     CxModule      *module;      
00046     CxArchiveType  type;        
00047     CxAccessMode   accessMode;  
00049     CxArchive     *parent;      
00050     CxFP          *fp;          
00052     char *name;                 
00058     char  *path;
00059 
00064     char  *physPath;
00065 
00067     char isLocal;
00068 
00069     unsigned int fileSize;      
00070     unsigned int archiveSize;   
00072     CxDirectory *root;          
00074     void *moduleData;           
00076     unsigned int refCount;      
00077 };
00078 
00079 
00080 /**************************************************************************/
00082 /**************************************************************************/
00092 CxArchive *cxNewArchive(void);
00093 
00101 void cxDestroyArchive(CxArchive *archive);
00102 
00105 /**************************************************************************/
00107 /**************************************************************************/
00120 void cxSetArchiveModule(CxArchive *archive, CxModule *module);
00121 
00130 void cxSetArchiveType(CxArchive *archive, CxArchiveType type);
00131 
00140 void cxSetArchiveAccessMode(CxArchive *archive, CxAccessMode mode);
00141 
00150 void cxSetArchiveFileName(CxArchive *archive, const char *filename);
00151 
00165 void cxSetArchivePath(CxArchive *archive, const char *path);
00166 
00179 void cxSetArchivePhysicalPath(CxArchive *archive, const char *path);
00180 
00189 void cxSetArchiveFileSize(CxArchive *archive, unsigned int fileSize);
00190 
00199 void cxSetArchiveSize(CxArchive *archive, unsigned int archiveSize);
00200 
00212 void cxSetArchiveLocal(CxArchive *archive, char isLocal);
00213 
00217 /**************************************************************************/
00219 /**************************************************************************/
00231 CxModule *cxGetArchiveModule(CxArchive *archive);
00232 
00242 CxArchiveType cxGetArchiveType(CxArchive *archive);
00243 
00253 CxAccessMode cxGetArchiveAccessMode(CxArchive *archive);
00254 
00264 const char *cxGetArchiveFileName(CxArchive *archive);
00265 
00280 const char *cxGetArchivePath(CxArchive *archive);
00281 
00295 const char *cxGetArchivePhysicalPath(CxArchive *archive);
00296 
00306 unsigned int cxGetArchiveFileSize(CxArchive *archive);
00307 
00317 unsigned int cxGetArchiveSize(CxArchive *archive);
00318 
00331 char cxIsArchiveLocal(CxArchive *archive);
00332 
00340 CxDirectory *cxGetArchiveRoot(CxArchive *archive);
00341 
00344 #ifdef __cplusplus
00345 }
00346 #endif
00347 
00348 #endif /* _LIBCOMPREX_ARCHIVE_H_ */
00349 

Generated on Wed May 29 12:20:35 2002 for libcomprex by doxygen1.2.15-20020430