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
237 #define ERR_MAXPARSE ERR_LONGKEY
250 #define ERR_MAXGRAMMAR 0
262 #define ERR_MAXVALID 0
282 #define INI_ACCESS_CHECK_MODE 0x00000001
290 #define INI_ACCESS_CHECK_UID 0x00000002
298 #define INI_ACCESS_CHECK_GID 0x00000004
377 #define INI_META_ACTION_NOPARSE 0x10000000
389 #define INI_META_SEC_ACCESS "ACCESS"
395 #define INI_META_SEC_ACCESS_FLAG 0x00000001
409 #define INI_META_KEY_UID "uid"
415 #define INI_META_KEY_GID "gid"
421 #define INI_META_KEY_PERM "perm"
427 #define INI_META_KEY_DEV "dev"
433 #define INI_META_KEY_INODE "inode"
439 #define INI_META_KEY_MODIFIED "modified"
445 #define INI_META_KEY_NAME "name"
454 #define INI_META_SEC_ERROR "ERROR"
460 #define INI_META_SEC_ERROR_FLAG 0x00000002
476 #define INI_META_KEY_READ_ERROR "read_error"
532 const char *config_filename,
533 struct collection_item **ini_config,
535 struct collection_item **error_list);
565 const char *config_source,
566 struct collection_item **ini_config,
568 struct collection_item **error_list);
617 const char *application,
618 const char *config_filename,
619 struct collection_item **ini_config,
621 struct collection_item **error_list,
623 struct collection_item **metadata);
671 const char *application,
673 const char *config_source,
674 struct collection_item **ini_config,
676 struct collection_item **error_list,
678 struct collection_item **metadata);
710 const char *config_file,
711 const char *config_dir,
712 struct collection_item **ini_config,
714 struct collection_item **error_set);
766 const char *application,
767 const char *config_file,
768 const char *config_dir,
769 struct collection_item **ini_config,
771 struct collection_item **error_set,
773 struct collection_item **meta_default,
774 struct collection_item **meta_appini);
842 struct collection_item *saved_metadata,
879 struct collection_item *error_list);
893 struct collection_item *error_set);
991 struct collection_item *ini_config,
992 struct collection_item **item);