interface.h File Reference

Interface to the outside. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define FSVS_DEBUG_ENV   "FSVS_DEBUGLEVEL"
 If this variable has a numeric value other than 0, the debuglevel is set even before commandline parsing.
#define DIFF_ENV   "FSVS_DIFF"
 The diff program to use.
#define DEFAULT_WAA_PATH   "/var/spool/fsvs"
 The default WAA path.
#define DEFAULT_CONF_PATH   "/etc/fsvs"
 The default CONF path.
#define DEFAULT_CONFIGDIR_SUB   "/auth"
 The default config directory (for authentication data), relative to $FSVS_CONF.
#define CONFIGDIR_GROUP   "groups"
 The directory below $CONF/$WC and $CONF for the grouping definitions.
#define FSVS_EXP_CURR_ENTRY   "FSVS_CURRENT_ENTRY"
 The (relative) path of the current entry.
#define FSVS_EXP_WC_CONF   "FSVS_WC_CONF"
 The configuration directory for the current working copy.
#define FSVS_EXP_WC_ROOT   "FSVS_WC_ROOT"
 The current working copy root directory.
#define FSVS_EXP_TARGET_REVISION   "FSVS_TARGET_REVISION"
 The revision we're updating or reverting to.
#define CHOWN_FUNC   lchown
#define CHOWN_BOOL   1
#define UTIMES_FUNC   lutimes
#define UTIMES_BOOL   1
List of environment variables used for a chroot jail.

Note that these are not #ifdef - marked, as we'd like to use off-the-shelf binaries from newer distributions without modifications!



#define CHROOTER_ROOT_ENV   "FSVS_CHROOT_ROOT"
 The file descriptor number where FSVS can find the "original", "normal" root directory.
#define CHROOTER_LIBS_ENV   "FSVS_CHROOT_LIBS"
 Which libraries should be preloaded? Space-separated list.
#define CHROOTER_CWD_ENV   "FSVS_CHROOT_CWD"
 The old working directory file descriptor.
Manber-parameters

These should be written to a property for big files, so that they can be easily read before fetching the file.

We need the same values for fetching as were used on storing - else we cannot do some rsync-like update.

Note:
Currently they are used only for checking whether a file has changed locally. Here they should be written into the md5s file.


#define CS__APPROX_BLOCKSIZE_BITS   (17)
 How many bits must be zero in the CRC to define that location as a block border.
#define CS__MANBER_BITMASK   ((1 << CS__APPROX_BLOCKSIZE_BITS)-1)
 The bit mask for comparing.
#define CS__MANBER_MODULUS   (-1)
 The modulus.
#define CS__MANBER_PRIME   (31)
 The prime number used for generation of the hash.
#define CS__MANBER_BACKTRACK   (2*1024)
 The number of bytes for the block comparison.
#define CS__MIN_FILE_SIZE   (256*1024)
 The minimum filesize, at or above which files get tested in blocks.

Detailed Description

Interface to the outside.

Definition in file interface.h.


Define Documentation

#define CHOWN_BOOL   1

Definition at line 139 of file interface.h.

Referenced by up__set_meta_data().

#define CHOWN_FUNC   lchown

Definition at line 138 of file interface.h.

Referenced by up__set_meta_data().

#define CHROOTER_CWD_ENV   "FSVS_CHROOT_CWD"

The old working directory file descriptor.

Definition at line 64 of file interface.h.

Referenced by hlp__chrooter(), and main().

#define CHROOTER_LIBS_ENV   "FSVS_CHROOT_LIBS"

Which libraries should be preloaded? Space-separated list.

Definition at line 62 of file interface.h.

Referenced by hlp__chrooter(), and main().

#define CHROOTER_ROOT_ENV   "FSVS_CHROOT_ROOT"

The file descriptor number where FSVS can find the "original", "normal" root directory.

Definition at line 60 of file interface.h.

Referenced by hlp__chrooter(), and main().

#define CONFIGDIR_GROUP   "groups"

The directory below $CONF/$WC and $CONF for the grouping definitions.

Definition at line 51 of file interface.h.

Referenced by ign___load_group().

#define CS__APPROX_BLOCKSIZE_BITS   (17)

How many bits must be zero in the CRC to define that location as a block border.

See checksum.c for details.

16 bits give blocks of 64kB (on average) ... we use 17 for 128kB.

Definition at line 116 of file interface.h.

#define CS__MANBER_BACKTRACK   (2*1024)

The number of bytes for the block comparison.

Must be a power of 2 for performance reasons.

Definition at line 125 of file interface.h.

Referenced by cs___end_of_block(), and cs___manber_init().

#define CS__MANBER_BITMASK   ((1 << CS__APPROX_BLOCKSIZE_BITS)-1)

The bit mask for comparing.

Definition at line 118 of file interface.h.

Referenced by cs___end_of_block().

#define CS__MANBER_MODULUS   (-1)

The modulus.

Leave at 32bit.

Definition at line 120 of file interface.h.

Referenced by cs___end_of_block(), and cs___manber_init().

#define CS__MANBER_PRIME   (31)

The prime number used for generation of the hash.

Definition at line 122 of file interface.h.

Referenced by cs___end_of_block(), and cs___manber_init().

#define CS__MIN_FILE_SIZE   (256*1024)

The minimum filesize, at or above which files get tested in blocks.

Makes sense to have block size as minimum, but is not needed.

Definition at line 133 of file interface.h.

Referenced by ci__nondir(), cs___mnbs_close(), and cs__compare_file().

#define DEFAULT_CONF_PATH   "/etc/fsvs"

The default CONF path.

Definition at line 45 of file interface.h.

Referenced by ac__Usage(), and waa__init().

#define DEFAULT_CONFIGDIR_SUB   "/auth"

The default config directory (for authentication data), relative to $FSVS_CONF.

Definition at line 48 of file interface.h.

Referenced by waa__init().

#define DEFAULT_WAA_PATH   "/var/spool/fsvs"

The default WAA path.

Definition at line 43 of file interface.h.

Referenced by ac__Usage(), and waa__init().

#define UTIMES_BOOL   1

Definition at line 147 of file interface.h.

Referenced by up__set_meta_data().

#define UTIMES_FUNC   lutimes

Definition at line 146 of file interface.h.

Referenced by up__set_meta_data().


Generated for fsvs by  doxygen 1.6.1