doc
Modules | Data Structures | Macros | Typedefs | Enumerations | Enumerator | Functions | Variables
csync internal API

Modules

 csync file lockling internals
 
 csync logging internals
 
 csync propagation internals
 
 csync reconciliation internals
 
 csync statedb internals
 
 csync update detection internals
 

Data Structures

struct  _csync_treewalk_context_s
 
struct  csync_file_stat_s
 
struct  csync_s
 

Macros

#define CSYNC_STATUS_DONE
 
#define CSYNC_STATUS_INIT   1 << 0
 
#define CSYNC_STATUS_PROPAGATE   1 << 3
 
#define CSYNC_STATUS_RECONCILE   1 << 2
 
#define CSYNC_STATUS_UPDATE   1 << 1
 
#define MAX_DEPTH   50
 
#define MAX_TIME_DIFFERENCE   10
 
#define MAX_XFER_BUF_SIZE   (16 * 1024)
 

Typedefs

typedef struct _csync_treewalk_context_s _csync_treewalk_context
 
typedef struct csync_file_stat_s csync_file_stat_t
 

Enumerations

enum  csync_ftw_type_e { CSYNC_FTW_TYPE_FILE, CSYNC_FTW_TYPE_SLINK, CSYNC_FTW_TYPE_DIR }
 
enum  csync_replica_e { LOCAL_REPLICA, REMOTE_REPLICA }
 

Functions

struct csync_file_stat_s __attribute__ ((packed))
 

Variables

struct _csync_treewalk_context_s __attribute__
 
csync_auth_callback   csync_s::auth_function
 
long long   csync_s::byte_current
 
long long   csync_s::byte_sum
 
struct {
   csync_auth_callback   csync_s::auth_function
 
   csync_file_progress_callback   csync_s::file_progress_cb
 
   csync_overall_progress_callback   csync_s::overall_progress_cb
 
   void *   csync_s::userdata
 
csync_s::callbacks
 
csync_vio_capabilities_t   csync_s::capabilities
 
char *   csync_s::config_dir
 
enum csync_replica_e csync_s::current
 
int   csync_s::current_file_no
 
sqlite3 *   csync_s::db
 
int   csync_s::disabled
 
char * csync_s::error_string
 
uid_t   csync_s::euid
 
c_strlist_tcsync_s::excludes
 
int   csync_s::exists
 
char *   csync_s::file
 
int   csync_s::file_count
 
csync_file_progress_callback   csync_s::file_progress_cb
 
csync_vio_method_finish_fn   csync_s::finish_fn
 
gid_t gid
 
gid_t csync_file_stat_s::gid
 
void *   csync_s::handle
 
ino_t inode
 
ino_t csync_file_stat_s::inode
 
enum csync_instructions_e instruction
 
enum csync_instructions_e csync_file_stat_s::instruction
 
int _csync_treewalk_context_s::instruction_filter
 
c_list_t *   csync_s::list
 
c_list_t *   csync_s::list
 
struct {
   c_list_t *   csync_s::list
 
   c_rbtree_t *   csync_s::tree
 
   enum csync_replica_e   csync_s::type
 
   char *   csync_s::uri
 
csync_s::local
 
bool   csync_s::local_only_mode
 
int   csync_s::max_depth
 
int   csync_s::max_time_difference
 
csync_vio_method_t *   csync_s::method
 
mode_t mode
 
mode_t csync_file_stat_s::mode
 
time_t modtime
 
time_t csync_file_stat_s::modtime
 
struct {
   csync_vio_capabilities_t   csync_s::capabilities
 
   csync_vio_method_finish_fn   csync_s::finish_fn
 
   void *   csync_s::handle
 
   csync_vio_method_t *   csync_s::method
 
csync_s::module
 
int nlink
 
int csync_file_stat_s::nlink
 
struct {
   char *   csync_s::config_dir
 
   bool   csync_s::local_only_mode
 
   int   csync_s::max_depth
 
   int   csync_s::max_time_difference
 
   int   csync_s::sync_symbolic_links
 
   int   csync_s::unix_extensions
 
   bool   csync_s::with_conflict_copys
 
csync_s::options
 
csync_overall_progress_callback   csync_s::overall_progress_cb
 
char path [1]
 
char csync_file_stat_s::path [1]
 
size_t pathlen
 
size_t csync_file_stat_s::pathlen
 
uint64_t phash
 
uint64_t csync_file_stat_s::phash
 
struct {
   long long   csync_s::byte_current
 
   long long   csync_s::byte_sum
 
   int   csync_s::current_file_no
 
   int   csync_s::file_count
 
csync_s::progress
 
struct {
   uid_t   csync_s::euid
 
   uid_t   csync_s::uid
 
csync_s::pwd
 
struct {
   c_list_t *   csync_s::list
 
   c_rbtree_t *   csync_s::tree
 
   enum csync_replica_e   csync_s::type
 
   char *   csync_s::uri
 
csync_s::remote
 
enum csync_replica_e csync_s::replica
 
off_t size
 
off_t csync_file_stat_s::size
 
struct {
   sqlite3 *   csync_s::db
 
   int   csync_s::disabled
 
   int   csync_s::exists
 
   char *   csync_s::file
 
csync_s::statedb
 
int csync_s::status
 
enum csync_status_codes_e csync_s::status_code
 
int   csync_s::sync_symbolic_links
 
c_rbtree_t *   csync_s::tree
 
c_rbtree_t *   csync_s::tree
 
int type
 
enum csync_replica_e   csync_s::type
 
enum csync_replica_e   csync_s::type
 
int csync_file_stat_s::type
 
uid_t uid
 
uid_t   csync_s::uid
 
uid_t csync_file_stat_s::uid
 
int   csync_s::unix_extensions
 
char *   csync_s::uri
 
char *   csync_s::uri
 
csync_treewalk_visit_func_csync_treewalk_context_s::user_visitor
 
void *   csync_s::userdata
 
void * _csync_treewalk_context_s::userdata
 
bool   csync_s::with_conflict_copys
 

Detailed Description

Macro Definition Documentation

◆ CSYNC_STATUS_DONE

#define CSYNC_STATUS_DONE
Value:
CSYNC_STATUS_UPDATE | \
CSYNC_STATUS_RECONCILE | \
CSYNC_STATUS_PROPAGATE)
#define CSYNC_STATUS_INIT
Definition: csync_private.h:71

Definition at line 76 of file csync_private.h.

◆ CSYNC_STATUS_INIT

#define CSYNC_STATUS_INIT   1 << 0

Definition at line 71 of file csync_private.h.

◆ CSYNC_STATUS_PROPAGATE

#define CSYNC_STATUS_PROPAGATE   1 << 3

Definition at line 74 of file csync_private.h.

◆ CSYNC_STATUS_RECONCILE

#define CSYNC_STATUS_RECONCILE   1 << 2

Definition at line 73 of file csync_private.h.

◆ CSYNC_STATUS_UPDATE

#define CSYNC_STATUS_UPDATE   1 << 1

Definition at line 72 of file csync_private.h.

◆ MAX_DEPTH

#define MAX_DEPTH   50

How deep to scan directories.

Definition at line 57 of file csync_private.h.

◆ MAX_TIME_DIFFERENCE

#define MAX_TIME_DIFFERENCE   10

Maximum time difference between two replicas in seconds.

Definition at line 62 of file csync_private.h.

◆ MAX_XFER_BUF_SIZE

#define MAX_XFER_BUF_SIZE   (16 * 1024)

Maximum size of a buffer for transfer.

Definition at line 68 of file csync_private.h.

Typedef Documentation

◆ _csync_treewalk_context

Definition at line 207 of file csync_private.h.

◆ csync_file_stat_t

Definition at line 196 of file csync_private.h.

Enumeration Type Documentation

◆ csync_ftw_type_e

Enumerator
CSYNC_FTW_TYPE_FILE 
CSYNC_FTW_TYPE_SLINK 
CSYNC_FTW_TYPE_DIR 

Definition at line 165 of file csync_private.h.

◆ csync_replica_e

Enumerator
LOCAL_REPLICA 
REMOTE_REPLICA 

Definition at line 81 of file csync_private.h.

Function Documentation

◆ __attribute__()

struct csync_file_stat_s __attribute__ ( (packed)  )

Variable Documentation

◆ __attribute__

struct _csync_treewalk_context_s __attribute__

◆ auth_function [1/2]

csync_auth_callback { ... } ::auth_function

Definition at line 91 of file csync_private.h.

◆ auth_function [2/2]

csync_auth_callback csync_s::auth_function

Definition at line 91 of file csync_private.h.

◆ byte_current [1/2]

long long csync_s::byte_current

Definition at line 148 of file csync_private.h.

◆ byte_current [2/2]

long { ... } ::byte_current

Definition at line 148 of file csync_private.h.

◆ byte_sum [1/2]

long long csync_s::byte_sum

Definition at line 147 of file csync_private.h.

◆ byte_sum [2/2]

long { ... } ::byte_sum

Definition at line 147 of file csync_private.h.

◆ callbacks

struct { ... } csync_s::callbacks

◆ capabilities [1/2]

csync_vio_capabilities_t csync_s::capabilities

Definition at line 123 of file csync_private.h.

◆ capabilities [2/2]

csync_vio_capabilities_t { ... } ::capabilities

Definition at line 123 of file csync_private.h.

◆ config_dir [1/2]

char* csync_s::config_dir

Definition at line 131 of file csync_private.h.

◆ config_dir [2/2]

char* { ... } ::config_dir

Definition at line 131 of file csync_private.h.

◆ current

enum csync_replica_e csync_s::current

Definition at line 152 of file csync_private.h.

◆ current_file_no [1/2]

int csync_s::current_file_no

Definition at line 146 of file csync_private.h.

◆ current_file_no [2/2]

int { ... } ::current_file_no

Definition at line 146 of file csync_private.h.

◆ db [1/2]

sqlite3* csync_s::db

Definition at line 100 of file csync_private.h.

◆ db [2/2]

sqlite3* { ... } ::db

Definition at line 100 of file csync_private.h.

◆ disabled [1/2]

int csync_s::disabled

Definition at line 102 of file csync_private.h.

◆ disabled [2/2]

int { ... } ::disabled

Definition at line 102 of file csync_private.h.

◆ error_string

char* csync_s::error_string

Definition at line 160 of file csync_private.h.

◆ euid [1/2]

uid_t csync_s::euid

Definition at line 141 of file csync_private.h.

◆ euid [2/2]

uid_t { ... } ::euid

Definition at line 141 of file csync_private.h.

◆ excludes

c_strlist_t* csync_s::excludes

Definition at line 96 of file csync_private.h.

◆ exists [1/2]

int { ... } ::exists

Definition at line 101 of file csync_private.h.

◆ exists [2/2]

int csync_s::exists

Definition at line 101 of file csync_private.h.

◆ file [1/2]

char* csync_s::file

Definition at line 99 of file csync_private.h.

◆ file [2/2]

char* { ... } ::file

Definition at line 99 of file csync_private.h.

◆ file_count [1/2]

int { ... } ::file_count

Definition at line 145 of file csync_private.h.

◆ file_count [2/2]

int csync_s::file_count

Definition at line 145 of file csync_private.h.

◆ file_progress_cb [1/2]

csync_file_progress_callback csync_s::file_progress_cb

Definition at line 93 of file csync_private.h.

◆ file_progress_cb [2/2]

csync_file_progress_callback { ... } ::file_progress_cb

Definition at line 93 of file csync_private.h.

◆ finish_fn [1/2]

csync_vio_method_finish_fn csync_s::finish_fn

Definition at line 122 of file csync_private.h.

◆ finish_fn [2/2]

csync_vio_method_finish_fn { ... } ::finish_fn

Definition at line 122 of file csync_private.h.

◆ gid [1/2]

gid_t gid

Definition at line 39 of file csync_private.h.

◆ gid [2/2]

gid_t csync_file_stat_s::gid

Definition at line 181 of file csync_private.h.

◆ handle [1/2]

void* csync_s::handle

Definition at line 120 of file csync_private.h.

◆ handle [2/2]

void* { ... } ::handle

Definition at line 120 of file csync_private.h.

◆ inode [1/2]

ino_t inode

Definition at line 37 of file csync_private.h.

◆ inode [2/2]

ino_t csync_file_stat_s::inode

Definition at line 179 of file csync_private.h.

◆ instruction [1/2]

enum csync_instructions_e instruction

Definition at line 43 of file csync_private.h.

◆ instruction [2/2]

enum csync_instructions_e csync_file_stat_s::instruction

Definition at line 185 of file csync_private.h.

◆ instruction_filter

int _csync_treewalk_context_s::instruction_filter

Definition at line 204 of file csync_private.h.

◆ list [1/3]

c_list_t* { ... } ::list

Definition at line 108 of file csync_private.h.

◆ list [2/3]

c_list_t* csync_s::list

Definition at line 108 of file csync_private.h.

◆ list [3/3]

c_list_t* { ... } ::list

Definition at line 115 of file csync_private.h.

◆ local

struct { ... } csync_s::local

◆ local_only_mode [1/2]

bool csync_s::local_only_mode

Definition at line 133 of file csync_private.h.

◆ local_only_mode [2/2]

bool { ... } ::local_only_mode

Definition at line 133 of file csync_private.h.

◆ max_depth [1/2]

int csync_s::max_depth

Definition at line 127 of file csync_private.h.

◆ max_depth [2/2]

int { ... } ::max_depth

Definition at line 127 of file csync_private.h.

◆ max_time_difference [1/2]

int csync_s::max_time_difference

Definition at line 128 of file csync_private.h.

◆ max_time_difference [2/2]

int { ... } ::max_time_difference

Definition at line 128 of file csync_private.h.

◆ method [1/2]

csync_vio_method_t* csync_s::method

Definition at line 121 of file csync_private.h.

◆ method [2/2]

csync_vio_method_t* { ... } ::method

Definition at line 121 of file csync_private.h.

◆ mode [1/2]

mode_t mode

Definition at line 40 of file csync_private.h.

◆ mode [2/2]

mode_t csync_file_stat_s::mode

Definition at line 182 of file csync_private.h.

◆ modtime [1/2]

time_t modtime

Definition at line 34 of file csync_private.h.

◆ modtime [2/2]

time_t csync_file_stat_s::modtime

Definition at line 176 of file csync_private.h.

◆ module

struct { ... } csync_s::module

◆ nlink [1/2]

int nlink

Definition at line 41 of file csync_private.h.

◆ nlink [2/2]

int csync_file_stat_s::nlink

Definition at line 183 of file csync_private.h.

◆ options

struct { ... } csync_s::options

◆ overall_progress_cb [1/2]

csync_overall_progress_callback { ... } ::overall_progress_cb

Definition at line 92 of file csync_private.h.

◆ overall_progress_cb [2/2]

csync_overall_progress_callback csync_s::overall_progress_cb

Definition at line 92 of file csync_private.h.

◆ path [1/2]

char path[1]

Definition at line 44 of file csync_private.h.

◆ path [2/2]

char csync_file_stat_s::path[1]

Definition at line 186 of file csync_private.h.

◆ pathlen [1/2]

size_t pathlen

Definition at line 36 of file csync_private.h.

◆ pathlen [2/2]

size_t csync_file_stat_s::pathlen

Definition at line 178 of file csync_private.h.

◆ phash [1/2]

uint64_t phash

Definition at line 33 of file csync_private.h.

◆ phash [2/2]

uint64_t csync_file_stat_s::phash

Definition at line 175 of file csync_private.h.

◆ progress

struct { ... } csync_s::progress

◆ pwd

struct { ... } csync_s::pwd

◆ remote

struct { ... } csync_s::remote

◆ replica

enum csync_replica_e csync_s::replica

Definition at line 155 of file csync_private.h.

◆ size [1/2]

off_t size

Definition at line 35 of file csync_private.h.

◆ size [2/2]

off_t csync_file_stat_s::size

Definition at line 177 of file csync_private.h.

◆ statedb

struct { ... } csync_s::statedb

◆ status

int csync_s::status

Definition at line 162 of file csync_private.h.

◆ status_code

enum csync_status_codes_e csync_s::status_code

Definition at line 158 of file csync_private.h.

◆ sync_symbolic_links [1/2]

int { ... } ::sync_symbolic_links

Definition at line 129 of file csync_private.h.

◆ sync_symbolic_links [2/2]

int csync_s::sync_symbolic_links

Definition at line 129 of file csync_private.h.

◆ tree [1/3]

c_rbtree_t* { ... } ::tree

Definition at line 107 of file csync_private.h.

◆ tree [2/3]

c_rbtree_t* csync_s::tree

Definition at line 107 of file csync_private.h.

◆ tree [3/3]

c_rbtree_t* { ... } ::tree

Definition at line 114 of file csync_private.h.

◆ type [1/5]

int type

Definition at line 42 of file csync_private.h.

◆ type [2/5]

enum csync_replica_e csync_s::type

Definition at line 109 of file csync_private.h.

◆ type [3/5]

enum { ... } ::type

Definition at line 109 of file csync_private.h.

◆ type [4/5]

enum { ... } ::type

Definition at line 116 of file csync_private.h.

◆ type [5/5]

int csync_file_stat_s::type

Definition at line 184 of file csync_private.h.

◆ uid [1/4]

uid_t uid

Definition at line 38 of file csync_private.h.

◆ uid [2/4]

uid_t csync_s::uid

Definition at line 140 of file csync_private.h.

◆ uid [3/4]

uid_t { ... } ::uid

Definition at line 140 of file csync_private.h.

◆ uid [4/4]

uid_t csync_file_stat_s::uid

Definition at line 180 of file csync_private.h.

◆ unix_extensions [1/2]

int csync_s::unix_extensions

Definition at line 130 of file csync_private.h.

◆ unix_extensions [2/2]

int { ... } ::unix_extensions

Definition at line 130 of file csync_private.h.

◆ uri [1/3]

char* { ... } ::uri

Definition at line 106 of file csync_private.h.

◆ uri [2/3]

char* csync_s::uri

Definition at line 106 of file csync_private.h.

◆ uri [3/3]

char* { ... } ::uri

Definition at line 113 of file csync_private.h.

◆ user_visitor

csync_treewalk_visit_func* _csync_treewalk_context_s::user_visitor

Definition at line 203 of file csync_private.h.

◆ userdata [1/3]

void* { ... } ::userdata

Definition at line 94 of file csync_private.h.

◆ userdata [2/3]

void* csync_s::userdata

Definition at line 94 of file csync_private.h.

◆ userdata [3/3]

void* _csync_treewalk_context_s::userdata

Definition at line 205 of file csync_private.h.

◆ with_conflict_copys [1/2]

bool { ... } ::with_conflict_copys

Definition at line 132 of file csync_private.h.

◆ with_conflict_copys [2/2]

bool csync_s::with_conflict_copys

Definition at line 132 of file csync_private.h.