Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals  

file.h

Go to the documentation of this file.
00001 
00023 #ifndef _LIBPACKMAN_FILE_H_
00024 #define _LIBPACKMAN_FILE_H_
00025 
00026 #include <sys/types.h>
00027 #include <time.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032 
00033 typedef struct _PmFile PmFile;   
00035 #include <libpackman/package.h>
00036 
00042 typedef enum _PmFileType
00043 {
00044     PM_FILETYPE_NORMAL,          
00045     PM_FILETYPE_CONFIG,          
00046     PM_FILETYPE_DOCUMENTATION,   
00047     PM_FILETYPE_DEVICE,          
00048     PM_FILETYPE_DIRECTORY,       
00049     PM_FILETYPE_UNKNOWN          
00051 } PmFileType;
00052 
00053 
00059 struct _PmFile
00060 {
00061     PmFileType type;             
00063     PmPackage *package;          
00065     char   *name;                
00066     char   *checksum;            
00067     mode_t  mode;                
00068     char   *owner;               
00069     char   *group;               
00070     char   *symlink;             
00072     unsigned short majorMinor;   
00075     unsigned int size;           
00077     time_t date;                 
00080     PmFile *prev;                
00081     PmFile *next;                
00082 };
00083 
00084 
00085 /**************************************************************************/
00087 /**************************************************************************/
00098 PmFile *pmNewFile(void);
00099 
00110 PmFile *pmDuplicateFile(PmFile *baseFile);
00111 
00120 void pmDestroyFile(PmFile *file);
00121 
00125 /**************************************************************************/
00127 /**************************************************************************/
00140 void pmSetFilePackage(PmFile *file, PmPackage *package);
00141 
00150 void pmSetFileName(PmFile *file, const char *name);
00151 
00160 void pmSetFileChecksum(PmFile *file, const char *checksum);
00161 
00170 void pmSetFileMode(PmFile *file, mode_t mode);
00171 
00180 void pmSetFileOwner(PmFile *file, const char *owner);
00181 
00190 void pmSetFileGroup(PmFile *file, const char *group);
00191 
00200 void pmSetFileType(PmFile *file, PmFileType type);
00201 
00212 void pmSetFileMajorMinor(PmFile *file, unsigned short majorMinor);
00213 
00222 void pmSetFileSize(PmFile *file, unsigned int size);
00223 
00232 void pmSetFileDate(PmFile *file, time_t date);
00233 
00244 void pmSetFileSymlink(PmFile *file, const char *symlink);
00245 
00249 /**************************************************************************/
00251 /**************************************************************************/
00263 PmPackage *pmGetFilePackage(PmFile *file);
00264 
00274 const char *pmGetFileName(PmFile *file);
00275 
00285 const char *pmGetFileChecksum(PmFile *file);
00286 
00296 mode_t pmGetFileMode(PmFile *file);
00297 
00307 const char *pmGetFileOwner(PmFile *file);
00308 
00318 const char *pmGetFileGroup(PmFile *file);
00319 
00329 PmFileType pmGetFileType(PmFile *file);
00330 
00340 unsigned short pmGetFileMajorMinor(PmFile *file);
00341 
00351 unsigned int pmGetFileSize(PmFile *file);
00352 
00362 time_t pmGetFileDate(PmFile *file);
00363 
00373 const char *pmGetFileSymlink(PmFile *file);
00374 
00378 /**************************************************************************/
00380 /**************************************************************************/
00393 PmFile *pmFirstFile(PmPackage *pkg);
00394 
00405 PmFile *pmPreviousFile(PmFile *file);
00406 
00417 PmFile *pmNextFile(PmFile *file);
00418 
00421 /**************************************************************************/
00423 /**************************************************************************/
00435 const char *pmFileTypeToName(PmFileType type);
00436 
00446 PmFileType pmFileTypeFromName(const char *name);
00447 
00450 #ifdef __cplusplus
00451 }
00452 #endif
00453 
00454 #endif /* _LIBPACKMAN_FILE_H_ */

Generated on Tue Jul 2 03:15:23 2002 for libpackman by doxygen1.2.15-20020430