doc
Macros | Typedefs | Functions
csync public API

Macros

#define CSYNC_CONF_DIR   ".csync"
 
#define CSYNC_CONF_FILE   "csync.conf"
 
#define CSYNC_EXCLUDE_FILE   "csync_exclude.conf"
 
#define CSYNC_LOCK_FILE   "lock"
 
#define CSYNC_LOG_FILE   "csync_log.conf"
 
#define CSYNC_STRINGIFY(s)   CSYNC_TOSTRING(s)
 
#define CSYNC_TOSTRING(s)   #s
 
#define CSYNC_VERSION(a, b, c)   CSYNC_VERSION_DOT(a, b, c)
 
#define CSYNC_VERSION_DOT(a, b, c)   a ##.## b ##.## c
 
#define CSYNC_VERSION_INT(a, b, c)   ((a) << 16 | (b) << 8 | (c))
 
#define LIBCSYNC_VERSION
 
#define LIBCSYNC_VERSION_INT
 
#define LIBCSYNC_VERSION_MAJOR   0
 
#define LIBCSYNC_VERSION_MICRO   0
 
#define LIBCSYNC_VERSION_MINOR   44
 

Typedefs

typedef struct csync_s CSYNC
 
typedef int(* csync_auth_callback )(const char *prompt, char *buf, size_t len, int echo, int verify, void *userdata)
 

Functions

int csync_add_exclude_list (CSYNC *ctx, const char *path)
 
int csync_create (CSYNC **csync, const char *local, const char *remote)
 
int csync_destroy (CSYNC *ctx)
 
int csync_disable_statedb (CSYNC *ctx)
 
int csync_enable_statedb (CSYNC *ctx)
 
csync_auth_callback csync_get_auth_callback (CSYNC *ctx)
 
const char * csync_get_config_dir (CSYNC *ctx)
 
const char * csync_get_statedb_file (CSYNC *ctx)
 
int csync_get_status (CSYNC *ctx)
 
void * csync_get_userdata (CSYNC *ctx)
 
int csync_init (CSYNC *ctx)
 
int csync_is_statedb_disabled (CSYNC *ctx)
 
int csync_propagate (CSYNC *ctx)
 
int csync_reconcile (CSYNC *ctx)
 
int csync_remove_config_dir (CSYNC *ctx)
 
int csync_set_auth_callback (CSYNC *ctx, csync_auth_callback cb)
 
int csync_set_config_dir (CSYNC *ctx, const char *path)
 
int csync_set_status (CSYNC *ctx, int status)
 
int csync_set_userdata (CSYNC *ctx, void *userdata)
 
int csync_update (CSYNC *ctx)
 
const char * csync_version (int req_version)
 

Detailed Description

Macro Definition Documentation

#define CSYNC_CONF_DIR   ".csync"

Definition at line 61 of file csync.h.

#define CSYNC_CONF_FILE   "csync.conf"

Definition at line 62 of file csync.h.

#define CSYNC_EXCLUDE_FILE   "csync_exclude.conf"

Definition at line 64 of file csync.h.

#define CSYNC_LOCK_FILE   "lock"

Definition at line 65 of file csync.h.

#define CSYNC_LOG_FILE   "csync_log.conf"

Definition at line 63 of file csync.h.

#define CSYNC_STRINGIFY (   s)    CSYNC_TOSTRING(s)

Definition at line 38 of file csync.h.

#define CSYNC_TOSTRING (   s)    #s

Definition at line 39 of file csync.h.

#define CSYNC_VERSION (   a,
  b,
 
)    CSYNC_VERSION_DOT(a, b, c)

Definition at line 44 of file csync.h.

#define CSYNC_VERSION_DOT (   a,
  b,
 
)    a ##.## b ##.## c

Definition at line 43 of file csync.h.

#define CSYNC_VERSION_INT (   a,
  b,
 
)    ((a) << 16 | (b) << 8 | (c))

Definition at line 42 of file csync.h.

#define LIBCSYNC_VERSION
#define LIBCSYNC_VERSION_INT
#define LIBCSYNC_VERSION_MAJOR   0

Definition at line 47 of file csync.h.

#define LIBCSYNC_VERSION_MICRO   0

Definition at line 49 of file csync.h.

#define LIBCSYNC_VERSION_MINOR   44

Definition at line 48 of file csync.h.

Typedef Documentation

typedef struct csync_s CSYNC

csync handle

Definition at line 73 of file csync.h.

typedef int(* csync_auth_callback)(const char *prompt, char *buf, size_t len, int echo, int verify, void *userdata)

Definition at line 67 of file csync.h.

Function Documentation

int csync_add_exclude_list ( CSYNC ctx,
const char *  path 
)

Add an additional exclude list.

Parameters
ctxThe context to add the exclude list.
pathThe path pointing to the file.
Returns
0 on success, less than 0 if an error occured.
int csync_create ( CSYNC **  csync,
const char *  local,
const char *  remote 
)

Allocate a csync context.

Parameters
csyncThe context variable to allocate.
Returns
0 on success, less than 0 if an error occured.
int csync_destroy ( CSYNC ctx)

Destroy the csync context.

Writes the statedb, unlocks csync and frees the memory.

Parameters
ctxThe context to destroy.
Returns
0 on success, less than 0 if an error occured.
int csync_disable_statedb ( CSYNC ctx)

Disable the usage of the statedb.

It is enabled by default.

Parameters
ctxThe csync context.
Returns
0 on success, less than 0 if an error occured.
int csync_enable_statedb ( CSYNC ctx)

Enable the usage of the statedb.

It is enabled by default.

Parameters
ctxThe csync context.
Returns
0 on success, less than 0 if an error occured.
csync_auth_callback csync_get_auth_callback ( CSYNC ctx)

Get the authentication callback set.

Parameters
ctxThe csync context.
Returns
The authentication callback set or NULL if an error occured.
const char* csync_get_config_dir ( CSYNC ctx)

Get the config directory.

Parameters
ctxThe csync context.
Returns
The path of the config directory or NULL on error.
const char* csync_get_statedb_file ( CSYNC ctx)

Get the path of the statedb file used.

Parameters
ctxThe csync context.
Returns
The path to the statedb file, NULL if an error occured.
int csync_get_status ( CSYNC ctx)
void* csync_get_userdata ( CSYNC ctx)

Get the userdata saved in the context.

Parameters
ctxThe csync context.
Returns
The userdata saved in the context, NULL if an error occured.
int csync_init ( CSYNC ctx)

Initialize the file synchronizer.

This function loads the configuration, the statedb and locks the client.

Parameters
ctxThe context to initialize.
Returns
0 on success, less than 0 if an error occured.
int csync_is_statedb_disabled ( CSYNC ctx)

Check if the statedb usage is enabled.

Parameters
ctxThe csync context.
Returns
1 if it is enabled, 0 if it is disabled.
int csync_propagate ( CSYNC ctx)

Propagation.

Parameters
ctxThe context to run the propagation on.
Returns
0 on success, less than 0 if an error occured.
int csync_reconcile ( CSYNC ctx)

Reconciliation.

Parameters
ctxThe context to run the reconciliation on.
Returns
0 on success, less than 0 if an error occured.
int csync_remove_config_dir ( CSYNC ctx)

Remove the complete config directory.

Parameters
ctxThe csync context.
Returns
0 on success, less than 0 if an error occured.
int csync_set_auth_callback ( CSYNC ctx,
csync_auth_callback  cb 
)

Set the authentication callback.

Parameters
ctxThe csync context.
cbThe authentication callback.
Returns
0 on success, less than 0 if an error occured.
int csync_set_config_dir ( CSYNC ctx,
const char *  path 
)

Change the config directory.

Parameters
ctxThe csync context.
pathThe path to the new config directory.
Returns
0 on success, less than 0 if an error occured.
int csync_set_status ( CSYNC ctx,
int  status 
)
int csync_set_userdata ( CSYNC ctx,
void *  userdata 
)

Save userdata to the context which is passed to the auth callback function.

Parameters
ctxThe csync context.
userdataThe userdata to be stored in the context.
Returns
0 on success, less than 0 if an error occured.
int csync_update ( CSYNC ctx)

Update detection.

Parameters
ctxThe context to run the update detection on.
Returns
0 on success, less than 0 if an error occured.
const char* csync_version ( int  req_version)

Check if csync is the required version or get the version string.

Parameters
req_versionThe version required.
Returns
If the version of csync is newer than the version required it will return a version string. NULL if the version is older.

Example:

if (csync_version(CSYNC_VERSION_INT(0,42,1)) == NULL) {
fprintf(stderr, "libcsync version is too old!\n");
exit(1);
}
if (debug) {
printf("csync %s\n", csync_version(0));
}