cfengine  3.15.4
About: CFEngine is a configuration management system for configuring and maintaining Unix-like computers (using an own high level policy language). Community version.
  Fossies Dox: cfengine-3.15.4.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

cf3.defs.h
Go to the documentation of this file.
1 /*
2  Copyright 2019 Northern.tech AS
3 
4  This file is part of CFEngine 3 - written and maintained by Northern.tech AS.
5 
6  This program is free software; you can redistribute it and/or modify it
7  under the terms of the GNU General Public License as published by the
8  Free Software Foundation; version 3.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
18 
19  To the extent this program is licensed as part of the Enterprise
20  versions of CFEngine, the applicable Commercial Open Source License
21  (COSL) may apply to this file if you as a licensee so wish it. See
22  included file COSL.txt.
23 */
24 
25 #ifndef CFENGINE_CF3_DEFS_H
26 #define CFENGINE_CF3_DEFS_H
27 
28 /* ALWAYS INCLUDE EITHER THIS FILE OR platform.h FIRST */
29 
30 
31 #include <platform.h>
32 
33 #include <compiler.h>
34 #include <hash_method.h> /* HashMethod */
35 #include <sequence.h>
36 #include <logging.h>
37 
38 #include <definitions.h> /* CF_MAXVARSIZE, CF_BUFSIZE etc */
39 #include <cfnet.h> /* ProtocolVersion, etc */
40 #include <misc_lib.h> /* xsnprintf, ProgrammingError etc */
41 
42 /*******************************************************************/
43 /* Undef platform specific defines that pollute our namespace */
44 /*******************************************************************/
45 
46 #ifdef interface
47 #undef interface
48 #endif
49 
50 /*******************************************************************/
51 /* Various defines */
52 /*******************************************************************/
53 
54 #define CF_MAXFRAGMENT 19 /* abbreviate long promise names to 2*MAXFRAGMENT+3 */
55 #define CF_NONCELEN (CF_BUFSIZE/16)
56 #define CF_MAXLINKSIZE 256
57 #define CF_PROCCOLS 16
58 #define CF_MACROALPHABET 61 /* a-z, A-Z plus a bit */
59 #define CF_ALPHABETSIZE 256
60 #define CF_SAMEMODE 7777
61 /* CF_SAME_OWNER/GROUP should be -1; chown(-1) doesn't change ownership. */
62 #define CF_SAME_OWNER ((uid_t)-1)
63 #define CF_UNKNOWN_OWNER ((uid_t)-2)
64 #define CF_SAME_GROUP ((gid_t)-1)
65 #define CF_UNKNOWN_GROUP ((gid_t)-2)
66 #define CF_INFINITY ((int)999999999)
67 #define CF_MONDAY_MORNING 345600
68 
69 #define MINUTES_PER_HOUR 60
70 #define SECONDS_PER_MINUTE 60
71 #define SECONDS_PER_HOUR (60 * SECONDS_PER_MINUTE)
72 #define SECONDS_PER_DAY (24 * SECONDS_PER_HOUR)
73 #define SECONDS_PER_WEEK (7 * SECONDS_PER_DAY)
74 #define SECONDS_PER_YEAR (365 * SECONDS_PER_DAY)
75 
76 /* Long-term monitoring constants */
77 
78 #define HOURS_PER_SHIFT 6
79 #define SECONDS_PER_SHIFT (HOURS_PER_SHIFT * SECONDS_PER_HOUR)
80 #define SHIFTS_PER_DAY 4
81 #define SHIFTS_PER_WEEK (4*7)
82 
83 #define MAX_MONTH_NAME 9
84 
85 #define MAX_DIGEST_BYTES (512 / 8) /* SHA-512 */
86 #define MAX_DIGEST_HEX (MAX_DIGEST_BYTES * 2)
87 
88 
89 /*******************************************************************/
90 
91 #define CF_FILECHANGE "file_change.log"
92 #define CF_FILECHANGE_NEW "file_changes.log"
93 #define CF_PROMISE_LOG "promise_summary.log"
94 
95 #define CF_ENV_FILE "env_data"
96 
97 #define CF_DB_REPAIR_TRIGGER "db_repair_required"
98 
99 #define CF_SAVED ".cfsaved"
100 #define CF_EDITED ".cfedited"
101 #define CF_NEW ".cfnew"
102 #define CFD_TERMINATOR "---cfXen/gine/cfXen/gine---"
103 #define CFD_TRUE "CFD_TRUE"
104 #define CFD_FALSE "CFD_FALSE"
105 #define CFD_FALSE_SIZE sizeof(CFD_FALSE) // size of CFD_FALSE including terminator
106 #define CF_ANYCLASS "any"
107 #define CF_SMALL_OFFSET 2
108 
109 #define CF_NS ':' // namespace character separator
110 
111 /* Mangled namespace and scope characters, in order for the iteration engine
112  * to VariablePut() to THIS scope single elements of namespaced iterables
113  * (slists/containers). See expand.c and iteration.c. */
114 #define CF_MANGLED_NS '*'
115 #define CF_MANGLED_SCOPE '#'
116 
117 /*****************************************************************************/
118 
119 /* Auditing key */
120 
121 typedef enum
122 { // Logging of outcomes in cf-agent.c:
123  PROMISE_RESULT_SKIPPED = 's', // <Also skipped in logging>
124  PROMISE_RESULT_NOOP = 'n', // Kept
125  PROMISE_RESULT_CHANGE = 'c', // Repaired
126  PROMISE_RESULT_WARN = 'w', // Not kept
127  PROMISE_RESULT_FAIL = 'f', // Not kept
128  PROMISE_RESULT_DENIED = 'd', // Not kept
129  PROMISE_RESULT_TIMEOUT = 't', // Timed out
130  PROMISE_RESULT_INTERRUPTED = 'i' // Not kept
132 
133 /*****************************************************************************/
134 
135 #define CF_FAILEDSTR "BAD: Unspecified server refusal (see verbose server output)"
136 #define CF_CHANGEDSTR1 "BAD: File changed " /* Split this so it cannot be recognized */
137 #define CF_CHANGEDSTR2 "while copying"
138 
139 #define CF_START_DOMAIN "undefined.domain"
140 
141 #define CF_GRAINS 64
142 #define CF_NETATTR 7 /* icmp udp dns tcpsyn tcpfin tcpack */
143 #define CF_MEASURE_INTERVAL (5.0*60.0)
144 #define CF_SHIFT_INTERVAL (6*3600)
145 
146 #define CF_OBSERVABLES 100
147 
148 /* Special exit codes */
149 #define EC_EVAL_ABORTED 6 /* like SIGABRT, but signal exit codes are 120+SIG */
150 
151 typedef struct
152 {
153  char *name;
154  char *description;
155  char *units;
160 
162 {
235  ob_spare
236 };
237 
238 #include <statistics.h> /* QPoint */
239 
240 typedef struct
241 {
242  time_t t;
244 } Event;
245 
246 typedef struct
247 {
248  time_t last_seen;
250 } Averages;
251 
252 
253 /******************************************************************/
254 
255 /** Data for an individual promise (lock), as it's stored in the lock DB
256  * (/var/cfengine/state/cf_lock.lmdb). This is the value, the key is an MD5
257  * hash of various strings identifying the promise.
258  *
259  * Most C code doesn't use this struct directly, instead AcquireLock() is called
260  * which uses functions in locks.c to read the LockData from LMDB and create a
261  * new CfLock struct.
262  *
263  * Please ensure the padding in this struct is initialized to 0
264  * LockData lock = { 0 }; // Will zero padding as well as members
265  * lock.pid = [...]
266  */
267 typedef struct
268 {
269  pid_t pid; // 4 bytes
270  // 4 bytes padding
271  time_t time; // 8 bytes
272  time_t process_start_time; // 8 bytes
273 } LockData;
274 
275 /*****************************************************************************/
276 
277 #ifdef __MINGW32__
278 # define NULLFILE "nul"
279 # define EXEC_SUFFIX ".exe"
280 #else
281 # define NULLFILE "/dev/null"
282 # define EXEC_SUFFIX ""
283 #endif /* !__MINGW32__ */
284 
285 #define CF_WORDSIZE 8 /* Number of bytes in a word */
286 
287 /*******************************************************************/
288 
289 typedef struct Item_ Item;
290 
291 /*******************************************************************/
292 
293 typedef enum
294 {
298 
299 /*******************************************************************/
300 
301 typedef enum
302 {
303  CONTEXT_STATE_POLICY_RESET, /* Policy when trying to add already defined persistent states */
306 
307 /*******************************************************************/
308 
309 typedef struct UidList_ UidList;
310 
311 // TODO: why do UIDs have their own list type? Clean up.
312 struct UidList_
313 {
314 #ifdef __MINGW32__ // TODO: remove uid for NT ?
315  char sid[CF_MAXSIDSIZE]; /* Invalid sid indicates unset */
316 #endif /* __MINGW32__ */
317  uid_t uid;
318  char *uidname; /* when uid is -2 */
320 };
321 
322 /*******************************************************************/
323 
324 typedef struct GidList_ GidList;
325 
326 // TODO: why do UIDs have their own list type? Clean up.
327 struct GidList_
328 {
329  gid_t gid;
330  char *gidname; /* when gid is -2 */
332 };
333 
334 /*************************************************************************/
335 /* Fundamental (meta) types */
336 /*************************************************************************/
337 
338 #define CF_UNDEFINED -1
339 #define CF_NOINT -678L
340 #define CF_UNDEFINED_ITEM (void *)0x1234
341 
342 #define DEFAULTMODE ((mode_t)0755)
343 
344 #define CF_DONEPASSES 4
345 
346 #define CFPULSETIME 60
347 
348 /*************************************************************************/
349 /* Parsing and syntax tree structures */
350 /*************************************************************************/
351 
352 extern const int CF3_MODULES;
353 
354 /*************************************************************************/
355 
356 typedef struct Policy_ Policy;
357 typedef struct Bundle_ Bundle;
358 typedef struct Body_ Body;
359 typedef struct Promise_ Promise;
360 typedef struct PromiseType_ PromiseType;
361 typedef struct FnCall_ FnCall;
362 
363 /*************************************************************************/
364 /* Abstract datatypes */
365 /*************************************************************************/
366 
367 typedef enum
368 {
387 
388 /*************************************************************************/
389 
390 #define CF_COMMONC "common"
391 #define CF_AGENTC "agent"
392 #define CF_SERVERC "server"
393 #define CF_MONITORC "monitor"
394 #define CF_EXECC "executor"
395 #define CF_RUNC "runagent"
396 #define CF_KEYGEN "keygenerator"
397 #define CF_HUBC "hub"
398 
399 typedef enum
400 {
411 
412 /*************************************************************************/
413 
414 typedef enum
415 {
440 
441 /*************************************************************************/
442 
443 typedef enum
444 {
492 
493 /*************************************************************************/
494 
495 typedef enum
496 {
511 
512 typedef enum
513 {
517 
518 /*************************************************************************/
519 
520 typedef enum
521 {
539 
540 /*************************************************************************/
541 /* Syntax module range/pattern constants for type validation */
542 /*************************************************************************/
543 
544 #define CF_BUNDLE (void*)1234 /* any non-null value, not used */
545 
546 /* Initial values for max=low, min=high when determining a range, for
547  * which we'll revise max upwards and in downwards if given meaningful
548  * bounds for them. Quite why they're these values, rather than 9999
549  * (longest string of 9s to fit in an int16) or 999999999 (similar for
550  * int32) remains a mystery. */
551 #define CF_HIGHINIT 999999L
552 #define CF_LOWINIT -999999L
553 
554 #define CF_SIGNALRANGE "hup,int,trap,kill,pipe,cont,abrt,stop,quit,term,child,usr1,usr2,bus,segv"
555 #define CF_BOOL "true,false,yes,no,on,off"
556 #define CF_LINKRANGE "symlink,hardlink,relative,absolute"
557 #define CF_TIMERANGE "0,2147483647" /* i.e. "0,0x7fffffff" */
558 
559 /* Syntax checker accepts absurdly big numbers for backwards
560  * compatibility. WARNING: internally they are stored as longs, possibly
561  * being truncated to LONG_MAX within IntFromString(). */
562 #define CF_VALRANGE "0,99999999999"
563 #define CF_INTRANGE "-99999999999,99999999999"
564 
565 #define CF_INTLISTRANGE "[-0-9_$(){}\\[\\].]+"
566 #define CF_REALRANGE "-9.99999E100,9.99999E100"
567 #define CF_CHARRANGE "^.$"
568 
569 #define CF_MODERANGE "[0-7augorwxst,+-=]+"
570 #define CF_BSDFLAGRANGE "[+-]*[(arch|archived|nodump|opaque|sappnd|sappend|schg|schange|simmutable|sunlnk|sunlink|uappnd|uappend|uchg|uchange|uimmutable|uunlnk|uunlink)]+"
571 #define CF_CLASSRANGE "[a-zA-Z0-9_!&@@$|.()\\[\\]{}:]+"
572 #define CF_IDRANGE "[a-zA-Z0-9_$(){}\\[\\].:]+"
573 #define CF_USERRANGE "[a-zA-Z0-9_$.-]+"
574 #define CF_IPRANGE "[a-zA-Z0-9_$(){}.:-]+"
575 #define CF_FNCALLRANGE "[a-zA-Z0-9_(){}.$@]+"
576 #define CF_NAKEDLRANGE "@[(][a-zA-Z0-9_$(){}\\[\\].:]+[)]"
577 #define CF_ANYSTRING ".*"
578 
579 #define CF_KEYSTRING "^(SHA|MD5)=[0123456789abcdef]*$"
580 
581 
582 #ifndef __MINGW32__
583 # define CF_ABSPATHRANGE "\"?(/.*)"
584 #else
585 // can start with e.g. c:\... or "c:\... | unix (for Cygwin-style paths)
586 # define CF_ABSPATHRANGE "\"?(([a-zA-Z]:\\\\.*)|(/.*))"
587 #endif
588 
589 /* Any non-empty string can be an absolute path under Unix */
590 #define CF_PATHRANGE ".+"
591 
592 // Put this here now for caching efficiency
593 
594 #define SOFTWARE_PACKAGES_CACHE "software_packages.csv"
595 #define SOFTWARE_PATCHES_CACHE "software_patches_avail.csv"
596 
597 #define PACKAGES_CONTEXT "cf_pack_context"
598 #define PACKAGES_CONTEXT_ANYVER "cf_pack_context_anyver"
599 
600 /*************************************************************************/
601 
602 typedef struct EvalContext_ EvalContext;
603 
604 typedef enum
605 {
610  RVAL_TYPE_NOPROMISEE = 'X' // TODO: must be another hack
612 
613 typedef struct
614 {
615  void *item;
617 } Rval;
618 
619 typedef struct Rlist_ Rlist;
620 
621 typedef struct ConstraintSyntax_ ConstraintSyntax;
622 typedef struct BodySyntax_ BodySyntax;
623 
624 /*
625  * Promise types or bodies may optionally provide parse-tree check function, called after
626  * parsing to do a preliminary syntax/semantic checking of unexpanded promises.
627  *
628  * This check function should populate #errors sequence with errors it finds and
629  * return false in case it has found at least one error.
630  *
631  * If the check function has not found any errors, it should return true.
632  */
633 typedef bool (*PromiseCheckFn)(const Promise *pp, Seq *errors);
634 typedef bool (*BodyCheckFn)(const Body *body, Seq *errors);
635 
636 typedef enum
637 {
642 
643 typedef enum
644 {
653 
655 {
656  const char *lval;
658  union
659  {
660  const char *validation_string;
662  } range;
663  const char *description;
665 };
666 
668 {
669  const char *body_type;
673 };
674 
675 typedef struct
676 {
677  const char *bundle_type;
678  const char *promise_type;
683 
684 /*************************************************************************/
685 
686 typedef struct Constraint_ Constraint;
687 
688 typedef enum
689 {
694 
695 typedef enum
696 {
706 
707 typedef enum
708 {
715 
717 {
720 };
721 
722 typedef enum
723 {
728  BACKUP_OPTION_REPOSITORY_STORE /* for internal use only */
730 
732 {
735  cfa_skip
736 };
737 
739 {
742 };
743 
744 typedef enum
745 {
751 
753 {
768  cfa_segv
769 };
770 
771 typedef enum
772 {
782 
783 typedef enum
784 {
789 
790 typedef enum
791 {
800 
801 typedef enum
802 {
807 
808 typedef enum
809 {
813  PROMISE_STATE_ANY = 'x'
815 
816 /************************************************************************************/
817 
818 typedef enum
819 {
823 
824 /************************************************************************************/
825 
826 typedef enum
827 {
832 
833 typedef enum
834 {
840 
841 typedef enum
842 {
849 
850 typedef enum
851 {
856 
857 typedef struct
858 {
864  /* Only used on Windows */
866 } Acl;
867 
868 typedef enum
869 {
873 }
874 inherit_t;
875 
876 typedef enum
877 {
883 
884 /*************************************************************************/
885 /* Runtime constraint structures */
886 /*************************************************************************/
887 
888 #define OVECCOUNT 30
889 
890 /*******************************************************************/
891 
892 typedef struct
893 {
894  char *last;
895  char *lock;
896  bool is_dummy;
897 } CfLock;
898 
899 /*************************************************************************/
900 
901 typedef struct
902 {
903  char *host;
904  char *source;
905  char *mounton;
906  char *options;
907  int unmount;
908 } Mount;
909 
910 /*************************************************************************/
911 
912 typedef struct
913 {
916  int depth;
917  int xdev;
920  Rlist *exclude_dirs;
922 
923 /*************************************************************************/
924 
925 typedef struct
926 {
927  enum cfopaction action;
931  char *log_string;
932  char *log_kept;
934  char *log_failed;
936  char *measure_id;
937  int audit;
941 
942 /*************************************************************************/
943 
944 typedef enum
945 {
950 
951 typedef struct
952 {
959  int persist;
967 } DefineClasses;
968 
969 /*************************************************************************/
970 /* SQL Database connectors */
971 /*************************************************************************/
972 
973 typedef enum
974 {
979 
980 /*************************************************************************/
981 /* Package promises */
982 /*************************************************************************/
983 
984 typedef struct PackageItem_ PackageItem;
985 typedef struct PackageManager_ PackageManager;
986 
988 {
989  char *manager;
996 };
997 
998 /*************************************************************************/
999 
1001 {
1002  char *name;
1003  char *version;
1004  char *arch;
1007 };
1008 
1009 
1010 typedef struct
1011 {
1012  unsigned int expires;
1013  PersistentClassPolicy policy;
1014  char tags[]; // variable length, must be zero terminated
1016 
1017 /*************************************************************************/
1018 
1019 typedef struct
1020 {
1021  mode_t plus;
1022  mode_t minus;
1025  char *findertype;
1026  u_long plus_flags; /* for *BSD chflags */
1027  u_long minus_flags; /* for *BSD chflags */
1028  int rxdirs;
1029 } FilePerms;
1030 
1031 /*************************************************************************/
1032 
1033 typedef struct
1034 {
1041  long max_size;
1042  long min_size;
1043  time_t max_ctime;
1044  time_t min_ctime;
1045  time_t max_mtime;
1046  time_t min_mtime;
1047  time_t max_atime;
1048  time_t min_atime;
1049  char *exec_regex;
1053  char *result;
1054 } FileSelect;
1055 
1056 /*************************************************************************/
1057 
1058 typedef struct
1059 {
1060  enum
1061  {
1063  TIDY_LINK_KEEP
1064  } dirlinks;
1065  int rmdirs;
1066 } FileDelete;
1067 
1068 /*************************************************************************/
1069 
1070 typedef struct
1071 {
1072  char *newname;
1074  int disable;
1075  int rotate;
1076  mode_t plus;
1077  mode_t minus;
1078 } FileRename;
1079 
1080 /*************************************************************************/
1081 
1082 typedef struct
1083 {
1087  int update;
1088 } FileChange;
1089 
1090 /*************************************************************************/
1091 
1092 typedef struct
1093 {
1094  char *source;
1097  enum cfnofile when_no_file;
1098  enum cflinkchildren when_linking_children;
1100 } FileLink;
1101 
1102 /*************************************************************************/
1103 
1104 typedef enum
1105 {
1110 
1111 typedef struct
1112 {
1114  mode_t umask;
1115  uid_t owner;
1116  gid_t group;
1117  char *chdir;
1118  char *chroot;
1119  int preview;
1120  bool nooutput;
1121  int timeout;
1122 } ExecContain;
1123 
1124 /*************************************************************************/
1125 
1126 typedef struct
1127 {
1132 } ProcessCount;
1133 
1134 /*************************************************************************/
1135 
1136 typedef struct
1137 {
1139  long min_pid;
1140  long max_pid;
1141  long min_ppid;
1142  long max_ppid;
1143  long min_pgid;
1144  long max_pgid;
1149  time_t min_ttime;
1150  time_t max_ttime;
1151  time_t min_stime;
1152  time_t max_stime;
1153  long min_pri;
1154  long max_pri;
1157  char *status;
1158  char *command;
1159  char *tty;
1161 } ProcessSelect;
1162 
1163 #define PROCESS_SELECT_INIT { \
1164  .owner = NULL, \
1165  .min_pid = CF_NOINT, \
1166  .max_pid = CF_NOINT, \
1167  .min_ppid = CF_NOINT, \
1168  .max_ppid = CF_NOINT, \
1169  .min_pgid = CF_NOINT, \
1170  .max_pgid = CF_NOINT, \
1171  .min_rsize = CF_NOINT, \
1172  .max_rsize = CF_NOINT, \
1173  .min_vsize = CF_NOINT, \
1174  .max_vsize = CF_NOINT, \
1175  .min_ttime = CF_NOINT, \
1176  .max_ttime = CF_NOINT, \
1177  .min_stime = CF_NOINT, \
1178  .max_stime = CF_NOINT, \
1179  .min_pri = CF_NOINT, \
1180  .max_pri = CF_NOINT, \
1181  .min_thread = CF_NOINT, \
1182  .max_thread = CF_NOINT, \
1183  .status = NULL, \
1184  .command = NULL, \
1185  .tty = NULL, \
1186  .process_result = NULL, \
1187 }
1188 
1189 /*************************************************************************/
1190 
1191 typedef struct
1192 {
1198 
1199 /*************************************************************************/
1200 
1201 typedef struct
1202 {
1207  int rotate;
1208  int inherit;
1209 } EditDefaults;
1210 
1211 /*************************************************************************/
1212 
1213 typedef struct
1214 {
1221 } LineSelect;
1222 
1223 typedef struct
1224 {
1231 } EditXml;
1232 
1233 typedef struct
1234 {
1237  char *first_last;
1238 } EditLocation;
1239 
1240 typedef struct
1241 {
1243  char *select_end;
1247 } EditRegion;
1248 
1249 typedef struct
1250 {
1258 } EditColumn;
1259 
1260 typedef struct
1261 {
1264 } EditReplace;
1265 
1266 /*************************************************************************/
1267 
1268 typedef struct
1269 {
1270  char *mount_type;
1275  int unmount;
1276 } StorageMount;
1277 
1278 typedef struct
1279 {
1285 } StorageVolume;
1286 
1287 /*************************************************************************/
1288 
1289 typedef struct
1290 {
1294  char *result;
1297  char *filename;
1298  char *to_file;
1301 } Report;
1302 
1303 /*************************************************************************/
1304 
1305 typedef struct
1306 {
1313 
1315 
1321 
1326 
1329 
1334 
1343 
1345 
1347 
1350 
1352 
1354  bool is_empty;
1355 } Packages;
1356 
1357 /*************************************************************************/
1358 
1359 typedef struct
1360 {
1361  char *name;
1368 
1369 
1370 typedef struct
1371 {
1372  Rlist *control_package_inventory; /* list of all inventory used package managers
1373  * names taken from common control */
1374  char *control_package_module; /* policy default package manager name */
1375  Seq *package_modules_bodies; /* list of all discovered in policy PackageManagerBody
1376  * bodies taken from common control */
1378 
1379 
1380 typedef struct
1381 {
1388 
1389  bool is_empty;
1390 } NewPackages;
1391 
1392 /*************************************************************************/
1393 
1394 typedef enum
1395 {
1402 
1403 typedef struct
1404 {
1412  char *units;
1413  int growing;
1414 } Measurement;
1415 
1416 typedef struct
1417 {
1423  char *server;
1424  char *type;
1425  char *operation;
1429 } Database;
1430 
1431 /*************************************************************************/
1432 typedef enum
1433 {
1439 
1440 typedef enum
1441 {
1446 
1447 typedef struct
1448 {
1450  char *uid;
1452  char *password;
1457  char *home_dir;
1458  char *shell;
1459 } User;
1460 
1461 /*************************************************************************/
1462 
1463 typedef struct
1464 {
1472 } Services;
1473 
1474 /*************************************************************************/
1475 
1476 typedef enum
1477 {
1485 
1486 typedef struct
1487 {
1488  int cpus;
1489  int memory;
1490  int disk;
1491  char *baseline;
1492  char *spec;
1494  char *name;
1495  char *host;
1496  char *type;
1498 } Environments;
1499 
1500 /* This is huge, but the simplification of logic is huge too
1501  so we leave it to the compiler to optimize */
1502 
1503 #include <json.h>
1504 
1505 typedef struct
1506 {
1507  const char *source;
1508  const char *port; /* port or service name */
1516  int stealth;
1518  int collapse; /* collapse_destination_dir */
1523  size_t min_size; /* Safety margin not search criterion */
1524  size_t max_size;
1526  int encrypt;
1527  int verify;
1528  int purge;
1529  short timeout;
1532 } FileCopy;
1533 
1534 typedef struct
1535 {
1539  FileDelete delete;
1554  char *pathtype;
1555  char *file_type;
1556  char *repository;
1561  int touch;
1562  int create;
1564  int inherit;
1565 
1569 
1571  char *args;
1573  int module;
1574  bool inform;
1575 
1581 
1585 
1605 
1606  /* editline */
1607 
1620  char *sourcetype;
1624 } Attributes;
1625 
1626 #define ZeroAttributes {\
1627  .select = {0},\
1628  .perms = {0},\
1629  .copy = {0},\
1630  .delete = {0},\
1631  .rename = {0},\
1632  .change = {0},\
1633  .link = {0},\
1634  .edits = {0},\
1635  .packages = {0},\
1636  .new_packages = {0},\
1637  .context = {0},\
1638  .measure = {0},\
1639  .acl = {0},\
1640  .database = {0},\
1641  .service = {0},\
1642  .users = {0},\
1643  .env = {0},\
1644  .transformer = NULL,\
1645  .pathtype = NULL,\
1646  .file_type = NULL,\
1647  .repository = NULL,\
1648  .edit_template = NULL,\
1649  .edit_template_string = NULL,\
1650  .template_method = NULL,\
1651  .template_data = NULL,\
1652  .touch = 0,\
1653  .create = 0,\
1654  .move_obstructions = 0,\
1655  .inherit = 0,\
1656  .recursion = { 0 },\
1657  .transaction = { 0 },\
1658  .classes = { 0 },\
1659  .contain = { 0 },\
1660  .args = NULL,\
1661  .arglist = NULL,\
1662  .module = 0,\
1663  .inform = false,\
1664  .signals = NULL,\
1665  .process_stop = NULL,\
1666  .restart_class = NULL,\
1667  .process_count = { 0 },\
1668  .process_select = { 0 },\
1669  .report = { 0 },\
1670  .mount = { 0 },\
1671  .volume = { 0 },\
1672  .havedepthsearch = 0,\
1673  .haveselect = 0,\
1674  .haverename = 0,\
1675  .havedelete = 0,\
1676  .haveperms = 0,\
1677  .havechange = 0,\
1678  .havecopy = 0,\
1679  .havelink = 0,\
1680  .haveeditline = 0,\
1681  .haveeditxml = 0,\
1682  .haveedit = 0,\
1683  .havecontain = 0,\
1684  .haveclasses = 0,\
1685  .havetrans = 0,\
1686  .haveprocess_count = 0,\
1687  .havemount = 0,\
1688  .havevolume = 0,\
1689  .havebundle = 0,\
1690  .havepackages = 0,\
1691  .region = { 0 },\
1692  .location = { 0 },\
1693  .column = { 0 },\
1694  .replace = { 0 },\
1695  .xml = { 0 },\
1696  .haveregion = 0,\
1697  .havelocation = 0,\
1698  .havecolumn = 0,\
1699  .havereplace = 0,\
1700  .haveinsertselect = 0,\
1701  .havedeleteselect = 0,\
1702  .line_select = { 0 },\
1703  .sourcetype = NULL,\
1704  .expandvars = 0,\
1705  .not_matching = 0,\
1706  .insert_match = NULL\
1707 }
1708 
1709 /*************************************************************************/
1710 /* common macros */
1711 /*************************************************************************/
1712 
1713 #include <rlist.h>
1714 #include <dbm_api.h>
1715 #include <sequence.h>
1716 #include <prototypes3.h>
1717 #include <alloc.h>
1718 #include <cf3.extern.h>
1719 
1720 extern const ConstraintSyntax CF_COMMON_BODIES[];
1721 extern const ConstraintSyntax CF_VARBODY[];
1722 extern const PromiseTypeSyntax *const CF_ALL_PROMISE_TYPES[];
1723 extern const ConstraintSyntax CFG_CONTROLBODY[];
1724 extern const BodySyntax CONTROL_BODIES[];
1725 extern const ConstraintSyntax CFH_CONTROLBODY[];
1727 extern const ConstraintSyntax CF_CLASSBODY[];
1728 extern const ConstraintSyntax CFA_CONTROLBODY[];
1730 
1732 
1733 #endif
const ConstraintSyntax CF_COMMON_BODIES[]
Definition: mod_common.c:487
signalnames
Definition: cf3.defs.h:753
@ cfa_usr2
Definition: cf3.defs.h:766
@ cfa_quit
Definition: cf3.defs.h:762
@ cfa_term
Definition: cf3.defs.h:763
@ cfa_child
Definition: cf3.defs.h:764
@ cfa_pipe
Definition: cf3.defs.h:758
@ cfa_kill
Definition: cf3.defs.h:757
@ cfa_segv
Definition: cf3.defs.h:768
@ cfa_bus
Definition: cf3.defs.h:767
@ cfa_hup
Definition: cf3.defs.h:754
@ cfa_abrt
Definition: cf3.defs.h:760
@ cfa_int
Definition: cf3.defs.h:755
@ cfa_usr1
Definition: cf3.defs.h:765
@ cfa_stop
Definition: cf3.defs.h:761
@ cfa_cont
Definition: cf3.defs.h:759
@ cfa_trap
Definition: cf3.defs.h:756
MeasurePolicy
Definition: cf3.defs.h:1395
@ MEASURE_POLICY_FIRST
Definition: cf3.defs.h:1398
@ MEASURE_POLICY_LAST
Definition: cf3.defs.h:1399
@ MEASURE_POLICY_SUM
Definition: cf3.defs.h:1397
@ MEASURE_POLICY_NONE
Definition: cf3.defs.h:1400
@ MEASURE_POLICY_AVERAGE
Definition: cf3.defs.h:1396
FileComparator
Definition: cf3.defs.h:696
@ FILE_COMPARATOR_ATIME
Definition: cf3.defs.h:697
@ FILE_COMPARATOR_NONE
Definition: cf3.defs.h:704
@ FILE_COMPARATOR_HASH
Definition: cf3.defs.h:701
@ FILE_COMPARATOR_MTIME
Definition: cf3.defs.h:698
@ FILE_COMPARATOR_EXISTS
Definition: cf3.defs.h:703
@ FILE_COMPARATOR_CHECKSUM
Definition: cf3.defs.h:700
@ FILE_COMPARATOR_BINARY
Definition: cf3.defs.h:702
@ FILE_COMPARATOR_CTIME
Definition: cf3.defs.h:699
PackageVersionComparator
Definition: cf3.defs.h:791
@ PACKAGE_VERSION_COMPARATOR_GE
Definition: cf3.defs.h:796
@ PACKAGE_VERSION_COMPARATOR_LT
Definition: cf3.defs.h:795
@ PACKAGE_VERSION_COMPARATOR_NONE
Definition: cf3.defs.h:798
@ PACKAGE_VERSION_COMPARATOR_NEQ
Definition: cf3.defs.h:793
@ PACKAGE_VERSION_COMPARATOR_LE
Definition: cf3.defs.h:797
@ PACKAGE_VERSION_COMPARATOR_EQ
Definition: cf3.defs.h:792
@ PACKAGE_VERSION_COMPARATOR_GT
Definition: cf3.defs.h:794
NewPackageAction
Definition: cf3.defs.h:784
@ NEW_PACKAGE_ACTION_NONE
Definition: cf3.defs.h:787
@ NEW_PACKAGE_ACTION_PRESENT
Definition: cf3.defs.h:786
@ NEW_PACKAGE_ACTION_ABSENT
Definition: cf3.defs.h:785
bool(* PromiseCheckFn)(const Promise *pp, Seq *errors)
Definition: cf3.defs.h:633
Interval
Definition: cf3.defs.h:689
@ INTERVAL_HOURLY
Definition: cf3.defs.h:690
@ INTERVAL_NONE
Definition: cf3.defs.h:692
@ INTERVAL_DAILY
Definition: cf3.defs.h:691
PersistentClassPolicy
Definition: cf3.defs.h:302
@ CONTEXT_STATE_POLICY_RESET
Definition: cf3.defs.h:303
@ CONTEXT_STATE_POLICY_PRESERVE
Definition: cf3.defs.h:304
const BodySyntax CONTROL_BODIES[]
Definition: mod_common.c:458
PackageAction
Definition: cf3.defs.h:772
@ PACKAGE_ACTION_VERIFY
Definition: cf3.defs.h:779
@ PACKAGE_ACTION_DELETE
Definition: cf3.defs.h:774
@ PACKAGE_ACTION_NONE
Definition: cf3.defs.h:780
@ PACKAGE_ACTION_PATCH
Definition: cf3.defs.h:778
@ PACKAGE_ACTION_ADD
Definition: cf3.defs.h:773
@ PACKAGE_ACTION_REINSTALL
Definition: cf3.defs.h:775
@ PACKAGE_ACTION_ADDUPDATE
Definition: cf3.defs.h:777
@ PACKAGE_ACTION_UPDATE
Definition: cf3.defs.h:776
FnCallCategory
Definition: cf3.defs.h:644
@ FNCALL_CATEGORY_FILES
Definition: cf3.defs.h:646
@ FNCALL_CATEGORY_IO
Definition: cf3.defs.h:647
@ FNCALL_CATEGORY_UTILS
Definition: cf3.defs.h:650
@ FNCALL_CATEGORY_SYSTEM
Definition: cf3.defs.h:645
@ FNCALL_CATEGORY_INTERNAL
Definition: cf3.defs.h:651
@ FNCALL_CATEGORY_COMM
Definition: cf3.defs.h:648
@ FNCALL_CATEGORY_DATA
Definition: cf3.defs.h:649
inherit_t
Definition: cf3.defs.h:869
@ INHERIT_ACCESS_ONLY
Definition: cf3.defs.h:870
@ INHERIT_DEFAULT_ONLY
Definition: cf3.defs.h:871
@ INHERIT_ACCESS_AND_DEFAULT
Definition: cf3.defs.h:872
const ConstraintSyntax CFEX_CONTROLBODY[]
Definition: mod_common.c:376
FileChangeReport
Definition: cf3.defs.h:745
@ FILE_CHANGE_REPORT_CONTENT_CHANGE
Definition: cf3.defs.h:747
@ FILE_CHANGE_REPORT_NONE
Definition: cf3.defs.h:746
@ FILE_CHANGE_REPORT_ALL
Definition: cf3.defs.h:749
@ FILE_CHANGE_REPORT_STATS_CHANGE
Definition: cf3.defs.h:748
DatabaseType
Definition: cf3.defs.h:974
@ DATABASE_TYPE_NONE
Definition: cf3.defs.h:977
@ DATABASE_TYPE_POSTGRES
Definition: cf3.defs.h:976
@ DATABASE_TYPE_MYSQL
Definition: cf3.defs.h:975
ExecControl
Definition: cf3.defs.h:496
@ EXEC_CONTROL_NONE
Definition: cf3.defs.h:509
@ EXEC_CONTROL_AGENT_EXPIREAFTER
Definition: cf3.defs.h:508
@ EXEC_CONTROL_MAILMAXLINES
Definition: cf3.defs.h:502
@ EXEC_CONTROL_SCHEDULE
Definition: cf3.defs.h:505
@ EXEC_CONTROL_SMTPSERVER
Definition: cf3.defs.h:501
@ EXEC_CONTROL_MAILFILTER_EXCLUDE
Definition: cf3.defs.h:504
@ EXEC_CONTROL_EXECCOMMAND
Definition: cf3.defs.h:507
@ EXEC_CONTROL_SPLAYTIME
Definition: cf3.defs.h:497
@ EXEC_CONTROL_MAILFILTER_INCLUDE
Definition: cf3.defs.h:503
@ EXEC_CONTROL_MAILTO
Definition: cf3.defs.h:499
@ EXEC_CONTROL_EXECUTORFACILITY
Definition: cf3.defs.h:506
@ EXEC_CONTROL_MAILSUBJECT
Definition: cf3.defs.h:500
@ EXEC_CONTROL_MAILFROM
Definition: cf3.defs.h:498
const ConstraintSyntax CF_CLASSBODY[]
Definition: mod_common.c:217
const ConstraintSyntax CFG_CONTROLBODY[]
Definition: mod_common.c:245
AclMethod
Definition: cf3.defs.h:827
@ ACL_METHOD_OVERWRITE
Definition: cf3.defs.h:829
@ ACL_METHOD_APPEND
Definition: cf3.defs.h:828
@ ACL_METHOD_NONE
Definition: cf3.defs.h:830
#define CF_OBSERVABLES
Definition: cf3.defs.h:146
TypeSequence
Definition: cf3.defs.h:521
@ TYPE_SEQUENCE_SERVICES
Definition: cf3.defs.h:532
@ TYPE_SEQUENCE_DEFAULTS
Definition: cf3.defs.h:524
@ TYPE_SEQUENCE_FILES
Definition: cf3.defs.h:527
@ TYPE_SEQUENCE_PACKAGES
Definition: cf3.defs.h:528
@ TYPE_SEQUENCE_METHODS
Definition: cf3.defs.h:530
@ TYPE_SEQUENCE_COMMANDS
Definition: cf3.defs.h:533
@ TYPE_SEQUENCE_PROCESSES
Definition: cf3.defs.h:531
@ TYPE_SEQUENCE_REPORTS
Definition: cf3.defs.h:536
@ TYPE_SEQUENCE_STORAGE
Definition: cf3.defs.h:534
@ TYPE_SEQUENCE_USERS
Definition: cf3.defs.h:526
@ TYPE_SEQUENCE_ENVIRONMENTS
Definition: cf3.defs.h:529
@ TYPE_SEQUENCE_META
Definition: cf3.defs.h:522
@ TYPE_SEQUENCE_DATABASES
Definition: cf3.defs.h:535
@ TYPE_SEQUENCE_VARS
Definition: cf3.defs.h:523
@ TYPE_SEQUENCE_CONTEXTS
Definition: cf3.defs.h:525
@ TYPE_SEQUENCE_NONE
Definition: cf3.defs.h:537
ShellType
Definition: cf3.defs.h:1105
@ SHELL_TYPE_USE
Definition: cf3.defs.h:1107
@ SHELL_TYPE_NONE
Definition: cf3.defs.h:1106
@ SHELL_TYPE_POWERSHELL
Definition: cf3.defs.h:1108
CommonControl
Definition: cf3.defs.h:415
@ COMMON_CONTROL_VERSION
Definition: cf3.defs.h:421
@ COMMON_CONTROL_REQUIRE_COMMENTS
Definition: cf3.defs.h:425
@ COMMON_CONTROL_OUTPUT_PREFIX
Definition: cf3.defs.h:423
@ COMMON_CONTROL_DOMAIN
Definition: cf3.defs.h:424
@ COMMON_CONTROL_PACKAGE_INVENTORY
Definition: cf3.defs.h:436
@ COMMON_CONTROL_IGNORE_MISSING_INPUTS
Definition: cf3.defs.h:419
@ COMMON_CONTROL_FIPS_MODE
Definition: cf3.defs.h:430
@ COMMON_CONTROL_SYSLOG_HOST
Definition: cf3.defs.h:428
@ COMMON_CONTROL_CACHE_SYSTEM_FUNCTIONS
Definition: cf3.defs.h:432
@ COMMON_CONTROL_BWLIMIT
Definition: cf3.defs.h:431
@ COMMON_CONTROL_LICENSES
Definition: cf3.defs.h:426
@ COMMON_CONTROL_INPUTS
Definition: cf3.defs.h:420
@ COMMON_CONTROL_LASTSEEN_EXPIRE_AFTER
Definition: cf3.defs.h:422
@ COMMON_CONTROL_TLS_CIPHERS
Definition: cf3.defs.h:434
@ COMMON_CONTROL_MAX
Definition: cf3.defs.h:438
@ COMMON_CONTROL_PROTOCOL_VERSION
Definition: cf3.defs.h:433
@ COMMON_CONTROL_BUNDLESEQUENCE
Definition: cf3.defs.h:416
@ COMMON_CONTROL_TLS_MIN_VERSION
Definition: cf3.defs.h:435
@ COMMON_CONTROL_GOALPATTERNS
Definition: cf3.defs.h:417
@ COMMON_CONTROL_SITE_CLASSES
Definition: cf3.defs.h:427
@ COMMON_CONTROL_IGNORE_MISSING_BUNDLES
Definition: cf3.defs.h:418
@ COMMON_CONTROL_SYSLOG_PORT
Definition: cf3.defs.h:429
@ COMMON_CONTROL_PACKAGE_MODULE
Definition: cf3.defs.h:437
RvalType
Definition: cf3.defs.h:605
@ RVAL_TYPE_CONTAINER
Definition: cf3.defs.h:609
@ RVAL_TYPE_LIST
Definition: cf3.defs.h:607
@ RVAL_TYPE_SCALAR
Definition: cf3.defs.h:606
@ RVAL_TYPE_FNCALL
Definition: cf3.defs.h:608
@ RVAL_TYPE_NOPROMISEE
Definition: cf3.defs.h:610
LastSeenDirection
Definition: cf3.defs.h:819
@ LAST_SEEN_DIRECTION_OUTGOING
Definition: cf3.defs.h:821
@ LAST_SEEN_DIRECTION_INCOMING
Definition: cf3.defs.h:820
const ConstraintSyntax CFH_CONTROLBODY[]
Definition: mod_common.c:394
const ConstraintSyntax CFA_CONTROLBODY[]
Definition: mod_common.c:272
PromiseResult
Definition: cf3.defs.h:122
@ PROMISE_RESULT_CHANGE
Definition: cf3.defs.h:125
@ PROMISE_RESULT_INTERRUPTED
Definition: cf3.defs.h:130
@ PROMISE_RESULT_NOOP
Definition: cf3.defs.h:124
@ PROMISE_RESULT_WARN
Definition: cf3.defs.h:126
@ PROMISE_RESULT_SKIPPED
Definition: cf3.defs.h:123
@ PROMISE_RESULT_DENIED
Definition: cf3.defs.h:128
@ PROMISE_RESULT_FAIL
Definition: cf3.defs.h:127
@ PROMISE_RESULT_TIMEOUT
Definition: cf3.defs.h:129
const int CF3_MODULES
Definition: mod_common.c:543
PackageActionPolicy
Definition: cf3.defs.h:802
@ PACKAGE_ACTION_POLICY_NONE
Definition: cf3.defs.h:805
@ PACKAGE_ACTION_POLICY_BULK
Definition: cf3.defs.h:804
@ PACKAGE_ACTION_POLICY_INDIVIDUAL
Definition: cf3.defs.h:803
InsertMatchType
Definition: cf3.defs.h:877
@ INSERT_MATCH_TYPE_EXACT
Definition: cf3.defs.h:881
@ INSERT_MATCH_TYPE_IGNORE_EMBEDDED
Definition: cf3.defs.h:880
@ INSERT_MATCH_TYPE_IGNORE_LEADING
Definition: cf3.defs.h:878
@ INSERT_MATCH_TYPE_IGNORE_TRAILING
Definition: cf3.defs.h:879
observables
Definition: cf3.defs.h:162
@ ob_dns_in
Definition: cf3.defs.h:194
@ ob_cpu0
Definition: cf3.defs.h:213
@ ob_cpu1
Definition: cf3.defs.h:214
@ ob_tcpack_out
Definition: cf3.defs.h:199
@ ob_microsoft_ds_out
Definition: cf3.defs.h:218
@ ob_spare
Definition: cf3.defs.h:235
@ ob_netbiosns_in
Definition: cf3.defs.h:168
@ ob_microsoft_ds_in
Definition: cf3.defs.h:217
@ ob_netbiosdgm_out
Definition: cf3.defs.h:171
@ ob_nfsd_in
Definition: cf3.defs.h:178
@ ob_ftp_in
Definition: cf3.defs.h:184
@ ob_temp1
Definition: cf3.defs.h:209
@ ob_ldaps_out
Definition: cf3.defs.h:226
@ ob_ipp_out
Definition: cf3.defs.h:234
@ ob_temp3
Definition: cf3.defs.h:211
@ ob_tcpfin_out
Definition: cf3.defs.h:201
@ ob_ldaps_in
Definition: cf3.defs.h:225
@ ob_tcpmisc_out
Definition: cf3.defs.h:203
@ ob_ssh_out
Definition: cf3.defs.h:187
@ ob_rootprocs
Definition: cf3.defs.h:164
@ ob_netbiosns_out
Definition: cf3.defs.h:169
@ ob_cpu3
Definition: cf3.defs.h:216
@ ob_mongo_out
Definition: cf3.defs.h:228
@ ob_mysql_out
Definition: cf3.defs.h:230
@ ob_imap_in
Definition: cf3.defs.h:174
@ ob_icmp_in
Definition: cf3.defs.h:190
@ ob_cfengine_in
Definition: cf3.defs.h:176
@ ob_ssh_in
Definition: cf3.defs.h:186
@ ob_www_out
Definition: cf3.defs.h:183
@ ob_netbiosdgm_in
Definition: cf3.defs.h:170
@ ob_ftp_out
Definition: cf3.defs.h:185
@ ob_ipp_in
Definition: cf3.defs.h:233
@ ob_users
Definition: cf3.defs.h:163
@ ob_wwws_in
Definition: cf3.defs.h:188
@ ob_nfsd_out
Definition: cf3.defs.h:179
@ ob_cpu2
Definition: cf3.defs.h:215
@ ob_temp2
Definition: cf3.defs.h:210
@ ob_diskfree
Definition: cf3.defs.h:166
@ ob_www_alt_out
Definition: cf3.defs.h:220
@ ob_udp_out
Definition: cf3.defs.h:193
@ ob_otherprocs
Definition: cf3.defs.h:165
@ ob_netbiosssn_in
Definition: cf3.defs.h:172
@ ob_temp0
Definition: cf3.defs.h:208
@ ob_tcpfin_in
Definition: cf3.defs.h:200
@ ob_wwws_out
Definition: cf3.defs.h:189
@ ob_imaps_in
Definition: cf3.defs.h:221
@ ob_ldap_out
Definition: cf3.defs.h:224
@ ob_messages
Definition: cf3.defs.h:207
@ ob_webaccess
Definition: cf3.defs.h:204
@ ob_netbiosssn_out
Definition: cf3.defs.h:173
@ ob_weberrors
Definition: cf3.defs.h:205
@ ob_imap_out
Definition: cf3.defs.h:175
@ ob_smtp_in
Definition: cf3.defs.h:180
@ ob_imaps_out
Definition: cf3.defs.h:222
@ ob_www_in
Definition: cf3.defs.h:182
@ ob_cfengine_out
Definition: cf3.defs.h:177
@ ob_mongo_in
Definition: cf3.defs.h:227
@ ob_dns_out
Definition: cf3.defs.h:195
@ ob_tcpsyn_in
Definition: cf3.defs.h:196
@ ob_postgresql_in
Definition: cf3.defs.h:231
@ ob_ldap_in
Definition: cf3.defs.h:223
@ ob_tcpmisc_in
Definition: cf3.defs.h:202
@ ob_tcpsyn_out
Definition: cf3.defs.h:197
@ ob_mysql_in
Definition: cf3.defs.h:229
@ ob_icmp_out
Definition: cf3.defs.h:191
@ ob_loadavg
Definition: cf3.defs.h:167
@ ob_tcpack_in
Definition: cf3.defs.h:198
@ ob_smtp_out
Definition: cf3.defs.h:181
@ ob_www_alt_in
Definition: cf3.defs.h:219
@ ob_udp_in
Definition: cf3.defs.h:192
@ ob_syslog
Definition: cf3.defs.h:206
@ ob_postgresql_out
Definition: cf3.defs.h:232
@ ob_cpuall
Definition: cf3.defs.h:212
AclDefault
Definition: cf3.defs.h:842
@ ACL_DEFAULT_NO_CHANGE
Definition: cf3.defs.h:843
@ ACL_DEFAULT_ACCESS
Definition: cf3.defs.h:845
@ ACL_DEFAULT_CLEAR
Definition: cf3.defs.h:846
@ ACL_DEFAULT_SPECIFY
Definition: cf3.defs.h:844
@ ACL_DEFAULT_NONE
Definition: cf3.defs.h:847
cfnofile
Definition: cf3.defs.h:732
@ cfa_delete
Definition: cf3.defs.h:734
@ cfa_skip
Definition: cf3.defs.h:735
@ cfa_force
Definition: cf3.defs.h:733
BackupOption
Definition: cf3.defs.h:723
@ BACKUP_OPTION_ROTATE
Definition: cf3.defs.h:727
@ BACKUP_OPTION_BACKUP
Definition: cf3.defs.h:724
@ BACKUP_OPTION_NO_BACKUP
Definition: cf3.defs.h:725
@ BACKUP_OPTION_REPOSITORY_STORE
Definition: cf3.defs.h:728
@ BACKUP_OPTION_TIMESTAMP
Definition: cf3.defs.h:726
cfopaction
Definition: cf3.defs.h:717
@ cfa_warn
Definition: cf3.defs.h:719
@ cfa_fix
Definition: cf3.defs.h:718
bool(* BodyCheckFn)(const Body *body, Seq *errors)
Definition: cf3.defs.h:634
const PromiseTypeSyntax *const CF_ALL_PROMISE_TYPES[]
Definition: mod_common.c:524
cflinkchildren
Definition: cf3.defs.h:739
@ cfa_override
Definition: cf3.defs.h:740
@ cfa_onlynonexisting
Definition: cf3.defs.h:741
AclInherit
Definition: cf3.defs.h:851
@ ACL_INHERIT_FALSE
Definition: cf3.defs.h:852
@ ACL_INHERIT_NOCHANGE
Definition: cf3.defs.h:854
@ ACL_INHERIT_TRUE
Definition: cf3.defs.h:853
SyntaxStatus
Definition: cf3.defs.h:637
@ SYNTAX_STATUS_NORMAL
Definition: cf3.defs.h:638
@ SYNTAX_STATUS_REMOVED
Definition: cf3.defs.h:640
@ SYNTAX_STATUS_DEPRECATED
Definition: cf3.defs.h:639
const ConstraintSyntax CF_VARBODY[]
Definition: mod_common.c:126
EditOrder
Definition: cf3.defs.h:513
@ EDIT_ORDER_BEFORE
Definition: cf3.defs.h:514
@ EDIT_ORDER_AFTER
Definition: cf3.defs.h:515
AgentType
Definition: cf3.defs.h:400
@ AGENT_TYPE_RUNAGENT
Definition: cf3.defs.h:406
@ AGENT_TYPE_MONITOR
Definition: cf3.defs.h:404
@ AGENT_TYPE_KEYGEN
Definition: cf3.defs.h:407
@ AGENT_TYPE_EXECUTOR
Definition: cf3.defs.h:405
@ AGENT_TYPE_SERVER
Definition: cf3.defs.h:403
@ AGENT_TYPE_COMMON
Definition: cf3.defs.h:401
@ AGENT_TYPE_NOAGENT
Definition: cf3.defs.h:409
@ AGENT_TYPE_HUB
Definition: cf3.defs.h:408
@ AGENT_TYPE_AGENT
Definition: cf3.defs.h:402
const PromiseTypeSyntax CF_COMMON_PROMISE_TYPES[]
Definition: mod_common.c:505
DataType
Definition: cf3.defs.h:368
@ CF_DATA_TYPE_CONTEXT_LIST
Definition: cf3.defs.h:380
@ CF_DATA_TYPE_CONTEXT
Definition: cf3.defs.h:379
@ CF_DATA_TYPE_OPTION_LIST
Definition: cf3.defs.h:376
@ CF_DATA_TYPE_BUNDLE
Definition: cf3.defs.h:378
@ CF_DATA_TYPE_NONE
Definition: cf3.defs.h:385
@ CF_DATA_TYPE_REAL
Definition: cf3.defs.h:371
@ CF_DATA_TYPE_STRING_LIST
Definition: cf3.defs.h:372
@ CF_DATA_TYPE_INT_LIST
Definition: cf3.defs.h:373
@ CF_DATA_TYPE_STRING
Definition: cf3.defs.h:369
@ CF_DATA_TYPE_INT
Definition: cf3.defs.h:370
@ CF_DATA_TYPE_BODY
Definition: cf3.defs.h:377
@ CF_DATA_TYPE_OPTION
Definition: cf3.defs.h:375
@ CF_DATA_TYPE_COUNTER
Definition: cf3.defs.h:383
@ CF_DATA_TYPE_INT_RANGE
Definition: cf3.defs.h:381
@ CF_DATA_TYPE_CONTAINER
Definition: cf3.defs.h:384
@ CF_DATA_TYPE_REAL_RANGE
Definition: cf3.defs.h:382
@ CF_DATA_TYPE_REAL_LIST
Definition: cf3.defs.h:374
PromiseState
Definition: cf3.defs.h:809
@ PROMISE_STATE_ANY
Definition: cf3.defs.h:813
@ PROMISE_STATE_KEPT
Definition: cf3.defs.h:812
@ PROMISE_STATE_NOTKEPT
Definition: cf3.defs.h:811
@ PROMISE_STATE_REPAIRED
Definition: cf3.defs.h:810
ContextScope
Definition: cf3.defs.h:945
@ CONTEXT_SCOPE_NAMESPACE
Definition: cf3.defs.h:946
@ CONTEXT_SCOPE_NONE
Definition: cf3.defs.h:948
@ CONTEXT_SCOPE_BUNDLE
Definition: cf3.defs.h:947
PasswordFormat
Definition: cf3.defs.h:1441
@ PASSWORD_FORMAT_HASH
Definition: cf3.defs.h:1443
@ PASSWORD_FORMAT_PLAINTEXT
Definition: cf3.defs.h:1442
@ PASSWORD_FORMAT_NONE
Definition: cf3.defs.h:1444
EnvironmentState
Definition: cf3.defs.h:1477
@ ENVIRONMENT_STATE_NONE
Definition: cf3.defs.h:1483
@ ENVIRONMENT_STATE_DOWN
Definition: cf3.defs.h:1482
@ ENVIRONMENT_STATE_SUSPENDED
Definition: cf3.defs.h:1481
@ ENVIRONMENT_STATE_DELETE
Definition: cf3.defs.h:1479
@ ENVIRONMENT_STATE_RUNNING
Definition: cf3.defs.h:1480
@ ENVIRONMENT_STATE_CREATE
Definition: cf3.defs.h:1478
AclType
Definition: cf3.defs.h:834
@ ACL_TYPE_NONE
Definition: cf3.defs.h:838
@ ACL_TYPE_GENERIC
Definition: cf3.defs.h:835
@ ACL_TYPE_POSIX
Definition: cf3.defs.h:836
@ ACL_TYPE_NTFS_
Definition: cf3.defs.h:837
FileLinkType
Definition: cf3.defs.h:708
@ FILE_LINK_TYPE_HARDLINK
Definition: cf3.defs.h:710
@ FILE_LINK_TYPE_NONE
Definition: cf3.defs.h:713
@ FILE_LINK_TYPE_RELATIVE
Definition: cf3.defs.h:711
@ FILE_LINK_TYPE_SYMLINK
Definition: cf3.defs.h:709
@ FILE_LINK_TYPE_ABSOLUTE
Definition: cf3.defs.h:712
UserState
Definition: cf3.defs.h:1433
@ USER_STATE_NONE
Definition: cf3.defs.h:1437
@ USER_STATE_PRESENT
Definition: cf3.defs.h:1434
@ USER_STATE_LOCKED
Definition: cf3.defs.h:1436
@ USER_STATE_ABSENT
Definition: cf3.defs.h:1435
CfSize
Definition: cf3.defs.h:294
@ CF_SIZE_ABS
Definition: cf3.defs.h:295
@ CF_SIZE_PERCENT
Definition: cf3.defs.h:296
AgentControl
Definition: cf3.defs.h:444
@ AGENT_CONTROL_SUSPICIOUSNAMES
Definition: cf3.defs.h:482
@ AGENT_CONTROL_AGENTACCESS
Definition: cf3.defs.h:448
@ AGENT_CONTROL_CHECKSUM_ALERT_TIME
Definition: cf3.defs.h:457
@ AGENT_CONTROL_NONALPHANUMFILES
Definition: cf3.defs.h:474
@ AGENT_CONTROL_SENSIBLESIZE
Definition: cf3.defs.h:480
@ AGENT_CONTROL_EDITBINARYFILESIZE
Definition: cf3.defs.h:460
@ AGENT_CONTROL_HOSTNAMEKEYS
Definition: cf3.defs.h:467
@ AGENT_CONTROL_SELECT_END_MATCH_EOF
Definition: cf3.defs.h:489
@ AGENT_CONTROL_REPOSITORY
Definition: cf3.defs.h:477
@ AGENT_CONTROL_TIMEZONE
Definition: cf3.defs.h:485
@ AGENT_CONTROL_AGENTFACILITY
Definition: cf3.defs.h:449
@ AGENT_CONTROL_ENVIRONMENT
Definition: cf3.defs.h:462
@ AGENT_CONTROL_EXPIREAFTER
Definition: cf3.defs.h:464
@ AGENT_CONTROL_ABORTBUNDLECLASSES
Definition: cf3.defs.h:446
@ AGENT_CONTROL_FSINGLECOPY
Definition: cf3.defs.h:465
@ AGENT_CONTROL_DRYRUN
Definition: cf3.defs.h:459
@ AGENT_CONTROL_ALLCLASSESREPORT
Definition: cf3.defs.h:450
@ AGENT_CONTROL_ABORTCLASSES
Definition: cf3.defs.h:445
@ AGENT_CONTROL_AUDITING
Definition: cf3.defs.h:452
@ AGENT_CONTROL_EDITFILESIZE
Definition: cf3.defs.h:461
@ AGENT_CONTROL_CHILDLIBPATH
Definition: cf3.defs.h:456
@ AGENT_CONTROL_TIMEOUT
Definition: cf3.defs.h:486
@ AGENT_CONTROL_SENSIBLECOUNT
Definition: cf3.defs.h:479
@ AGENT_CONTROL_ALWAYSVALIDATE
Definition: cf3.defs.h:451
@ AGENT_CONTROL_ADDCLASSES
Definition: cf3.defs.h:447
@ AGENT_CONTROL_HASHUPDATES
Definition: cf3.defs.h:455
@ AGENT_CONTROL_REPORTCLASSLOG
Definition: cf3.defs.h:488
@ AGENT_CONTROL_EXCLAMATION
Definition: cf3.defs.h:463
@ AGENT_CONTROL_IFELAPSED
Definition: cf3.defs.h:468
@ AGENT_CONTROL_DEFAULTCOPYTYPE
Definition: cf3.defs.h:458
@ AGENT_CONTROL_REPCHAR
Definition: cf3.defs.h:475
@ AGENT_CONTROL_BINARYPADDINGCHAR
Definition: cf3.defs.h:453
@ AGENT_CONTROL_SYSLOG
Definition: cf3.defs.h:483
@ AGENT_CONTROL_MOUNTFILESYSTEMS
Definition: cf3.defs.h:473
@ AGENT_CONTROL_SECUREINPUT
Definition: cf3.defs.h:478
@ AGENT_CONTROL_MAXCONNECTIONS
Definition: cf3.defs.h:472
@ AGENT_CONTROL_REFRESH_PROCESSES
Definition: cf3.defs.h:476
@ AGENT_CONTROL_FAUTODEFINE
Definition: cf3.defs.h:466
@ AGENT_CONTROL_VERBOSE
Definition: cf3.defs.h:487
@ AGENT_CONTROL_INFORM
Definition: cf3.defs.h:469
@ AGENT_CONTROL_TRACK_VALUE
Definition: cf3.defs.h:484
@ AGENT_CONTROL_MAX_CHILDREN
Definition: cf3.defs.h:471
@ AGENT_CONTROL_SKIPIDENTIFY
Definition: cf3.defs.h:481
@ AGENT_CONTROL_NONE
Definition: cf3.defs.h:490
@ AGENT_CONTROL_INTERMITTENCY
Definition: cf3.defs.h:470
@ AGENT_CONTROL_BINDTOINTERFACE
Definition: cf3.defs.h:454
PersistentClassPolicy
Definition: db_structs.h:136
struct Averages Averages
#define CF_MAXSIDSIZE
Definition: definitions.h:37
HashMethod
Definition: hash_method.h:36
LogLevel
Definition: log.h:30
ProtocolVersion
Definition: cf3.defs.h:858
Rlist * acl_entries
Definition: cf3.defs.h:862
AclMethod acl_method
Definition: cf3.defs.h:859
AclDefault acl_default
Definition: cf3.defs.h:861
Rlist * acl_default_entries
Definition: cf3.defs.h:863
AclInherit acl_inherit
Definition: cf3.defs.h:865
AclType acl_type
Definition: cf3.defs.h:860
bool inform
Definition: cf3.defs.h:1574
int haveselect
Definition: cf3.defs.h:1587
char * process_stop
Definition: cf3.defs.h:1577
EditXml xml
Definition: cf3.defs.h:1612
int havebundle
Definition: cf3.defs.h:1603
int haveperms
Definition: cf3.defs.h:1590
EditLocation location
Definition: cf3.defs.h:1609
FilePerms perms
Definition: cf3.defs.h:1537
FileRename rename
Definition: cf3.defs.h:1540
int expandvars
Definition: cf3.defs.h:1621
Report report
Definition: cf3.defs.h:1582
ExecContain contain
Definition: cf3.defs.h:1570
Rlist * arglist
Definition: cf3.defs.h:1572
FileLink link
Definition: cf3.defs.h:1542
EditRegion region
Definition: cf3.defs.h:1608
Rlist * insert_match
Definition: cf3.defs.h:1623
NewPackages new_packages
Definition: cf3.defs.h:1545
char * transformer
Definition: cf3.defs.h:1553
int not_matching
Definition: cf3.defs.h:1622
EditDefaults edits
Definition: cf3.defs.h:1543
char * edit_template
Definition: cf3.defs.h:1557
User users
Definition: cf3.defs.h:1551
Environments env
Definition: cf3.defs.h:1552
int havevolume
Definition: cf3.defs.h:1602
FileCopy copy
Definition: cf3.defs.h:1538
int haveeditxml
Definition: cf3.defs.h:1595
int haveclasses
Definition: cf3.defs.h:1598
int haveregion
Definition: cf3.defs.h:1613
char * file_type
Definition: cf3.defs.h:1555
int inherit
Definition: cf3.defs.h:1564
int haveedit
Definition: cf3.defs.h:1596
int haveprocess_count
Definition: cf3.defs.h:1600
char * pathtype
Definition: cf3.defs.h:1554
FileChange change
Definition: cf3.defs.h:1541
int haveeditline
Definition: cf3.defs.h:1594
int havetrans
Definition: cf3.defs.h:1599
ProcessCount process_count
Definition: cf3.defs.h:1579
int haveinsertselect
Definition: cf3.defs.h:1617
char * template_method
Definition: cf3.defs.h:1559
int havemount
Definition: cf3.defs.h:1601
ContextConstraint context
Definition: cf3.defs.h:1546
int havechange
Definition: cf3.defs.h:1591
EditColumn column
Definition: cf3.defs.h:1610
Rlist * signals
Definition: cf3.defs.h:1576
char * args
Definition: cf3.defs.h:1571
int havereplace
Definition: cf3.defs.h:1616
StorageMount mount
Definition: cf3.defs.h:1583
int move_obstructions
Definition: cf3.defs.h:1563
Database database
Definition: cf3.defs.h:1549
JsonElement * template_data
Definition: cf3.defs.h:1560
int module
Definition: cf3.defs.h:1573
int havedeleteselect
Definition: cf3.defs.h:1618
int haverename
Definition: cf3.defs.h:1588
int havecolumn
Definition: cf3.defs.h:1615
DirectoryRecursion recursion
Definition: cf3.defs.h:1566
char * edit_template_string
Definition: cf3.defs.h:1558
char * repository
Definition: cf3.defs.h:1556
char * sourcetype
Definition: cf3.defs.h:1620
int havecontain
Definition: cf3.defs.h:1597
Services service
Definition: cf3.defs.h:1550
DefineClasses classes
Definition: cf3.defs.h:1568
int create
Definition: cf3.defs.h:1562
int havelocation
Definition: cf3.defs.h:1614
FileSelect select
Definition: cf3.defs.h:1536
Packages packages
Definition: cf3.defs.h:1544
int havepackages
Definition: cf3.defs.h:1604
ProcessSelect process_select
Definition: cf3.defs.h:1580
StorageVolume volume
Definition: cf3.defs.h:1584
char * restart_class
Definition: cf3.defs.h:1578
int havecopy
Definition: cf3.defs.h:1592
TransactionContext transaction
Definition: cf3.defs.h:1567
int havedepthsearch
Definition: cf3.defs.h:1586
int havelink
Definition: cf3.defs.h:1593
Measurement measure
Definition: cf3.defs.h:1547
EditReplace replace
Definition: cf3.defs.h:1611
LineSelect line_select
Definition: cf3.defs.h:1619
int havedelete
Definition: cf3.defs.h:1589
const char * body_type
Definition: cf3.defs.h:669
SyntaxStatus status
Definition: cf3.defs.h:672
const ConstraintSyntax * constraints
Definition: cf3.defs.h:670
BodyCheckFn check_body
Definition: cf3.defs.h:671
Definition: policy.h:85
Definition: policy.h:70
char * last
Definition: cf3.defs.h:894
bool is_dummy
Definition: cf3.defs.h:896
char * lock
Definition: cf3.defs.h:895
const char * lval
Definition: cf3.defs.h:656
const char * validation_string
Definition: cf3.defs.h:660
const char * description
Definition: cf3.defs.h:663
const BodySyntax * body_type_syntax
Definition: cf3.defs.h:661
const DataType dtype
Definition: cf3.defs.h:657
SyntaxStatus status
Definition: cf3.defs.h:664
union ConstraintSyntax_::@11 range
Constraint * expression
Definition: cf3.defs.h:1193
ContextScope scope
Definition: cf3.defs.h:1194
char * server
Definition: cf3.defs.h:1423
char * operation
Definition: cf3.defs.h:1425
char * db_connect_db
Definition: cf3.defs.h:1421
DatabaseType db_server_type
Definition: cf3.defs.h:1422
Rlist * rows
Definition: cf3.defs.h:1427
char * type
Definition: cf3.defs.h:1424
Rlist * columns
Definition: cf3.defs.h:1426
Rlist * exclude
Definition: cf3.defs.h:1428
char * db_server_owner
Definition: cf3.defs.h:1418
char * db_server_host
Definition: cf3.defs.h:1420
char * db_server_password
Definition: cf3.defs.h:1419
Rlist * change
Definition: cf3.defs.h:954
Rlist * retcode_failed
Definition: cf3.defs.h:966
Rlist * kept
Definition: cf3.defs.h:958
Rlist * retcode_repaired
Definition: cf3.defs.h:965
Rlist * del_kept
Definition: cf3.defs.h:962
Rlist * del_notkept
Definition: cf3.defs.h:963
Rlist * retcode_kept
Definition: cf3.defs.h:964
ContextScope scope
Definition: cf3.defs.h:953
Rlist * failure
Definition: cf3.defs.h:955
Rlist * denied
Definition: cf3.defs.h:956
PersistentClassPolicy timer
Definition: cf3.defs.h:960
Rlist * timeout
Definition: cf3.defs.h:957
Rlist * del_change
Definition: cf3.defs.h:961
Rlist * include_dirs
Definition: cf3.defs.h:919
char * column_operation
Definition: cf3.defs.h:1255
char * column_value
Definition: cf3.defs.h:1254
int blanks_ok
Definition: cf3.defs.h:1257
char value_separator
Definition: cf3.defs.h:1253
int extend_columns
Definition: cf3.defs.h:1256
int select_column
Definition: cf3.defs.h:1252
char * column_separator
Definition: cf3.defs.h:1251
BackupOption backup
Definition: cf3.defs.h:1203
int maxfilesize
Definition: cf3.defs.h:1205
int empty_before_use
Definition: cf3.defs.h:1204
EditOrder before_after
Definition: cf3.defs.h:1236
char * line_matching
Definition: cf3.defs.h:1235
char * first_last
Definition: cf3.defs.h:1237
int include_start
Definition: cf3.defs.h:1244
bool select_end_match_eof
Definition: cf3.defs.h:1246
char * select_start
Definition: cf3.defs.h:1242
char * select_end
Definition: cf3.defs.h:1243
int include_end
Definition: cf3.defs.h:1245
char * occurrences
Definition: cf3.defs.h:1263
char * replace_value
Definition: cf3.defs.h:1262
int haveattributevalue
Definition: cf3.defs.h:1230
char * attribute_value
Definition: cf3.defs.h:1227
int haveselectxpath
Definition: cf3.defs.h:1229
char * build_xpath
Definition: cf3.defs.h:1225
char * select_xpath
Definition: cf3.defs.h:1226
int havebuildxpath
Definition: cf3.defs.h:1228
char * spec
Definition: cf3.defs.h:1492
char * type
Definition: cf3.defs.h:1496
char * baseline
Definition: cf3.defs.h:1491
Rlist * addresses
Definition: cf3.defs.h:1493
char * name
Definition: cf3.defs.h:1494
char * host
Definition: cf3.defs.h:1495
EnvironmentState state
Definition: cf3.defs.h:1497
QPoint Q
Definition: cf3.defs.h:243
time_t t
Definition: cf3.defs.h:242
char * chdir
Definition: cf3.defs.h:1117
bool nooutput
Definition: cf3.defs.h:1120
mode_t umask
Definition: cf3.defs.h:1114
gid_t group
Definition: cf3.defs.h:1116
char * chroot
Definition: cf3.defs.h:1118
ShellType shelltype
Definition: cf3.defs.h:1113
uid_t owner
Definition: cf3.defs.h:1115
int report_diffs
Definition: cf3.defs.h:1086
int update
Definition: cf3.defs.h:1087
HashMethod hash
Definition: cf3.defs.h:1084
FileChangeReport report_changes
Definition: cf3.defs.h:1085
int check_root
Definition: cf3.defs.h:1519
Rlist * copy_links
Definition: cf3.defs.h:1514
int force_ipv4
Definition: cf3.defs.h:1522
ProtocolVersion protocol_version
Definition: cf3.defs.h:1530
size_t min_size
Definition: cf3.defs.h:1523
size_t max_size
Definition: cf3.defs.h:1524
int verify
Definition: cf3.defs.h:1527
int collapse
Definition: cf3.defs.h:1518
const char * source
Definition: cf3.defs.h:1507
bool missing_ok
Definition: cf3.defs.h:1531
const char * port
Definition: cf3.defs.h:1508
BackupOption backup
Definition: cf3.defs.h:1515
Rlist * link_instead
Definition: cf3.defs.h:1513
int stealth
Definition: cf3.defs.h:1516
Rlist * servers
Definition: cf3.defs.h:1512
int purge
Definition: cf3.defs.h:1528
FileLinkType link_type
Definition: cf3.defs.h:1511
int trustkey
Definition: cf3.defs.h:1525
char * destination
Definition: cf3.defs.h:1509
int type_check
Definition: cf3.defs.h:1520
FileComparator compare
Definition: cf3.defs.h:1510
int force_update
Definition: cf3.defs.h:1521
short timeout
Definition: cf3.defs.h:1529
int preserve
Definition: cf3.defs.h:1517
int encrypt
Definition: cf3.defs.h:1526
int rmdirs
Definition: cf3.defs.h:1065
@ TIDY_LINK_DELETE
Definition: cf3.defs.h:1062
char * findertype
Definition: cf3.defs.h:1025
u_long plus_flags
Definition: cf3.defs.h:1026
GidList * groups
Definition: cf3.defs.h:1024
u_long minus_flags
Definition: cf3.defs.h:1027
mode_t minus
Definition: cf3.defs.h:1022
int rxdirs
Definition: cf3.defs.h:1028
UidList * owners
Definition: cf3.defs.h:1023
mode_t plus
Definition: cf3.defs.h:1021
mode_t plus
Definition: cf3.defs.h:1076
int disable
Definition: cf3.defs.h:1074
char * disable_suffix
Definition: cf3.defs.h:1073
int rotate
Definition: cf3.defs.h:1075
char * newname
Definition: cf3.defs.h:1072
mode_t minus
Definition: cf3.defs.h:1077
char * exec_program
Definition: cf3.defs.h:1050
time_t min_atime
Definition: cf3.defs.h:1048
Rlist * owners
Definition: cf3.defs.h:1039
time_t min_ctime
Definition: cf3.defs.h:1044
Rlist * perms
Definition: cf3.defs.h:1037
Rlist * bsdflags
Definition: cf3.defs.h:1038
Rlist * groups
Definition: cf3.defs.h:1040
time_t max_mtime
Definition: cf3.defs.h:1045
Rlist * name
Definition: cf3.defs.h:1035
Rlist * path
Definition: cf3.defs.h:1036
Rlist * issymlinkto
Definition: cf3.defs.h:1052
Rlist * filetypes
Definition: cf3.defs.h:1051
time_t min_mtime
Definition: cf3.defs.h:1046
char * result
Definition: cf3.defs.h:1053
char * exec_regex
Definition: cf3.defs.h:1049
time_t max_atime
Definition: cf3.defs.h:1047
long min_size
Definition: cf3.defs.h:1042
long max_size
Definition: cf3.defs.h:1041
time_t max_ctime
Definition: cf3.defs.h:1043
Definition: fncall.h:31
char * gidname
Definition: cf3.defs.h:330
GidList * next
Definition: cf3.defs.h:331
gid_t gid
Definition: cf3.defs.h:329
Definition: item_lib.h:33
Rlist * match_from_list
Definition: cf3.defs.h:1217
Rlist * contains_from_list
Definition: cf3.defs.h:1219
Rlist * not_startwith_from_list
Definition: cf3.defs.h:1216
Rlist * not_match_from_list
Definition: cf3.defs.h:1218
Rlist * not_contains_from_list
Definition: cf3.defs.h:1220
Rlist * startwith_from_list
Definition: cf3.defs.h:1215
char * units
Definition: cf3.defs.h:1412
int select_line_number
Definition: cf3.defs.h:1410
char * select_line_matching
Definition: cf3.defs.h:1409
char * history_type
Definition: cf3.defs.h:1408
DataType data_type
Definition: cf3.defs.h:1406
char * extraction_regex
Definition: cf3.defs.h:1411
MeasurePolicy policy
Definition: cf3.defs.h:1407
char * stream_type
Definition: cf3.defs.h:1405
char * name
Definition: cf3.defs.h:153
double expected_maximum
Definition: cf3.defs.h:157
char * description
Definition: cf3.defs.h:154
double expected_minimum
Definition: cf3.defs.h:156
char * units
Definition: cf3.defs.h:155
bool consolidable
Definition: cf3.defs.h:158
char * options
Definition: cf3.defs.h:906
char * mounton
Definition: cf3.defs.h:905
char * host
Definition: cf3.defs.h:903
char * source
Definition: cf3.defs.h:904
int unmount
Definition: cf3.defs.h:907
PackageModuleBody * module_body
Definition: cf3.defs.h:1383
char * package_version
Definition: cf3.defs.h:1385
bool is_empty
Definition: cf3.defs.h:1389
Rlist * package_options
Definition: cf3.defs.h:1387
char * package_architecture
Definition: cf3.defs.h:1386
Rlist * package_inventory
Definition: cf3.defs.h:1384
NewPackageAction package_policy
Definition: cf3.defs.h:1382
PackageItem * next
Definition: cf3.defs.h:1006
char * arch
Definition: cf3.defs.h:1004
char * name
Definition: cf3.defs.h:1002
Promise * pp
Definition: cf3.defs.h:1005
char * version
Definition: cf3.defs.h:1003
PackageActionPolicy policy
Definition: cf3.defs.h:991
PackageItem * pack_list
Definition: cf3.defs.h:992
char * manager
Definition: cf3.defs.h:989
PackageAction action
Definition: cf3.defs.h:990
PackageItem * patch_list
Definition: cf3.defs.h:993
PackageItem * patch_avail
Definition: cf3.defs.h:994
PackageManager * next
Definition: cf3.defs.h:995
char * module_path
Definition: cf3.defs.h:1366
char * interpreter
Definition: cf3.defs.h:1365
Seq * package_modules_bodies
Definition: cf3.defs.h:1375
Rlist * control_package_inventory
Definition: cf3.defs.h:1372
char * control_package_module
Definition: cf3.defs.h:1374
PackageActionPolicy package_changes
Definition: cf3.defs.h:1311
int package_noverify_returncode
Definition: cf3.defs.h:1351
char * package_noverify_regex
Definition: cf3.defs.h:1340
char * package_delete_command
Definition: cf3.defs.h:1336
char * package_version
Definition: cf3.defs.h:1308
char * package_patch_name_regex
Definition: cf3.defs.h:1323
char * package_arch_regex
Definition: cf3.defs.h:1332
char * package_default_arch_command
Definition: cf3.defs.h:1314
char * package_verify_command
Definition: cf3.defs.h:1339
PackageAction package_policy
Definition: cf3.defs.h:1307
char * package_version_regex
Definition: cf3.defs.h:1330
int package_list_update_ifelapsed
Definition: cf3.defs.h:1328
bool has_package_method
Definition: cf3.defs.h:1353
char * package_patch_arch_regex
Definition: cf3.defs.h:1324
char * package_list_arch_regex
Definition: cf3.defs.h:1319
char * package_delete_convention
Definition: cf3.defs.h:1342
bool package_commands_useshell
Definition: cf3.defs.h:1344
char * package_patch_command
Definition: cf3.defs.h:1338
Rlist * package_file_repositories
Definition: cf3.defs.h:1312
char * package_version_equal_command
Definition: cf3.defs.h:1349
char * package_name_convention
Definition: cf3.defs.h:1341
char * package_name_regex
Definition: cf3.defs.h:1331
char * package_version_less_command
Definition: cf3.defs.h:1348
char * package_installed_regex
Definition: cf3.defs.h:1333
char * package_patch_version_regex
Definition: cf3.defs.h:1322
char * package_patch_installed_regex
Definition: cf3.defs.h:1325
char * package_update_command
Definition: cf3.defs.h:1337
PackageVersionComparator package_select
Definition: cf3.defs.h:1310
char * package_list_command
Definition: cf3.defs.h:1316
char * package_add_command
Definition: cf3.defs.h:1335
char * package_patch_list_command
Definition: cf3.defs.h:1320
Rlist * package_architectures
Definition: cf3.defs.h:1309
bool is_empty
Definition: cf3.defs.h:1354
char * package_list_version_regex
Definition: cf3.defs.h:1317
char * package_multiline_start
Definition: cf3.defs.h:1346
char * package_list_update_command
Definition: cf3.defs.h:1327
char * package_list_name_regex
Definition: cf3.defs.h:1318
Definition: policy.h:53
long max_range
Definition: cf3.defs.h:1129
long min_range
Definition: cf3.defs.h:1128
Rlist * out_of_range_define
Definition: cf3.defs.h:1131
Rlist * in_range_define
Definition: cf3.defs.h:1130
time_t min_stime
Definition: cf3.defs.h:1151
long min_rsize
Definition: cf3.defs.h:1145
time_t max_stime
Definition: cf3.defs.h:1152
Rlist * owner
Definition: cf3.defs.h:1138
char * command
Definition: cf3.defs.h:1158
char * tty
Definition: cf3.defs.h:1159
long max_rsize
Definition: cf3.defs.h:1146
long max_vsize
Definition: cf3.defs.h:1148
char * process_result
Definition: cf3.defs.h:1160
time_t max_ttime
Definition: cf3.defs.h:1150
long min_thread
Definition: cf3.defs.h:1155
char * status
Definition: cf3.defs.h:1157
time_t min_ttime
Definition: cf3.defs.h:1149
long max_thread
Definition: cf3.defs.h:1156
long min_vsize
Definition: cf3.defs.h:1147
const PromiseCheckFn check_promise
Definition: cf3.defs.h:680
SyntaxStatus status
Definition: cf3.defs.h:681
const char * bundle_type
Definition: cf3.defs.h:677
const ConstraintSyntax * constraints
Definition: cf3.defs.h:679
const char * promise_type
Definition: cf3.defs.h:678
int numlines
Definition: cf3.defs.h:1299
char * to_file
Definition: cf3.defs.h:1298
int haveprintfile
Definition: cf3.defs.h:1291
int lastseen
Definition: cf3.defs.h:1293
char * filename
Definition: cf3.defs.h:1297
char * friend_pattern
Definition: cf3.defs.h:1296
char * result
Definition: cf3.defs.h:1294
Rlist * showstate
Definition: cf3.defs.h:1300
double intermittency
Definition: cf3.defs.h:1295
int havelastseen
Definition: cf3.defs.h:1292
Definition: rlist.h:35
Definition: cf3.defs.h:614
RvalType type
Definition: cf3.defs.h:616
void * item
Definition: cf3.defs.h:615
Sequence data-structure.
Definition: sequence.h:50
char * service_policy
Definition: cf3.defs.h:1468
char * service_args
Definition: cf3.defs.h:1467
char * service_autostart_policy
Definition: cf3.defs.h:1469
char * service_depend_chain
Definition: cf3.defs.h:1470
Rlist * service_depend
Definition: cf3.defs.h:1465
char * service_type
Definition: cf3.defs.h:1466
FnCall * service_method
Definition: cf3.defs.h:1471
char * mount_type
Definition: cf3.defs.h:1270
char * mount_server
Definition: cf3.defs.h:1272
char * mount_source
Definition: cf3.defs.h:1271
Rlist * mount_options
Definition: cf3.defs.h:1273
int check_foreign
Definition: cf3.defs.h:1280
long freespace
Definition: cf3.defs.h:1281
int sensible_count
Definition: cf3.defs.h:1283
int scan_arrivals
Definition: cf3.defs.h:1284
int sensible_size
Definition: cf3.defs.h:1282
LogLevel report_level
Definition: cf3.defs.h:938
LogLevel log_level
Definition: cf3.defs.h:939
char * log_repaired
Definition: cf3.defs.h:933
UidList * next
Definition: cf3.defs.h:319
char * uidname
Definition: cf3.defs.h:318
uid_t uid
Definition: cf3.defs.h:317
char * uid
Definition: cf3.defs.h:1450
Rlist * groups_secondary
Definition: cf3.defs.h:1455
bool groups_secondary_given
Definition: cf3.defs.h:1456
char * group_primary
Definition: cf3.defs.h:1454
char * description
Definition: cf3.defs.h:1453
PasswordFormat password_format
Definition: cf3.defs.h:1451
char * password
Definition: cf3.defs.h:1452
char * shell
Definition: cf3.defs.h:1458
char * home_dir
Definition: cf3.defs.h:1457
UserState policy
Definition: cf3.defs.h:1449