Main Page | Class List | File List | Class Members

tree.h

00001 /* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
00002 
00007 #ifndef __ISO_TREE
00008 #define __ISO_TREE
00009 
00010 #include <sys/types.h>
00011 #include <time.h>
00012 
00013 #include "libisofs.h"
00014 
00018 struct iso_names {
00019         char *full;             
00020         char *iso1;             
00021         char *iso2;             
00022         char *rockridge;        
00023         char *joliet;           
00024         int jsize;              
00025 };
00026 
00030 struct iso_posix_fields {
00031         off_t size;             
00032         mode_t mode;            
00033         uid_t user;             
00034         gid_t group;            
00035         time_t mtime;           
00036         time_t atime;           
00037         time_t ctime;           
00038 };
00039 
00043 struct iso_tree_dir {
00044         struct iso_tree_dir *parent;            
00045         struct iso_volume *volume;              
00047         struct iso_names name;                  
00048         struct iso_posix_fields attrib;         
00050         int nchildren;                          
00051         int nfiles;                             
00052         struct iso_tree_dir **children;         
00053         struct iso_tree_file **files;           
00054 };
00055 
00059 struct iso_tree_file {
00060         char *path;                             
00061         struct iso_tree_dir *parent;            
00062         struct iso_volume *volume;              
00064         struct iso_names name;                  
00065         struct iso_posix_fields attrib;         
00066 };
00067 
00071 struct iso_tree_dir *iso_tree_new_root(const struct iso_volume *volume);
00072 
00076 void iso_tree_free(struct iso_tree_dir *root);
00077 
00082 void iso_tree_sort(struct iso_tree_dir *root);
00083 
00084 #endif /* __ISO_TREE */

Generated on Thu Mar 17 11:58:22 2005 for Libisofs by  doxygen 1.3.9.1