26 #ifndef CAT_ETOILE_HPP
27 #define CAT_ETOILE_HPP
29 #include "../my_config.h"
63 void add_ref(
void *ref);
64 void drop_ref(
void *ref);
66 cat_inode *get_inode()
const {
return hosted; };
67 infinint get_etiquette()
const {
return etiquette; };
68 void change_etiquette(
const infinint & new_val) { etiquette = new_val; };
69 void disable_reduction_to_normal_inode() { tags.
reduceable = 0; };
70 bool cannot_reduce_to_normal_inode()
const {
return tags.
reduceable == 0; };
72 bool is_counted()
const {
return tags.
counted; };
73 bool is_wrote()
const {
return tags.
wrote; };
74 bool is_dumped()
const {
return tags.
dumped; };
75 void set_counted(
bool val) { tags.
counted = val ? 1 : 0; };
76 void set_wrote(
bool val) { tags.
wrote = val ? 1 : 0; };
77 void set_dumped(
bool val) { tags.
dumped = val ? 1 : 0; };
81 const void *get_first_ref()
const {
if(
refs.size() == 0)
throw SRC_BUG;
return refs.front(); };
base object for all inode types, managed EA and FSA, dates, permissions, ownership,...
the hard link implementation
cat_etoile(cat_inode *host, const infinint &etiquette_number)
build an object
std::list< void * > refs
list of pointers to the mirages objects, in the order of their creation
the root class for all cat_inode
the arbitrary large positive integer class
libdar namespace encapsulate all libdar symbols