clsync
Loading...
Searching...
No Matches
ctx.h File Reference
#include <regex.h>
Include dependency graph for ctx.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rule
 
struct  queueinfo
 
struct  api_functs
 
struct  notifyenginefuncts
 
struct  synchandler_args
 
struct  ctx
 

Macros

#define MAX_BLOCKTHREADS   (1<<4)
 
#define register_blockthread(thread)
 
#define OPTION_FLAGS   (1<<10)
 
#define OPTION_LONGOPTONLY   (1<<9)
 
#define OPTION_CONFIGONLY   (1<<8)
 
#define NOTOPTION   (3<<8)
 
#define STATE_STARTING(state_p)
 
#define CAP_PRESERVE_TRY   (1<<16)
 

Typedefs

typedef enum flags_enum flags_t
 
typedef enum detachnetwork_way detachnetwork_way_t
 
typedef enum pivotroot_way pivotroot_way_t
 
typedef enum capsinherit capsinherit_t
 
typedef enum mode_id mode_id_t
 
typedef enum queue_id queue_id_t
 
typedef enum ruleactionsign_enum ruleactionsign_t
 
typedef enum ruleaction_enum ruleaction_t
 
typedef struct rule rule_t
 
typedef struct queueinfo queueinfo_t
 
typedef struct api_functs api_functs_t
 
typedef enum shflags shflags_t
 
typedef struct synchandler_args synchandler_args_t
 
typedef enum state_enum state_t
 
typedef struct ctx ctx_t
 

Enumerations

enum  flags_enum {
  WATCHDIR = 'W' , SYNCHANDLER = 'S' , RULESFILE = 'R' , DESTDIR = 'D' ,
  SOCKETPATH = 's' , HELP = 'h' , CONFIGFILE = 'H' , CONFIGBLOCK = 'K' ,
  BACKGROUND = 'b' , UID = 'u' , GID = 'g' , CAP_PRESERVE = 'C' ,
  THREADING = 'p' , RETRIES = 'r' , OUTPUT_METHOD = 'Y' , EXCLUDEMOUNTPOINTS = 'X' ,
  PIDFILE = 'z' , CLUSTERIFACE = 'c' , CLUSTERMCASTIPADDR = 'm' , CLUSTERMCASTIPPORT = 'P' ,
  CLUSTERTIMEOUT = 'G' , CLUSTERNODENAME = 'n' , CLUSTERHDLMIN = 'o' , CLUSTERHDLMAX = 'O' ,
  DELAY = 't' , BFILEDELAY = 'T' , SYNCDELAY = 'w' , BFILETHRESHOLD = 'B' ,
  DEBUG = 'd' , QUIET = 'q' , VERBOSE = 'v' , OUTLISTSDIR = 'L' ,
  AUTORULESW = 'A' , MODE = 'M' , IGNOREEXITCODE = 'x' , DONTUNLINK = 'U' ,
  INITFULL = 'F' , SYNCTIMEOUT = 'k' , LABEL = 'l' , SHOW_VERSION = 'V' ,
  HAVERECURSIVESYNC = 0 | (1<<9) , RSYNCINCLIMIT = 1 | (1<<9) , RSYNCPREFERINCLUDE = 2 | (1<<9) , SYNCLISTSIMPLIFY = 3 | (1<<9) ,
  ONEFILESYSTEM = 4 | (1<<9) , STATUSFILE = 5 | (1<<9) , SKIPINITSYNC = 6 | (1<<9) , ONLYINITSYNC = 7 | (1<<9) ,
  EXITONNOEVENTS = 8 | (1<<9) , STANDBYFILE = 9 | (1<<9) , EXITHOOK = 10 | (1<<9) , CLUSTERSDLMAX = 11 | (1<<9) ,
  PREEXITHOOK = 12 | (1<<9) , SOCKETAUTH = 13 | (1<<9) , SOCKETMOD = 14 | (1<<9) , SOCKETOWN = 15 | (1<<9) ,
  MAXITERATIONS = 16 | (1<<9) , IGNOREFAILURES = 17 | (1<<9) , DUMPDIR = 18 | (1<<9) , CONFIGBLOCKINHERITS = 19 | (1<<9) ,
  MONITOR = 20 | (1<<9) , SYNCHANDLERARGS0 = 21 | (1<<9) , SYNCHANDLERARGS1 = 22 | (1<<9) , CUSTOMSIGNALS = 23 | (1<<9) ,
  CHROOT = 24 | (1<<9) , MOUNTPOINTS = 25 | (1<<9) , SPLITTING = 26 | (1<<9) , SYNCHANDLERUID = 27 | (1<<9) ,
  SYNCHANDLERGID = 28 | (1<<9) , CAPS_INHERIT = 29 | (1<<9) , CHECK_EXECVP_ARGS = 30 | (1<<9) , PIVOT_ROOT = 31 | (1<<9) ,
  DETACH_NETWORK = 32 | (1<<9) , DETACH_MISCELLANEA = 33 | (1<<9) , ADDPERMITTEDHOOKFILES = 34 | (1<<9) , SECCOMP_FILTER = 35 | (1<<9) ,
  FORGET_PRIVTHREAD_INFO = 36 | (1<<9) , SECURESPLITTING = 37 | (1<<9) , FTS_EXPERIMENTAL_OPTIMIZATION = 38 | (1<<9) , FORBIDDEVICES = 39 | (1<<9) ,
  CG_GROUPNAME = 40 | (1<<9) , PERMIT_MPROTECT = 41 | (1<<9) , SHM_MPROTECT = 42 | (1<<9) , MODSIGN = 43 | (1<<9) ,
  CANCEL_SYSCALLS = 44 | (1<<9) , EXITONSYNCSKIP = 45 | (1<<9) , DETACH_IPC = 46 | (1<<9) , PRIVILEGEDUID = 47 | (1<<9) ,
  PRIVILEGEDGID = 48 | (1<<9) , SOFTEXITSYNC = 49 | (1<<9)
}
 
enum  detachnetwork_way { DN_OFF = 0 , DN_NONPRIVILEGED , DN_EVERYWHERE }
 
enum  pivotroot_way { PW_OFF = 0 , PW_DIRECT , PW_AUTO , PW_AUTORO }
 
enum  capsinherit { CI_DONTTOUCH = 0 , CI_PERMITTED , CI_CLSYNC , CI_EMPTY }
 
enum  mode_id {
  MODE_UNSET = 0 , MODE_SIMPLE , MODE_DIRECT , MODE_SHELL ,
  MODE_RSYNCSHELL , MODE_RSYNCDIRECT , MODE_RSYNCSO , MODE_SO
}
 
enum  queue_id {
  QUEUE_NORMAL , QUEUE_BIGFILE , QUEUE_INSTANT , QUEUE_LOCKWAIT ,
  QUEUE_MAX , QUEUE_AUTO
}
 
enum  ruleactionsign_enum { RS_REJECT = 0 , RS_PERMIT = 1 }
 
enum  ruleaction_enum {
  RA_NONE = 0x00 , RA_MONITOR = 0x01 , RA_SYNC = 0x02 , RA_WALK = 0x04 ,
  RA_ALL = 0x0f
}
 
enum  sigusr_enum { SIGUSR_THREAD_GC = 10 , SIGUSR_INITSYNC = 12 , SIGUSR_BLOPINT = 16 , SIGUSR_DUMP = 29 }
 
enum  shflags {
  SHFL_NONE = 0x00 , SHFL_RSYNC_ARGS = 0x01 , SHFL_INCLUDE_LIST = 0x02 , SHFL_INCLUDE_LIST_PATH = 0x04 ,
  SHFL_EXCLUDE_LIST_PATH = 0x08
}
 
enum  shargsid { SHARGS_PRIMARY = 0 , SHARGS_INITIAL , SHARGS_MAX }
 
enum  state_enum {
  STATE_EXIT = 0 , STATE_STARTING , STATE_RUNNING , STATE_SYNCHANDLER_ERR ,
  STATE_REHASH , STATE_PREEXIT , STATE_LASTSYNC , STATE_TERM ,
  STATE_THREAD_GC , STATE_INITSYNC , STATE_HOLDON , STATE_UNKNOWN
}
 
enum  stat_fields {
  STAT_FIELD_RESET = 0x0000 , STAT_FIELD_DEV = 0x0001 , STAT_FIELD_INO = 0x0002 , STAT_FIELD_MODE = 0x0004 ,
  STAT_FIELD_NLINK = 0x0008 , STAT_FIELD_UID = 0x0010 , STAT_FIELD_GID = 0x0020 , STAT_FIELD_RDEV = 0x0040 ,
  STAT_FIELD_SIZE = 0x0080 , STAT_FIELD_BLKSIZE = 0x0100 , STAT_FIELD_BLOCKS = 0x0200 , STAT_FIELD_ATIME = 0x0400 ,
  STAT_FIELD_MTIME = 0x0800 , STAT_FIELD_CTIME = 0x1000 , STAT_FIELD_ALL = 0x1ff7
}
 
enum  syscall_bitmask { CSC_RESET = 0x00 , CSC_MON_STAT = 0x01 }
 

Variables

static char *const status_descr []
 

Macro Definition Documentation

◆ CAP_PRESERVE_TRY

#define CAP_PRESERVE_TRY   (1<<16)

Definition at line 313 of file ctx.h.

◆ MAX_BLOCKTHREADS

#define MAX_BLOCKTHREADS   (1<<4)

Definition at line 29 of file ctx.h.

◆ NOTOPTION

#define NOTOPTION   (3<<8)

Definition at line 40 of file ctx.h.

◆ OPTION_CONFIGONLY

#define OPTION_CONFIGONLY   (1<<8)

Definition at line 39 of file ctx.h.

◆ OPTION_FLAGS

#define OPTION_FLAGS   (1<<10)

Definition at line 37 of file ctx.h.

◆ OPTION_LONGOPTONLY

#define OPTION_LONGOPTONLY   (1<<9)

Definition at line 38 of file ctx.h.

◆ register_blockthread

#define register_blockthread ( thread)
Value:
{\
ctx_p->blockthread[ctx_p->blockthread_count++] = pthread_self();\
debug(3, "register_blockthread(): ctx_p->blockthread_count -> %i", ctx_p->blockthread_count);\
}
#define MAX_BLOCKTHREADS
Definition ctx.h:29
ctx_t * ctx_p
Definition mon_kqueue.c:85
pthread_t blockthread[(1<< 4)]
Definition ctx.h:398
size_t blockthread_count
Definition ctx.h:399

Definition at line 31 of file ctx.h.

◆ STATE_STARTING

#define STATE_STARTING ( state_p)
Value:
(state_p == NULL)
volatile state_t * state_p
Definition sync.c:546

Definition at line 257 of file ctx.h.

Typedef Documentation

◆ api_functs_t

typedef struct api_functs api_functs_t

Definition at line 227 of file ctx.h.

◆ capsinherit_t

typedef enum capsinherit capsinherit_t

Definition at line 158 of file ctx.h.

◆ ctx_t

typedef struct ctx ctx_t

Definition at line 421 of file ctx.h.

◆ detachnetwork_way_t

Definition at line 142 of file ctx.h.

◆ flags_t

typedef enum flags_enum flags_t

Definition at line 135 of file ctx.h.

◆ mode_id_t

typedef enum mode_id mode_id_t

Definition at line 170 of file ctx.h.

◆ pivotroot_way_t

Definition at line 150 of file ctx.h.

◆ queue_id_t

typedef enum queue_id queue_id_t

Definition at line 181 of file ctx.h.

◆ queueinfo_t

typedef struct queueinfo queueinfo_t

Definition at line 219 of file ctx.h.

◆ rule_t

typedef struct rule rule_t

Definition at line 213 of file ctx.h.

◆ ruleaction_t

Definition at line 196 of file ctx.h.

◆ ruleactionsign_t

Definition at line 187 of file ctx.h.

◆ shflags_t

typedef enum shflags shflags_t

Definition at line 242 of file ctx.h.

◆ state_t

typedef enum state_enum state_t

Definition at line 272 of file ctx.h.

◆ synchandler_args_t

Definition at line 255 of file ctx.h.

Enumeration Type Documentation

◆ capsinherit

Enumerator
CI_DONTTOUCH 
CI_PERMITTED 
CI_CLSYNC 
CI_EMPTY 

Definition at line 152 of file ctx.h.

◆ detachnetwork_way

Enumerator
DN_OFF 
DN_NONPRIVILEGED 
DN_EVERYWHERE 

Definition at line 137 of file ctx.h.

◆ flags_enum

enum flags_enum
Enumerator
WATCHDIR 
SYNCHANDLER 
RULESFILE 
DESTDIR 
SOCKETPATH 
HELP 
CONFIGFILE 
CONFIGBLOCK 
BACKGROUND 
UID 
GID 
CAP_PRESERVE 
THREADING 
RETRIES 
OUTPUT_METHOD 
EXCLUDEMOUNTPOINTS 
PIDFILE 
CLUSTERIFACE 
CLUSTERMCASTIPADDR 
CLUSTERMCASTIPPORT 
CLUSTERTIMEOUT 
CLUSTERNODENAME 
CLUSTERHDLMIN 
CLUSTERHDLMAX 
DELAY 
BFILEDELAY 
SYNCDELAY 
BFILETHRESHOLD 
DEBUG 
QUIET 
VERBOSE 
OUTLISTSDIR 
AUTORULESW 
MODE 
IGNOREEXITCODE 
DONTUNLINK 
INITFULL 
SYNCTIMEOUT 
LABEL 
SHOW_VERSION 
HAVERECURSIVESYNC 
RSYNCINCLIMIT 
RSYNCPREFERINCLUDE 
SYNCLISTSIMPLIFY 
ONEFILESYSTEM 
STATUSFILE 
SKIPINITSYNC 
ONLYINITSYNC 
EXITONNOEVENTS 
STANDBYFILE 
EXITHOOK 
CLUSTERSDLMAX 
PREEXITHOOK 
SOCKETAUTH 
SOCKETMOD 
SOCKETOWN 
MAXITERATIONS 
IGNOREFAILURES 
DUMPDIR 
CONFIGBLOCKINHERITS 
MONITOR 
SYNCHANDLERARGS0 
SYNCHANDLERARGS1 
CUSTOMSIGNALS 
CHROOT 
MOUNTPOINTS 
SPLITTING 
SYNCHANDLERUID 
SYNCHANDLERGID 
CAPS_INHERIT 
CHECK_EXECVP_ARGS 
PIVOT_ROOT 
DETACH_NETWORK 
DETACH_MISCELLANEA 
ADDPERMITTEDHOOKFILES 
SECCOMP_FILTER 
FORGET_PRIVTHREAD_INFO 
SECURESPLITTING 
FTS_EXPERIMENTAL_OPTIMIZATION 
FORBIDDEVICES 
CG_GROUPNAME 
PERMIT_MPROTECT 
SHM_MPROTECT 
MODSIGN 
CANCEL_SYSCALLS 
EXITONSYNCSKIP 
DETACH_IPC 
PRIVILEGEDUID 
PRIVILEGEDGID 
SOFTEXITSYNC 

Definition at line 41 of file ctx.h.

◆ mode_id

enum mode_id
Enumerator
MODE_UNSET 
MODE_SIMPLE 
MODE_DIRECT 
MODE_SHELL 
MODE_RSYNCSHELL 
MODE_RSYNCDIRECT 
MODE_RSYNCSO 
MODE_SO 

Definition at line 160 of file ctx.h.

◆ pivotroot_way

Enumerator
PW_OFF 
PW_DIRECT 
PW_AUTO 
PW_AUTORO 

Definition at line 144 of file ctx.h.

◆ queue_id

enum queue_id
Enumerator
QUEUE_NORMAL 
QUEUE_BIGFILE 
QUEUE_INSTANT 
QUEUE_LOCKWAIT 
QUEUE_MAX 
QUEUE_AUTO 

Definition at line 172 of file ctx.h.

◆ ruleaction_enum

Enumerator
RA_NONE 
RA_MONITOR 
RA_SYNC 
RA_WALK 
RA_ALL 

Definition at line 189 of file ctx.h.

◆ ruleactionsign_enum

Enumerator
RS_REJECT 
RS_PERMIT 

Definition at line 183 of file ctx.h.

◆ shargsid

enum shargsid
Enumerator
SHARGS_PRIMARY 
SHARGS_INITIAL 
SHARGS_MAX 

Definition at line 244 of file ctx.h.

◆ shflags

enum shflags
Enumerator
SHFL_NONE 
SHFL_RSYNC_ARGS 
SHFL_INCLUDE_LIST 
SHFL_INCLUDE_LIST_PATH 
SHFL_EXCLUDE_LIST_PATH 

Definition at line 235 of file ctx.h.

◆ sigusr_enum

Enumerator
SIGUSR_THREAD_GC 
SIGUSR_INITSYNC 
SIGUSR_BLOPINT 
SIGUSR_DUMP 

Definition at line 199 of file ctx.h.

◆ stat_fields

Enumerator
STAT_FIELD_RESET 
STAT_FIELD_DEV 
STAT_FIELD_INO 
STAT_FIELD_MODE 
STAT_FIELD_NLINK 
STAT_FIELD_UID 
STAT_FIELD_GID 
STAT_FIELD_RDEV 
STAT_FIELD_SIZE 
STAT_FIELD_BLKSIZE 
STAT_FIELD_BLOCKS 
STAT_FIELD_ATIME 
STAT_FIELD_MTIME 
STAT_FIELD_CTIME 
STAT_FIELD_ALL 

Definition at line 289 of file ctx.h.

◆ state_enum

enum state_enum
Enumerator
STATE_EXIT 
STATE_STARTING 
STATE_RUNNING 
STATE_SYNCHANDLER_ERR 
STATE_REHASH 
STATE_PREEXIT 
STATE_LASTSYNC 
STATE_TERM 
STATE_THREAD_GC 
STATE_INITSYNC 
STATE_HOLDON 
STATE_UNKNOWN 

Definition at line 258 of file ctx.h.

◆ syscall_bitmask

Enumerator
CSC_RESET 
CSC_MON_STAT 

Definition at line 308 of file ctx.h.

Variable Documentation

◆ status_descr

char* const status_descr[]
static
Initial value:
= {
[STATE_EXIT] = "exiting",
[STATE_STARTING] = "starting",
[STATE_RUNNING] = "running",
[STATE_SYNCHANDLER_ERR] = "synchandler error",
[STATE_REHASH] = "rehashing",
[STATE_PREEXIT] = "preexit",
[STATE_LASTSYNC] = "lastsync",
[STATE_TERM] = "terminating",
[STATE_THREAD_GC] = "thread gc",
[STATE_INITSYNC] = "initsync",
[STATE_HOLDON] = "hold on",
NULL
}
#define STATE_STARTING(state_p)
Definition ctx.h:257
@ STATE_EXIT
Definition ctx.h:259
@ STATE_TERM
Definition ctx.h:266
@ STATE_SYNCHANDLER_ERR
Definition ctx.h:262
@ STATE_HOLDON
Definition ctx.h:269
@ STATE_REHASH
Definition ctx.h:263
@ STATE_THREAD_GC
Definition ctx.h:267
@ STATE_INITSYNC
Definition ctx.h:268
@ STATE_PREEXIT
Definition ctx.h:264
@ STATE_RUNNING
Definition ctx.h:261
@ STATE_LASTSYNC
Definition ctx.h:265

Definition at line 274 of file ctx.h.