26 #include <sys/types.h>
31 #include "collection.h"
128 #define INI_DEFAULT_SECTION "default"
153 #define COL_CLASS_INI_BASE 20000
165 #define COL_CLASS_INI_CONFIG COL_CLASS_INI_BASE + 0
170 #define COL_CLASS_INI_SECTION COL_CLASS_INI_BASE + 1
176 #define COL_CLASS_INI_PERROR COL_CLASS_INI_BASE + 2
185 #define COL_CLASS_INI_PESET COL_CLASS_INI_BASE + 3
192 #define COL_CLASS_INI_META COL_CLASS_INI_BASE + 4
206 #define INI_STOP_ON_ANY 0
208 #define INI_STOP_ON_NONE 1
210 #define INI_STOP_ON_ERROR 2
222 #define ERR_LONGDATA 1
224 #define ERR_NOCLOSESEC 2
226 #define ERR_NOSECTION 3
228 #define ERR_SECTIONLONG 4
230 #define ERR_NOEQUAL 5
234 #define ERR_LONGKEY 7
241 #define ERR_MAXPARSE ERR_SPACE
254 #define ERR_MAXGRAMMAR 0
266 #define ERR_MAXVALID 0
286 #define INI_ACCESS_CHECK_MODE 0x00000001
294 #define INI_ACCESS_CHECK_UID 0x00000002
302 #define INI_ACCESS_CHECK_GID 0x00000004
381 #define INI_META_ACTION_NOPARSE 0x10000000
393 #define INI_META_SEC_ACCESS "ACCESS"
399 #define INI_META_SEC_ACCESS_FLAG 0x00000001
413 #define INI_META_KEY_UID "uid"
419 #define INI_META_KEY_GID "gid"
425 #define INI_META_KEY_PERM "perm"
431 #define INI_META_KEY_DEV "dev"
437 #define INI_META_KEY_INODE "inode"
443 #define INI_META_KEY_MODIFIED "modified"
449 #define INI_META_KEY_NAME "name"
458 #define INI_META_SEC_ERROR "ERROR"
464 #define INI_META_SEC_ERROR_FLAG 0x00000002
480 #define INI_META_KEY_READ_ERROR "read_error"
528 const char *config_filename,
529 struct collection_item **ini_config,
531 struct collection_item **error_list);
561 const char *config_source,
562 struct collection_item **ini_config,
564 struct collection_item **error_list);
613 const char *application,
614 const char *config_filename,
615 struct collection_item **ini_config,
617 struct collection_item **error_list,
619 struct collection_item **metadata);
667 const char *application,
669 const char *config_source,
670 struct collection_item **ini_config,
672 struct collection_item **error_list,
674 struct collection_item **metadata);
706 const char *config_file,
707 const char *config_dir,
708 struct collection_item **ini_config,
710 struct collection_item **error_set);
762 const char *application,
763 const char *config_file,
764 const char *config_dir,
765 struct collection_item **ini_config,
767 struct collection_item **error_set,
769 struct collection_item **meta_default,
770 struct collection_item **meta_appini);
838 struct collection_item *saved_metadata,
875 struct collection_item *error_list);
889 struct collection_item *error_set);
987 struct collection_item *ini_config,
988 struct collection_item **item);