30#include "../my_config.h" 
   40    using int_tools_bitfield = 
unsigned char[8];
 
   42    extern void int_tools_swap_bytes(
unsigned char &a, 
unsigned char &b);
 
   43    extern void int_tools_swap_bytes(
unsigned char *a, U_I size);
 
   44    extern void int_tools_expand_byte(
unsigned char a, int_tools_bitfield &bit);
 
   45    extern void int_tools_contract_byte(
const int_tools_bitfield &b, 
unsigned char & a);
 
   49    template <
class T> 
extern T int_tools_rotate_right_one_bit(T v)
 
   51        bool retenue = (v & 1) != 0;
 
   55            v |= T(1) << (
sizeof(v)*8 - 1);
 
   60    template <
class T> 
extern T int_tools_maxof_aggregate(T unused) { unused = 0; unused = ~unused; unused = unused > 0 ? unused : ~int_tools_rotate_right_one_bit(T(1)); 
return unused; }
 
   62    template <
class B> 
static B int_tools_higher_power_of_2(B val)
 
are defined here basic integer types that tend to be portable
 
libdar namespace encapsulate all libdar symbols