Freeciv-3.3
Loading...
Searching...
No Matches
Macros | Typedefs | Enumerations | Functions
registry_ini.h File Reference
#include "ioz.h"
#include "support.h"
#include "speclist.h"

Go to the source code of this file.

Macros

#define SPECLIST_TAG   section
 
#define section_list_iterate(seclist, psection)    TYPED_LIST_ITERATE(struct section, seclist, psection)
 
#define section_list_iterate_end   LIST_ITERATE_END
 
#define section_list_iterate_rev(seclist, psection)    TYPED_LIST_ITERATE_REV(struct section, seclist, psection)
 
#define section_list_iterate_rev_end   LIST_ITERATE_REV_END
 
#define SPECLIST_TAG   entry
 
#define entry_list_iterate(entlist, pentry)    TYPED_LIST_ITERATE(struct entry, entlist, pentry)
 
#define entry_list_iterate_end   LIST_ITERATE_END
 
#define secfile_insert_bool(secfile, value, path, ...)
 
#define secfile_insert_bool_comment(secfile, value, comment, path, ...)
 
#define secfile_replace_bool(secfile, value, path, ...)
 
#define secfile_replace_bool_comment(secfile, value, comment, path, ...)
 
#define secfile_insert_bool_vec(secfile, values, dim, path, ...)
 
#define secfile_insert_bool_vec_comment(secfile, values, dim, comment, path, ...)
 
#define secfile_replace_bool_vec(secfile, values, dim, path, ...)
 
#define secfile_replace_bool_vec_comment(secfile, values, dim, comment, path, ...)
 
#define secfile_insert_int(secfile, value, path, ...)
 
#define secfile_insert_int_comment(secfile, value, comment, path, ...)
 
#define secfile_replace_int(secfile, value, path, ...)
 
#define secfile_replace_int_comment(secfile, value, comment, path, ...)
 
#define secfile_insert_int_vec(secfile, values, dim, path, ...)
 
#define secfile_insert_int_vec_comment(secfile, values, dim, comment, path, ...)
 
#define secfile_replace_int_vec(secfile, values, dim, path, ...)
 
#define secfile_replace_int_vec_comment(secfile, values, dim, comment, path, ...)
 
#define secfile_insert_float(secfile, value, path, ...)
 
#define secfile_replace_float(secfile, value, path, ...)
 
#define secfile_insert_str(secfile, string, path, ...)
 
#define secfile_insert_str_noescape(secfile, string, path, ...)
 
#define secfile_insert_str_comment(secfile, string, comment, path, ...)
 
#define secfile_insert_str_noescape_comment(secfile, string, comment, path, ...)
 
#define secfile_replace_str(secfile, string, path, ...)
 
#define secfile_replace_str_noescape(secfile, string, path, ...)
 
#define secfile_replace_str_comment(secfile, string, comment, path, ...)
 
#define secfile_replace_str_noescape_comment(secfile, string, comment, path, ...)
 
#define secfile_insert_str_vec(secfile, strings, dim, path, ...)
 
#define secfile_insert_str_vec_noescape(secfile, strings, dim, path, ...)
 
#define secfile_insert_str_vec_comment(secfile, strings, dim, comment, path, ...)
 
#define secfile_insert_str_vec_noescape_comment(secfile, strings, dim, comment, path, ...)
 
#define secfile_replace_str_vec(secfile, strings, dim, path, ...)
 
#define secfile_replace_str_vec_noescape(secfile, strings, dim, path, ...)
 
#define secfile_replace_str_vec_comment(secfile, strings, dim, comment, path, ...)
 
#define secfile_replace_str_vec_noescape_comment(secfile, strings, dim, comment, path, ...)
 
#define secfile_insert_enum_full(secfile, enumerator, specenum_type, comment, allow_replace, path, ...)
 
#define secfile_insert_enum(secfile, enumerator, specenum_type, path, ...)
 
#define secfile_insert_enum_comment(secfile, enumerator, specenum_type, comment, path, ...)
 
#define secfile_replace_enum(secfile, enumerator, specenum_type, path, ...)
 
#define secfile_replace_enum_comment(secfile, enumerator, specenum_type, comment, path, ...)
 
#define secfile_insert_enum_vec_full(secfile, enumerators, dim, specenum_type, comment, allow_replace, path, ...)
 
#define secfile_insert_enum_vec(secfile, enumerators, dim, specenum_type, path, ...)
 
#define secfile_insert_enum_vec_comment(secfile, enumerators, dim, specenum_type, comment, path, ...)
 
#define secfile_replace_enum_vec(secfile, enumerators, dim, specenum_type, path, ...)
 
#define secfile_replace_enum_vec_comment(secfile, enumerators, dim, specenum_type, comment, path, ...)
 
#define secfile_insert_enum_data(secfile, value, bitwise, name_fn, data, path, ...)
 
#define secfile_insert_enum_data_comment(secfile, value, bitwise, name_fn, data, path, ...)
 
#define secfile_replace_enum_data(secfile, value, bitwise, name_fn, data, path, ...)
 
#define secfile_replace_enum_data_comment(secfile, value, bitwise, name_fn, data, path, ...)
 
#define secfile_insert_enum_vec_data(secfile, values, dim, bitwise, name_fn, data, path, ...)
 
#define secfile_insert_enum_vec_data_comment(secfile, values, dim, bitwise, name_fn, data, path, ...)
 
#define secfile_replace_enum_vec_data(secfile, values, dim, bitwise, name_fn, data, path, ...)
 
#define secfile_replace_enum_vec_data_comment(secfile, values, dim, bitwise, name_fn, data, path, ...)
 
#define secfile_entry_ignore(_sfile_, _fmt_, ...)    (void) secfile_entry_lookup(_sfile_, _fmt_, ## __VA_ARGS__)
 
#define secfile_entry_ignore_by_path(_sfile_, _path_)    (void) secfile_entry_by_path(_sfile_, _path_)
 
#define secfile_lookup_enum(secfile, enumerator, specenum_type, path, ...)
 
#define secfile_lookup_enum_default(secfile, defval, specenum_type, path, ...)
 
#define secfile_lookup_enum_vec(secfile, dim, specenum_type, path, ...)
 

Typedefs

typedef const voidsecfile_data_t
 
typedef bool(* secfile_enum_is_valid_fn_t) (int enumerator)
 
typedef const char *(* secfile_enum_name_fn_t) (int enumerator)
 
typedef int(* secfile_enum_by_name_fn_t) (const char *enum_name, int(*strcmp_fn) (const char *, const char *))
 
typedef int(* secfile_enum_iter_fn_t) (void)
 
typedef int(* secfile_enum_next_fn_t) (int enumerator)
 
typedef const char *(* secfile_enum_name_data_fn_t) (secfile_data_t data, int enumerator)
 

Enumerations

enum  entry_special_type { EST_NORMAL , EST_INCLUDE , EST_COMMENT }
 
enum  entry_type {
  ENTRY_BOOL , ENTRY_INT , ENTRY_FLOAT , ENTRY_STR ,
  ENTRY_FILEREFERENCE , ENTRY_LONG_COMMENT , ENTRY_ILLEGAL
}
 

Functions

struct section_filesecfile_load_section (const char *filename, const char *section, bool allow_duplicates)
 
struct section_filesecfile_from_stream (fz_FILE *stream, bool allow_duplicates)
 
bool secfile_save (const struct section_file *secfile, const char *filename, int compression_level, enum fz_method compression_method)
 
void secfile_check_unused (const struct section_file *secfile)
 
const charsecfile_name (const struct section_file *secfile)
 
struct entrysecfile_insert_bool_full (struct section_file *secfile, bool value, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
 
size_t secfile_insert_bool_vec_full (struct section_file *secfile, const bool *values, size_t dim, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
 
struct entrysecfile_insert_int_full (struct section_file *secfile, int value, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
 
size_t secfile_insert_int_vec_full (struct section_file *secfile, const int *values, size_t dim, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
 
struct entrysecfile_insert_float_full (struct section_file *secfile, float value, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
 
struct sectionsecfile_insert_include (struct section_file *secfile, const char *filename)
 
struct sectionsecfile_insert_long_comment (struct section_file *secfile, const char *comment)
 
struct entrysecfile_insert_str_full (struct section_file *secfile, const char *str, const char *comment, bool allow_replace, bool no_escape, enum entry_special_type stype, const char *path,...) fc__attribute((__format__(__printf__
 
size_t secfile_insert_str_vec_full (struct section_file *secfile, const char *const *strings, size_t dim, const char *comment, bool allow_replace, bool no_escape, const char *path,...) fc__attribute((__format__(__printf__
 
struct entrysecfile_insert_plain_enum_full (struct section_file *secfile, int enumerator, secfile_enum_name_fn_t name_fn, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
 
struct entry struct entrysecfile_insert_bitwise_enum_full (struct section_file *secfile, int bitwise_val, secfile_enum_name_fn_t name_fn, secfile_enum_iter_fn_t begin_fn, secfile_enum_iter_fn_t end_fn, secfile_enum_next_fn_t next_fn, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
 
size_t secfile_insert_plain_enum_vec_full (struct section_file *secfile, const int *enumurators, size_t dim, secfile_enum_name_fn_t name_fn, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
 
size_t size_t secfile_insert_bitwise_enum_vec_full (struct section_file *secfile, const int *bitwise_vals, size_t dim, secfile_enum_name_fn_t name_fn, secfile_enum_iter_fn_t begin_fn, secfile_enum_iter_fn_t end_fn, secfile_enum_next_fn_t next_fn, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
 
struct entrysecfile_insert_enum_data_full (struct section_file *secfile, int value, bool bitwise, secfile_enum_name_data_fn_t name_fn, secfile_data_t data, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
 
size_t secfile_insert_enum_vec_data_full (struct section_file *secfile, const int *values, size_t dim, bool bitwise, secfile_enum_name_data_fn_t name_fn, secfile_data_t data, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
 
struct entrysecfile_insert_filereference (struct section_file *secfile, const char *filename, const char *path,...) fc__attribute((__format__(__printf__
 
struct entry struct entrysecfile_insert_comment (struct section_file *secfile, const char *str, const char *path,...) fc__attribute((__format__(__printf__
 
struct entry struct entry bool secfile_entry_delete (struct section_file *secfile, const char *path,...) fc__attribute((__format__(__printf__
 
struct entry struct entry bool struct entrysecfile_entry_by_path (const struct section_file *secfile, const char *path)
 
struct entrysecfile_entry_lookup (const struct section_file *secfile, const char *path,...) fc__attribute((__format__(__printf__
 
bool secfile_lookup_bool (const struct section_file *secfile, bool *bval, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
bool bool secfile_lookup_bool_default (const struct section_file *secfile, bool def, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
bool bool boolsecfile_lookup_bool_vec (const struct section_file *secfile, size_t *dim, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
bool bool bool bool secfile_lookup_int (const struct section_file *secfile, int *ival, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
bool bool bool bool int secfile_lookup_int_default (const struct section_file *secfile, int def, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
bool bool bool bool int int secfile_lookup_int_def_min_max (const struct section_file *secfile, int defval, int minval, int maxval, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
bool bool bool bool int int intsecfile_lookup_int_vec (const struct section_file *secfile, size_t *dim, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
bool bool bool bool int int int bool secfile_lookup_float (const struct section_file *secfile, float *fval, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
bool bool bool bool int int int bool float secfile_lookup_float_default (const struct section_file *secfile, float def, const char *path,...)
 
const charsecfile_lookup_str (const struct section_file *secfile, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
const char const charsecfile_lookup_str_default (const struct section_file *secfile, const char *def, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
const char const char const char ** secfile_lookup_str_vec (const struct section_file *secfile, size_t *dim, const char *path,...) fc__attribute((__format__(__printf__
 
const char const char const char bool secfile_lookup_plain_enum_full (const struct section_file *secfile, int *penumerator, secfile_enum_is_valid_fn_t is_valid_fn, secfile_enum_by_name_fn_t by_name_fn, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
const char const char const char bool bool secfile_lookup_bitwise_enum_full (const struct section_file *secfile, int *penumerator, secfile_enum_is_valid_fn_t is_valid_fn, secfile_enum_by_name_fn_t by_name_fn, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
int secfile_lookup_plain_enum_default_full (const struct section_file *secfile, int defval, secfile_enum_is_valid_fn_t is_valid_fn, secfile_enum_by_name_fn_t by_name_fn, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
int int secfile_lookup_bitwise_enum_default_full (const struct section_file *secfile, int defval, secfile_enum_is_valid_fn_t is_valid_fn, secfile_enum_by_name_fn_t by_name_fn, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
intsecfile_lookup_plain_enum_vec_full (const struct section_file *secfile, size_t *dim, secfile_enum_is_valid_fn_t is_valid_fn, secfile_enum_by_name_fn_t by_name_fn, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
int intsecfile_lookup_bitwise_enum_vec_full (const struct section_file *secfile, size_t *dim, secfile_enum_is_valid_fn_t is_valid_fn, secfile_enum_by_name_fn_t by_name_fn, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
bool secfile_lookup_enum_data (const struct section_file *secfile, int *pvalue, bool bitwise, secfile_enum_name_data_fn_t name_fn, secfile_data_t data, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
bool int secfile_lookup_enum_default_data (const struct section_file *secfile, int defval, bool bitwise, secfile_enum_name_data_fn_t name_fn, secfile_data_t data, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
bool int intsecfile_lookup_enum_vec_data (const struct section_file *secfile, size_t *dim, bool bitwise, secfile_enum_name_data_fn_t name_fn, secfile_data_t data, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
bool int int struct sectionsecfile_section_by_name (const struct section_file *secfile, const char *section_name)
 
struct sectionsecfile_section_lookup (const struct section_file *secfile, const char *path,...) fc__attribute((__format__(__printf__
 
struct section const struct section_listsecfile_sections (const struct section_file *secfile)
 
struct section_listsecfile_sections_by_name_prefix (const struct section_file *secfile, const char *prefix)
 
bool secfile_section_prefix_present (const struct section_file *secfile, const char *prefix)
 
struct sectionsecfile_section_new (struct section_file *secfile, const char *section_name)
 
void section_destroy (struct section *psection)
 
void section_clear_all (struct section *psection)
 
bool section_set_name (struct section *psection, const char *section_name)
 
const struct entry_listsection_entries (const struct section *psection)
 
struct entrysection_entry_by_name (const struct section *psection, const char *entry_name)
 
struct entrysection_entry_lookup (const struct section *psection, const char *path,...) fc__attribute((__format__(__printf__
 
struct entry struct entrysection_entry_int_new (struct section *psection, const char *entry_name, int value)
 
struct entrysection_entry_bool_new (struct section *psection, const char *entry_name, bool value)
 
struct entrysection_entry_float_new (struct section *psection, const char *entry_name, float value)
 
struct entrysection_entry_str_new (struct section *psection, const char *entry_name, const char *value, bool escaped)
 
void entry_destroy (struct entry *pentry)
 
struct sectionentry_section (const struct entry *pentry)
 
enum entry_type entry_type_get (const struct entry *pentry)
 
int entry_path (const struct entry *pentry, char *buf, size_t buf_len)
 
const charentry_name (const struct entry *pentry)
 
bool entry_set_name (struct entry *pentry, const char *entry_name)
 
const charentry_comment (const struct entry *pentry)
 
void entry_set_comment (struct entry *pentry, const char *comment)
 
bool entry_int_get (const struct entry *pentry, int *value)
 
bool entry_int_set (struct entry *pentry, int value)
 
bool entry_bool_get (const struct entry *pentry, bool *value)
 
bool entry_bool_set (struct entry *pentry, bool value)
 
bool entry_float_get (const struct entry *pentry, float *value)
 
bool entry_float_set (struct entry *pentry, float value)
 
bool entry_str_get (const struct entry *pentry, const char **value)
 
bool entry_str_set (struct entry *pentry, const char *value)
 
bool entry_str_escaped (const struct entry *pentry)
 
bool entry_str_set_escaped (struct entry *pentry, bool escaped)
 
bool entry_str_set_gt_marking (struct entry *pentry, bool gt_marking)
 

Macro Definition Documentation

◆ entry_list_iterate

#define entry_list_iterate (   entlist,
  pentry 
)     TYPED_LIST_ITERATE(struct entry, entlist, pentry)

Definition at line 55 of file registry_ini.h.

◆ entry_list_iterate_end

#define entry_list_iterate_end   LIST_ITERATE_END

Definition at line 57 of file registry_ini.h.

◆ secfile_entry_ignore

#define secfile_entry_ignore (   _sfile_,
  _fmt_,
  ... 
)     (void) secfile_entry_lookup(_sfile_, _fmt_, ## __VA_ARGS__)

Definition at line 417 of file registry_ini.h.

◆ secfile_entry_ignore_by_path

#define secfile_entry_ignore_by_path (   _sfile_,
  _path_ 
)     (void) secfile_entry_by_path(_sfile_, _path_)

Definition at line 419 of file registry_ini.h.

◆ secfile_insert_bool

#define secfile_insert_bool (   secfile,
  value,
  path,
  ... 
)
Value:
secfile_insert_bool_full(secfile, value, nullptr, FALSE, \
path, ## __VA_ARGS__)
char * incite_cost
Definition comments.c:76
struct entry * secfile_insert_bool_full(struct section_file *secfile, bool value, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
#define FALSE
Definition support.h:47

Definition at line 79 of file registry_ini.h.

◆ secfile_insert_bool_comment

#define secfile_insert_bool_comment (   secfile,
  value,
  comment,
  path,
  ... 
)
Value:
secfile_insert_bool_full(secfile, value, comment, FALSE, \
path, ## __VA_ARGS__)

Definition at line 82 of file registry_ini.h.

◆ secfile_insert_bool_vec

#define secfile_insert_bool_vec (   secfile,
  values,
  dim,
  path,
  ... 
)
Value:
secfile_insert_bool_vec_full(secfile, values, dim, nullptr, FALSE, \
path, ## __VA_ARGS__)
size_t secfile_insert_bool_vec_full(struct section_file *secfile, const bool *values, size_t dim, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__

Definition at line 96 of file registry_ini.h.

◆ secfile_insert_bool_vec_comment

#define secfile_insert_bool_vec_comment (   secfile,
  values,
  dim,
  comment,
  path,
  ... 
)
Value:
secfile_insert_bool_vec_full(secfile, values, dim, comment, FALSE, \
path, ## __VA_ARGS__)

Definition at line 99 of file registry_ini.h.

◆ secfile_insert_enum

#define secfile_insert_enum (   secfile,
  enumerator,
  specenum_type,
  path,
  ... 
)
Value:
secfile_insert_enum_full(secfile, enumerator, specenum_type, nullptr, FALSE, \
path, ## __VA_ARGS__)
#define secfile_insert_enum_full(secfile, enumerator, specenum_type, comment, allow_replace, path,...)

Definition at line 269 of file registry_ini.h.

◆ secfile_insert_enum_comment

#define secfile_insert_enum_comment (   secfile,
  enumerator,
  specenum_type,
  comment,
  path,
  ... 
)
Value:
secfile_insert_enum_full(secfile, enumerator, specenum_type, comment, \
FALSE, path, ## __VA_ARGS__)

Definition at line 272 of file registry_ini.h.

◆ secfile_insert_enum_data

#define secfile_insert_enum_data (   secfile,
  value,
  bitwise,
  name_fn,
  data,
  path,
  ... 
)
Value:
secfile_insert_enum_data_full(secfile, value, bitwise, name_fn, data, \
nullptr, FALSE, path, ## __VA_ARGS__)
struct entry * secfile_insert_enum_data_full(struct section_file *secfile, int value, bool bitwise, secfile_enum_name_data_fn_t name_fn, secfile_data_t data, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__

Definition at line 348 of file registry_ini.h.

◆ secfile_insert_enum_data_comment

#define secfile_insert_enum_data_comment (   secfile,
  value,
  bitwise,
  name_fn,
  data,
  path,
  ... 
)
Value:
secfile_insert_enum_data_full(secfile, value, bitwise, name_fn, data, \
comment, FALSE, path, ## __VA_ARGS__)

Definition at line 352 of file registry_ini.h.

◆ secfile_insert_enum_full

#define secfile_insert_enum_full (   secfile,
  enumerator,
  specenum_type,
  comment,
  allow_replace,
  path,
  ... 
)
Value:
? secfile_insert_bitwise_enum_full(secfile, enumerator, \
comment, allow_replace, \
path, ## __VA_ARGS__) \
: secfile_insert_plain_enum_full(secfile, enumerator, \
comment, allow_replace, \
path, ## __VA_ARGS__))
int(* secfile_enum_iter_fn_t)(void)
struct entry * secfile_insert_plain_enum_full(struct section_file *secfile, int enumerator, secfile_enum_name_fn_t name_fn, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
const char *(* secfile_enum_name_fn_t)(int enumerator)
struct entry struct entry * secfile_insert_bitwise_enum_full(struct section_file *secfile, int bitwise_val, secfile_enum_name_fn_t name_fn, secfile_enum_iter_fn_t begin_fn, secfile_enum_iter_fn_t end_fn, secfile_enum_next_fn_t next_fn, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
int(* secfile_enum_next_fn_t)(int enumerator)

Definition at line 250 of file registry_ini.h.

◆ secfile_insert_enum_vec

#define secfile_insert_enum_vec (   secfile,
  enumerators,
  dim,
  specenum_type,
  path,
  ... 
)
Value:
nullptr, FALSE, path, ## __VA_ARGS__)
#define secfile_insert_enum_vec_full(secfile, enumerators, dim, specenum_type, comment, allow_replace, path,...)

Definition at line 323 of file registry_ini.h.

◆ secfile_insert_enum_vec_comment

#define secfile_insert_enum_vec_comment (   secfile,
  enumerators,
  dim,
  specenum_type,
  comment,
  path,
  ... 
)
Value:

Definition at line 327 of file registry_ini.h.

◆ secfile_insert_enum_vec_data

#define secfile_insert_enum_vec_data (   secfile,
  values,
  dim,
  bitwise,
  name_fn,
  data,
  path,
  ... 
)
Value:
secfile_insert_enum_vec_data_full(secfile, values, dim, bitwise, name_fn, \
data, nullptr, FALSE, path, ## __VA_ARGS__)
size_t secfile_insert_enum_vec_data_full(struct section_file *secfile, const int *values, size_t dim, bool bitwise, secfile_enum_name_data_fn_t name_fn, secfile_data_t data, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__

Definition at line 373 of file registry_ini.h.

◆ secfile_insert_enum_vec_data_comment

#define secfile_insert_enum_vec_data_comment (   secfile,
  values,
  dim,
  bitwise,
  name_fn,
  data,
  path,
  ... 
)
Value:
secfile_insert_enum_vec_data_full(secfile, values, dim, bitwise, name_fn, \
data, comment, FALSE, path, \

Definition at line 377 of file registry_ini.h.

◆ secfile_insert_enum_vec_full

#define secfile_insert_enum_vec_full (   secfile,
  enumerators,
  dim,
  specenum_type,
  comment,
  allow_replace,
  path,
  ... 
)
Value:
dim, \
comment, allow_replace, \
path, ## __VA_ARGS__) \
: secfile_insert_plain_enum_vec_full(secfile, (const int *) enumerators, \
dim, \
comment, allow_replace, \
path, ## __VA_ARGS__))
size_t size_t secfile_insert_bitwise_enum_vec_full(struct section_file *secfile, const int *bitwise_vals, size_t dim, secfile_enum_name_fn_t name_fn, secfile_enum_iter_fn_t begin_fn, secfile_enum_iter_fn_t end_fn, secfile_enum_next_fn_t next_fn, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
size_t secfile_insert_plain_enum_vec_full(struct section_file *secfile, const int *enumurators, size_t dim, secfile_enum_name_fn_t name_fn, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__

Definition at line 301 of file registry_ini.h.

◆ secfile_insert_float

#define secfile_insert_float (   secfile,
  value,
  path,
  ... 
)
Value:
secfile_insert_float_full(secfile, value, nullptr, FALSE, \
path, ## __VA_ARGS__)
struct entry * secfile_insert_float_full(struct section_file *secfile, float value, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__

Definition at line 153 of file registry_ini.h.

◆ secfile_insert_int

#define secfile_insert_int (   secfile,
  value,
  path,
  ... 
)
Value:
secfile_insert_int_full(secfile, value, nullptr, FALSE, \
path, ## __VA_ARGS__)
struct entry * secfile_insert_int_full(struct section_file *secfile, int value, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__

Definition at line 116 of file registry_ini.h.

◆ secfile_insert_int_comment

#define secfile_insert_int_comment (   secfile,
  value,
  comment,
  path,
  ... 
)
Value:
secfile_insert_int_full(secfile, value, comment, FALSE, \
path, ## __VA_ARGS__)

Definition at line 119 of file registry_ini.h.

◆ secfile_insert_int_vec

#define secfile_insert_int_vec (   secfile,
  values,
  dim,
  path,
  ... 
)
Value:
secfile_insert_int_vec_full(secfile, values, dim, nullptr, FALSE, \
path, ## __VA_ARGS__)
size_t secfile_insert_int_vec_full(struct section_file *secfile, const int *values, size_t dim, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__

Definition at line 133 of file registry_ini.h.

◆ secfile_insert_int_vec_comment

#define secfile_insert_int_vec_comment (   secfile,
  values,
  dim,
  comment,
  path,
  ... 
)
Value:
secfile_insert_int_vec_full(secfile, values, dim, comment, FALSE, \
path, ## __VA_ARGS__)

Definition at line 136 of file registry_ini.h.

◆ secfile_insert_str

#define secfile_insert_str (   secfile,
  string,
  path,
  ... 
)
Value:
secfile_insert_str_full(secfile, string, nullptr, FALSE, FALSE, FALSE, \
path, ## __VA_ARGS__)
struct entry * secfile_insert_str_full(struct section_file *secfile, const char *str, const char *comment, bool allow_replace, bool no_escape, enum entry_special_type stype, const char *path,...) fc__attribute((__format__(__printf__

Definition at line 173 of file registry_ini.h.

◆ secfile_insert_str_comment

#define secfile_insert_str_comment (   secfile,
  string,
  comment,
  path,
  ... 
)
Value:
secfile_insert_str_full(secfile, string, comment, FALSE, TRUE, FALSE, \
path, ## __VA_ARGS__)
#define TRUE
Definition support.h:46

Definition at line 179 of file registry_ini.h.

◆ secfile_insert_str_noescape

#define secfile_insert_str_noescape (   secfile,
  string,
  path,
  ... 
)
Value:
secfile_insert_str_full(secfile, string, nullptr, FALSE, TRUE, FALSE, \
path, ## __VA_ARGS__)

Definition at line 176 of file registry_ini.h.

◆ secfile_insert_str_noescape_comment

#define secfile_insert_str_noescape_comment (   secfile,
  string,
  comment,
  path,
  ... 
)
Value:
secfile_insert_str_full(secfile, string, comment, FALSE, TRUE, FALSE, \
path, ## __VA_ARGS__)

Definition at line 182 of file registry_ini.h.

◆ secfile_insert_str_vec

#define secfile_insert_str_vec (   secfile,
  strings,
  dim,
  path,
  ... 
)
Value:
path, ## __VA_ARGS__)
size_t secfile_insert_str_vec_full(struct section_file *secfile, const char *const *strings, size_t dim, const char *comment, bool allow_replace, bool no_escape, const char *path,...) fc__attribute((__format__(__printf__

Definition at line 204 of file registry_ini.h.

◆ secfile_insert_str_vec_comment

#define secfile_insert_str_vec_comment (   secfile,
  strings,
  dim,
  comment,
  path,
  ... 
)
Value:
path, ## __VA_ARGS__)

Definition at line 210 of file registry_ini.h.

◆ secfile_insert_str_vec_noescape

#define secfile_insert_str_vec_noescape (   secfile,
  strings,
  dim,
  path,
  ... 
)
Value:
path, ## __VA_ARGS__)

Definition at line 207 of file registry_ini.h.

◆ secfile_insert_str_vec_noescape_comment

#define secfile_insert_str_vec_noescape_comment (   secfile,
  strings,
  dim,
  comment,
  path,
  ... 
)
Value:
path, ## __VA_ARGS__)

Definition at line 214 of file registry_ini.h.

◆ secfile_lookup_enum

#define secfile_lookup_enum (   secfile,
  enumerator,
  specenum_type,
  path,
  ... 
)
Value:
path, ## __VA_ARGS__) \
: secfile_lookup_plain_enum_full(secfile, FC_ENUM_PTR(enumerator), \
path, ## __VA_ARGS__))
const char const char const char bool bool secfile_lookup_bitwise_enum_full(const struct section_file *secfile, int *penumerator, secfile_enum_is_valid_fn_t is_valid_fn, secfile_enum_by_name_fn_t by_name_fn, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
bool(* secfile_enum_is_valid_fn_t)(int enumerator)
const char const char const char bool secfile_lookup_plain_enum_full(const struct section_file *secfile, int *penumerator, secfile_enum_is_valid_fn_t is_valid_fn, secfile_enum_by_name_fn_t by_name_fn, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
int(* secfile_enum_by_name_fn_t)(const char *enum_name, int(*strcmp_fn)(const char *, const char *))
static enum SPECENUM_NAME SPECENUM_FOO() _by_name(const char *name, int(*strcmp_func)(const char *, const char *))

Definition at line 487 of file registry_ini.h.

◆ secfile_lookup_enum_default

#define secfile_lookup_enum_default (   secfile,
  defval,
  specenum_type,
  path,
  ... 
)
Value:
path, ## __VA_ARGS__) \
path, ## __VA_ARGS__))
int int secfile_lookup_bitwise_enum_default_full(const struct section_file *secfile, int defval, secfile_enum_is_valid_fn_t is_valid_fn, secfile_enum_by_name_fn_t by_name_fn, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
int secfile_lookup_plain_enum_default_full(const struct section_file *secfile, int defval, secfile_enum_is_valid_fn_t is_valid_fn, secfile_enum_by_name_fn_t by_name_fn, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__

Definition at line 519 of file registry_ini.h.

◆ secfile_lookup_enum_vec

#define secfile_lookup_enum_vec (   secfile,
  dim,
  specenum_type,
  path,
  ... 
)
Value:
? (enum specenum_type *) \
path, ## __VA_ARGS__) \
: (enum specenum_type *) \
path, ## __VA_ARGS__))
int * secfile_lookup_plain_enum_vec_full(const struct section_file *secfile, size_t *dim, secfile_enum_is_valid_fn_t is_valid_fn, secfile_enum_by_name_fn_t by_name_fn, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
int int * secfile_lookup_bitwise_enum_vec_full(const struct section_file *secfile, size_t *dim, secfile_enum_is_valid_fn_t is_valid_fn, secfile_enum_by_name_fn_t by_name_fn, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__

Definition at line 552 of file registry_ini.h.

◆ secfile_replace_bool

#define secfile_replace_bool (   secfile,
  value,
  path,
  ... 
)
Value:
secfile_insert_bool_full(secfile, value, nullptr, TRUE, \
path, ## __VA_ARGS__)

Definition at line 85 of file registry_ini.h.

◆ secfile_replace_bool_comment

#define secfile_replace_bool_comment (   secfile,
  value,
  comment,
  path,
  ... 
)
Value:
secfile_insert_bool_full(secfile, value, comment, TRUE, \
path, ## __VA_ARGS__)

Definition at line 88 of file registry_ini.h.

◆ secfile_replace_bool_vec

#define secfile_replace_bool_vec (   secfile,
  values,
  dim,
  path,
  ... 
)
Value:
secfile_insert_bool_vec_full(secfile, values, dim, nullptr, TRUE, \
path, ## __VA_ARGS__)

Definition at line 103 of file registry_ini.h.

◆ secfile_replace_bool_vec_comment

#define secfile_replace_bool_vec_comment (   secfile,
  values,
  dim,
  comment,
  path,
  ... 
)
Value:
secfile_insert_bool_vec_full(secfile, values, comment, TRUE, \
path, ## __VA_ARGS__)

Definition at line 106 of file registry_ini.h.

◆ secfile_replace_enum

#define secfile_replace_enum (   secfile,
  enumerator,
  specenum_type,
  path,
  ... 
)
Value:
secfile_insert_enum_full(secfile, enumerator, specenum_type, nullptr, TRUE, \
path, ## __VA_ARGS__)

Definition at line 276 of file registry_ini.h.

◆ secfile_replace_enum_comment

#define secfile_replace_enum_comment (   secfile,
  enumerator,
  specenum_type,
  comment,
  path,
  ... 
)
Value:
secfile_insert_enum_full(secfile, enumerator, specenum_type, comment, \
TRUE, path, ## __VA_ARGS__)

Definition at line 279 of file registry_ini.h.

◆ secfile_replace_enum_data

#define secfile_replace_enum_data (   secfile,
  value,
  bitwise,
  name_fn,
  data,
  path,
  ... 
)
Value:
secfile_insert_enum_data_full(secfile, value, bitwise, name_fn, data, \
nullptr, TRUE, path, ## __VA_ARGS__)

Definition at line 356 of file registry_ini.h.

◆ secfile_replace_enum_data_comment

#define secfile_replace_enum_data_comment (   secfile,
  value,
  bitwise,
  name_fn,
  data,
  path,
  ... 
)
Value:
secfile_insert_enum_data_full(secfile, value, bitwise, name_fn, data, \
comment, TRUE, path, ## __VA_ARGS__)

Definition at line 360 of file registry_ini.h.

◆ secfile_replace_enum_vec

#define secfile_replace_enum_vec (   secfile,
  enumerators,
  dim,
  specenum_type,
  path,
  ... 
)
Value:

Definition at line 331 of file registry_ini.h.

◆ secfile_replace_enum_vec_comment

#define secfile_replace_enum_vec_comment (   secfile,
  enumerators,
  dim,
  specenum_type,
  comment,
  path,
  ... 
)
Value:

Definition at line 335 of file registry_ini.h.

◆ secfile_replace_enum_vec_data

#define secfile_replace_enum_vec_data (   secfile,
  values,
  dim,
  bitwise,
  name_fn,
  data,
  path,
  ... 
)
Value:
secfile_insert_enum_vec_data_full(secfile, values, dim, bitwise, name_fn, \
data, nullptr, TRUE, path, ## __VA_ARGS__)

Definition at line 382 of file registry_ini.h.

◆ secfile_replace_enum_vec_data_comment

#define secfile_replace_enum_vec_data_comment (   secfile,
  values,
  dim,
  bitwise,
  name_fn,
  data,
  path,
  ... 
)
Value:
secfile_insert_enum_vec_data_full(secfile, values, dim, bitwise, name_fn, \
data, comment, TRUE, path, \

Definition at line 386 of file registry_ini.h.

◆ secfile_replace_float

#define secfile_replace_float (   secfile,
  value,
  path,
  ... 
)
Value:
secfile_insert_float_full(secfile, value, nullptr, TRUE, \
path, ## __VA_ARGS__)

Definition at line 156 of file registry_ini.h.

◆ secfile_replace_int

#define secfile_replace_int (   secfile,
  value,
  path,
  ... 
)
Value:
secfile_insert_int_full(secfile, value, nullptr, TRUE, \
path, ## __VA_ARGS__)

Definition at line 122 of file registry_ini.h.

◆ secfile_replace_int_comment

#define secfile_replace_int_comment (   secfile,
  value,
  comment,
  path,
  ... 
)
Value:
secfile_insert_int_full(secfile, value, comment, TRUE, \
path, ## __VA_ARGS__)

Definition at line 125 of file registry_ini.h.

◆ secfile_replace_int_vec

#define secfile_replace_int_vec (   secfile,
  values,
  dim,
  path,
  ... 
)
Value:
secfile_insert_int_vec_full(secfile, values, dim, nullptr, TRUE, \
path, ## __VA_ARGS__)

Definition at line 140 of file registry_ini.h.

◆ secfile_replace_int_vec_comment

#define secfile_replace_int_vec_comment (   secfile,
  values,
  dim,
  comment,
  path,
  ... 
)
Value:
secfile_insert_int_vec_full(secfile, values, dim, comment, TRUE, \
path, ## __VA_ARGS__)

Definition at line 143 of file registry_ini.h.

◆ secfile_replace_str

#define secfile_replace_str (   secfile,
  string,
  path,
  ... 
)
Value:
secfile_insert_str_full(secfile, string, nullptr, TRUE, FALSE, FALSE, \
path, ## __VA_ARGS__)

Definition at line 186 of file registry_ini.h.

◆ secfile_replace_str_comment

#define secfile_replace_str_comment (   secfile,
  string,
  comment,
  path,
  ... 
)
Value:
secfile_insert_str_full(secfile, string, comment, TRUE, TRUE, FALSE, \
path, ## __VA_ARGS__)

Definition at line 192 of file registry_ini.h.

◆ secfile_replace_str_noescape

#define secfile_replace_str_noescape (   secfile,
  string,
  path,
  ... 
)
Value:
secfile_insert_str_full(secfile, string, nullptr, TRUE, TRUE, FALSE, \
path, ## __VA_ARGS__)

Definition at line 189 of file registry_ini.h.

◆ secfile_replace_str_noescape_comment

#define secfile_replace_str_noescape_comment (   secfile,
  string,
  comment,
  path,
  ... 
)
Value:
secfile_insert_str_full(secfile, string, comment, TRUE, TRUE, FALSE, \
path, ## __VA_ARGS__)

Definition at line 195 of file registry_ini.h.

◆ secfile_replace_str_vec

#define secfile_replace_str_vec (   secfile,
  strings,
  dim,
  path,
  ... 
)
Value:
path, ## __VA_ARGS__)

Definition at line 218 of file registry_ini.h.

◆ secfile_replace_str_vec_comment

#define secfile_replace_str_vec_comment (   secfile,
  strings,
  dim,
  comment,
  path,
  ... 
)
Value:
path, ## __VA_ARGS__)

Definition at line 224 of file registry_ini.h.

◆ secfile_replace_str_vec_noescape

#define secfile_replace_str_vec_noescape (   secfile,
  strings,
  dim,
  path,
  ... 
)
Value:
path, ## __VA_ARGS__)

Definition at line 221 of file registry_ini.h.

◆ secfile_replace_str_vec_noescape_comment

#define secfile_replace_str_vec_noescape_comment (   secfile,
  strings,
  dim,
  comment,
  path,
  ... 
)
Value:
path, ## __VA_ARGS__)

Definition at line 228 of file registry_ini.h.

◆ section_list_iterate

#define section_list_iterate (   seclist,
  psection 
)     TYPED_LIST_ITERATE(struct section, seclist, psection)

Definition at line 45 of file registry_ini.h.

◆ section_list_iterate_end

#define section_list_iterate_end   LIST_ITERATE_END

Definition at line 47 of file registry_ini.h.

◆ section_list_iterate_rev

#define section_list_iterate_rev (   seclist,
  psection 
)     TYPED_LIST_ITERATE_REV(struct section, seclist, psection)

Definition at line 48 of file registry_ini.h.

◆ section_list_iterate_rev_end

#define section_list_iterate_rev_end   LIST_ITERATE_REV_END

Definition at line 50 of file registry_ini.h.

◆ SPECLIST_TAG [1/2]

#define SPECLIST_TAG   section

Definition at line 43 of file registry_ini.h.

◆ SPECLIST_TAG [2/2]

#define SPECLIST_TAG   entry

Definition at line 43 of file registry_ini.h.

Typedef Documentation

◆ secfile_data_t

Definition at line 30 of file registry_ini.h.

◆ secfile_enum_by_name_fn_t

typedef int(* secfile_enum_by_name_fn_t) (const char *enum_name, int(*strcmp_fn)(const char *, const char *))

Definition at line 34 of file registry_ini.h.

◆ secfile_enum_is_valid_fn_t

typedef bool(* secfile_enum_is_valid_fn_t) (int enumerator)

Definition at line 32 of file registry_ini.h.

◆ secfile_enum_iter_fn_t

typedef int(* secfile_enum_iter_fn_t) (void)

Definition at line 37 of file registry_ini.h.

◆ secfile_enum_name_data_fn_t

typedef const char *(* secfile_enum_name_data_fn_t) (secfile_data_t data, int enumerator)

Definition at line 39 of file registry_ini.h.

◆ secfile_enum_name_fn_t

typedef const char *(* secfile_enum_name_fn_t) (int enumerator)

Definition at line 33 of file registry_ini.h.

◆ secfile_enum_next_fn_t

typedef int(* secfile_enum_next_fn_t) (int enumerator)

Definition at line 38 of file registry_ini.h.

Enumeration Type Documentation

◆ entry_special_type

Enumerator
EST_NORMAL 
EST_INCLUDE 
EST_COMMENT 

Definition at line 71 of file registry_ini.h.

◆ entry_type

Enumerator
ENTRY_BOOL 
ENTRY_INT 
ENTRY_FLOAT 
ENTRY_STR 
ENTRY_FILEREFERENCE 
ENTRY_LONG_COMMENT 
ENTRY_ILLEGAL 

Definition at line 634 of file registry_ini.h.

Function Documentation

◆ entry_bool_get()

bool entry_bool_get ( const struct entry pentry,
bool value 
)

Gets an boolean value. Returns TRUE on success. On old saved files, 0 and 1 can also be considered as bool.

Definition at line 3460 of file registry_ini.c.

Referenced by lookup_req_list(), secfile_lookup_bool(), secfile_lookup_bool_default(), and settable_options_load().

◆ entry_bool_set()

bool entry_bool_set ( struct entry pentry,
bool  value 
)

Sets an boolean value. Returns TRUE on success.

Definition at line 3489 of file registry_ini.c.

Referenced by secfile_insert_bool_full().

◆ entry_comment()

const char * entry_comment ( const struct entry pentry)

Returns the comment associated to this entry.

Definition at line 3419 of file registry_ini.c.

Referenced by secfile_save().

◆ entry_destroy()

void entry_destroy ( struct entry pentry)

◆ entry_float_get()

bool entry_float_get ( const struct entry pentry,
float value 
)

Gets an floating value. Returns TRUE on success.

Definition at line 3502 of file registry_ini.c.

Referenced by secfile_lookup_float(), and secfile_lookup_float_default().

◆ entry_float_set()

bool entry_float_set ( struct entry pentry,
float  value 
)

Sets an floating value. Returns TRUE on success.

Definition at line 3518 of file registry_ini.c.

Referenced by secfile_insert_float_full().

◆ entry_int_get()

bool entry_int_get ( const struct entry pentry,
int value 
)

Gets an integer value. Returns TRUE on success.

Definition at line 3532 of file registry_ini.c.

Referenced by load_action_range_max(), lookup_req_list(), secfile_lookup_int(), secfile_lookup_int_def_min_max(), secfile_lookup_int_default(), and settable_options_load().

◆ entry_int_set()

bool entry_int_set ( struct entry pentry,
int  value 
)

Sets an integer value. Returns TRUE on success.

Definition at line 3548 of file registry_ini.c.

Referenced by secfile_insert_int_full().

◆ entry_name()

const char * entry_name ( const struct entry pentry)

◆ entry_path()

int entry_path ( const struct entry pentry,
char buf,
size_t  buf_len 
)

Build the entry path. Returns like snprintf().

Definition at line 3353 of file registry_ini.c.

Referenced by secfile_hash_delete(), and secfile_hash_insert().

◆ entry_section()

struct section * entry_section ( const struct entry pentry)

◆ entry_set_comment()

void entry_set_comment ( struct entry pentry,
const char comment 
)

◆ entry_set_name()

bool entry_set_name ( struct entry pentry,
const char name 
)

Sets the name of the entry. Returns TRUE on success.

Definition at line 3371 of file registry_ini.c.

Referenced by compat_load_020400().

◆ entry_str_escaped()

bool entry_str_escaped ( const struct entry pentry)

Returns if the string would be escaped.

Definition at line 3599 of file registry_ini.c.

◆ entry_str_get()

bool entry_str_get ( const struct entry pentry,
const char **  value 
)

◆ entry_str_set()

bool entry_str_set ( struct entry pentry,
const char value 
)

Sets an string value. Returns TRUE on success.

Definition at line 3577 of file registry_ini.c.

Referenced by secfile_insert_bitwise_enum_full(), secfile_insert_enum_data_full(), secfile_insert_plain_enum_full(), and secfile_insert_str_full().

◆ entry_str_set_escaped()

bool entry_str_set_escaped ( struct entry pentry,
bool  escaped 
)

Sets if the string would be escaped. Returns TRUE on success.

Definition at line 3611 of file registry_ini.c.

◆ entry_str_set_gt_marking()

bool entry_str_set_gt_marking ( struct entry pentry,
bool  gt_marking 
)

Sets if the string should get gettext marking. Returns TRUE on success.

Definition at line 3625 of file registry_ini.c.

Referenced by save_game_ruleset(), save_name_translation(), and sg_save_scenario().

◆ entry_type_get()

enum entry_type entry_type_get ( const struct entry pentry)

◆ secfile_check_unused()

void secfile_check_unused ( const struct section_file secfile)

Print log messages for any entries in the file which have not been looked up – ie, unused or unrecognised entries. To mark an entry as used without actually doing anything with it, you could do something like: section_file_lookup(&file, "foo.bar"); / * unused * /

Definition at line 907 of file registry_ini.c.

Referenced by boot_help_texts(), comments_load(), load_command(), load_ruleset_buildings(), load_ruleset_cities(), load_ruleset_effects(), load_ruleset_governments(), load_ruleset_nations(), load_ruleset_techs(), load_ruleset_terrain(), load_ruleset_units(), load_rulesetdir(), scan_specfile(), scan_specfile(), theme_read_toplevel(), and tileset_read_toplevel().

◆ secfile_entry_by_path()

struct entry struct entry bool struct entry * secfile_entry_by_path ( const struct section_file secfile,
const char path 
)

◆ secfile_entry_delete()

struct entry struct entry bool secfile_entry_delete ( struct section_file secfile,
const char path,
  ... 
)

◆ secfile_entry_lookup()

struct entry * secfile_entry_lookup ( const struct section_file secfile,
const char path,
  ... 
)

◆ secfile_from_stream()

struct section_file * secfile_from_stream ( fz_FILE stream,
bool  allow_duplicates 
)

Create a section file from a stream. Returns nullptr on error.

Definition at line 610 of file registry_ini.c.

Referenced by netfile_get_section_file().

◆ secfile_insert_bitwise_enum_full()

struct entry struct entry * secfile_insert_bitwise_enum_full ( struct section_file secfile,
int  bitwise_val,
secfile_enum_name_fn_t  name_fn,
secfile_enum_iter_fn_t  begin_fn,
secfile_enum_iter_fn_t  end_fn,
secfile_enum_next_fn_t  next_fn,
const char comment,
bool  allow_replace,
const char path,
  ... 
)

◆ secfile_insert_bitwise_enum_vec_full()

size_t size_t secfile_insert_bitwise_enum_vec_full ( struct section_file secfile,
const int bitwise_vals,
size_t  dim,
secfile_enum_name_fn_t  name_fn,
secfile_enum_iter_fn_t  begin_fn,
secfile_enum_iter_fn_t  end_fn,
secfile_enum_next_fn_t  next_fn,
const char comment,
bool  allow_replace,
const char path,
  ... 
)

◆ secfile_insert_bool_full()

struct entry * secfile_insert_bool_full ( struct section_file secfile,
bool  value,
const char comment,
bool  allow_replace,
const char path,
  ... 
)

◆ secfile_insert_bool_vec_full()

size_t secfile_insert_bool_vec_full ( struct section_file secfile,
const bool values,
size_t  dim,
const char comment,
bool  allow_replace,
const char path,
  ... 
)

◆ secfile_insert_comment()

struct entry struct entry * secfile_insert_comment ( struct section_file secfile,
const char str,
const char path,
  ... 
)

◆ secfile_insert_enum_data_full()

struct entry * secfile_insert_enum_data_full ( struct section_file secfile,
int  value,
bool  bitwise,
secfile_enum_name_data_fn_t  name_fn,
secfile_data_t  data,
const char comment,
bool  allow_replace,
const char path,
  ... 
)

◆ secfile_insert_enum_vec_data_full()

size_t secfile_insert_enum_vec_data_full ( struct section_file secfile,
const int values,
size_t  dim,
bool  bitwise,
secfile_enum_name_data_fn_t  name_fn,
secfile_data_t  data,
const char comment,
bool  allow_replace,
const char path,
  ... 
)

◆ secfile_insert_filereference()

struct entry * secfile_insert_filereference ( struct section_file secfile,
const char filename,
const char path,
  ... 
)

◆ secfile_insert_float_full()

struct entry * secfile_insert_float_full ( struct section_file secfile,
float  value,
const char comment,
bool  allow_replace,
const char path,
  ... 
)

◆ secfile_insert_include()

struct section * secfile_insert_include ( struct section_file secfile,
const char filename 
)

Insert a include entry.

Definition at line 1212 of file registry_ini.c.

Referenced by save_nations_ruleset().

◆ secfile_insert_int_full()

struct entry * secfile_insert_int_full ( struct section_file secfile,
int  value,
const char comment,
bool  allow_replace,
const char path,
  ... 
)

◆ secfile_insert_int_vec_full()

size_t secfile_insert_int_vec_full ( struct section_file secfile,
const int values,
size_t  dim,
const char comment,
bool  allow_replace,
const char path,
  ... 
)

◆ secfile_insert_long_comment()

struct section * secfile_insert_long_comment ( struct section_file secfile,
const char comment 
)

Insert a long comment section.

Definition at line 1236 of file registry_ini.c.

Referenced by comment_write().

◆ secfile_insert_plain_enum_full()

struct entry * secfile_insert_plain_enum_full ( struct section_file secfile,
int  enumerator,
secfile_enum_name_fn_t  name_fn,
const char comment,
bool  allow_replace,
const char path,
  ... 
)

◆ secfile_insert_plain_enum_vec_full()

size_t secfile_insert_plain_enum_vec_full ( struct section_file secfile,
const int enumurators,
size_t  dim,
secfile_enum_name_fn_t  name_fn,
const char comment,
bool  allow_replace,
const char path,
  ... 
)

◆ secfile_insert_str_full()

struct entry * secfile_insert_str_full ( struct section_file secfile,
const char str,
const char comment,
bool  allow_replace,
bool  no_escape,
enum entry_special_type  stype,
const char path,
  ... 
)

◆ secfile_insert_str_vec_full()

size_t secfile_insert_str_vec_full ( struct section_file secfile,
const char *const strings,
size_t  dim,
const char comment,
bool  allow_replace,
bool  no_escape,
const char path,
  ... 
)

◆ secfile_load_section()

struct section_file * secfile_load_section ( const char filename,
const char section,
bool  allow_duplicates 
)

Create a section file from a file, read only one particular section. Returns nullptr on error.

Definition at line 596 of file registry_ini.c.

Referenced by secfile_load(), show_scenarios(), fc_client::slot_selection_changed(), update_scenario_page(), and fc_client::update_scenarios_page().

◆ secfile_lookup_bitwise_enum_default_full()

int int secfile_lookup_bitwise_enum_default_full ( const struct section_file secfile,
int  defval,
secfile_enum_is_valid_fn_t  is_valid_fn,
secfile_enum_by_name_fn_t  by_name_fn,
const char path,
  ... 
)

◆ secfile_lookup_bitwise_enum_full()

const char const char const char bool bool secfile_lookup_bitwise_enum_full ( const struct section_file secfile,
int penumerator,
secfile_enum_is_valid_fn_t  is_valid_fn,
secfile_enum_by_name_fn_t  by_name_fn,
const char path,
  ... 
)

◆ secfile_lookup_bitwise_enum_vec_full()

int int * secfile_lookup_bitwise_enum_vec_full ( const struct section_file secfile,
size_t dim,
secfile_enum_is_valid_fn_t  is_valid_fn,
secfile_enum_by_name_fn_t  by_name_fn,
const char path,
  ... 
)

◆ secfile_lookup_bool()

bool secfile_lookup_bool ( const struct section_file secfile,
bool bval,
const char path,
  ... 
)

◆ secfile_lookup_bool_default()

bool bool secfile_lookup_bool_default ( const struct section_file secfile,
bool  def,
const char path,
  ... 
)

◆ secfile_lookup_bool_vec()

bool bool bool * secfile_lookup_bool_vec ( const struct section_file secfile,
size_t dim,
const char path,
  ... 
)

◆ secfile_lookup_enum_data()

bool secfile_lookup_enum_data ( const struct section_file secfile,
int pvalue,
bool  bitwise,
secfile_enum_name_data_fn_t  name_fn,
secfile_data_t  data,
const char path,
  ... 
)

◆ secfile_lookup_enum_default_data()

bool int secfile_lookup_enum_default_data ( const struct section_file secfile,
int  defval,
bool  bitwise,
secfile_enum_name_data_fn_t  name_fn,
secfile_data_t  data,
const char path,
  ... 
)

◆ secfile_lookup_enum_vec_data()

bool int int * secfile_lookup_enum_vec_data ( const struct section_file secfile,
size_t dim,
bool  bitwise,
secfile_enum_name_data_fn_t  name_fn,
secfile_data_t  data,
const char path,
  ... 
)

◆ secfile_lookup_float()

bool bool bool bool int int int bool secfile_lookup_float ( const struct section_file secfile,
float fval,
const char path,
  ... 
)

◆ secfile_lookup_float_default()

bool bool bool bool int int int bool float secfile_lookup_float_default ( const struct section_file secfile,
float  def,
const char path,
  ... 
)

Lookup a floating point value in the secfile. On failure, use the default value.

Definition at line 2152 of file registry_ini.c.

Referenced by sg_load_game(), and sg_load_game().

◆ secfile_lookup_int()

bool bool bool bool secfile_lookup_int ( const struct section_file secfile,
int ival,
const char path,
  ... 
)

◆ secfile_lookup_int_def_min_max()

bool bool bool bool int int secfile_lookup_int_def_min_max ( const struct section_file secfile,
int  defval,
int  minval,
int  maxval,
const char path,
  ... 
)

◆ secfile_lookup_int_default()

bool bool bool bool int secfile_lookup_int_default ( const struct section_file secfile,
int  def,
const char path,
  ... 
)

◆ secfile_lookup_int_vec()

bool bool bool bool int int int * secfile_lookup_int_vec ( const struct section_file secfile,
size_t dim,
const char path,
  ... 
)

◆ secfile_lookup_plain_enum_default_full()

int secfile_lookup_plain_enum_default_full ( const struct section_file secfile,
int  defval,
secfile_enum_is_valid_fn_t  is_valid_fn,
secfile_enum_by_name_fn_t  by_name_fn,
const char path,
  ... 
)

◆ secfile_lookup_plain_enum_full()

const char const char const char bool secfile_lookup_plain_enum_full ( const struct section_file secfile,
int penumerator,
secfile_enum_is_valid_fn_t  is_valid_fn,
secfile_enum_by_name_fn_t  by_name_fn,
const char path,
  ... 
)

◆ secfile_lookup_plain_enum_vec_full()

int * secfile_lookup_plain_enum_vec_full ( const struct section_file secfile,
size_t dim,
secfile_enum_is_valid_fn_t  is_valid_fn,
secfile_enum_by_name_fn_t  by_name_fn,
const char path,
  ... 
)

◆ secfile_lookup_str()

const char * secfile_lookup_str ( const struct section_file secfile,
const char path,
  ... 
)

◆ secfile_lookup_str_default()

const char const char * secfile_lookup_str_default ( const struct section_file secfile,
const char def,
const char path,
  ... 
)

◆ secfile_lookup_str_vec()

const char const char const char ** secfile_lookup_str_vec ( const struct section_file secfile,
size_t dim,
const char path,
  ... 
)

◆ secfile_name()

const char * secfile_name ( const struct section_file secfile)

◆ secfile_save()

bool secfile_save ( const struct section_file secfile,
const char filename,
int  compression_level,
enum fz_method  compression_method 
)

Save the previously filled in section_file to disk.

There is now limited ability to save in the new tabular format (to give smaller savefiles). The start of a table is detected by an entry with name of the form: (alphabetical_component)(zero)(period)(alphanumeric_component) Eg: u0.id, or c0.id, in the freeciv savefile. The alphabetical component is taken as the "name" of the table, and the component after the period as the first column name. This should be followed by the other column values for u0, and then subsequent u1, u2, etc, in strict order with no omissions, and with all of the columns for all uN in the same order as for u0.

If compression_level is non-zero, then compress using zlib. (Should only supply non-zero compression_level if already know that FREECIV_HAVE_LIBZ.) Below simply specifies FZ_ZLIB method, since fz_fromFile() automatically changes to FZ_PLAIN method when level == 0.

Definition at line 644 of file registry_ini.c.

Referenced by save_luadata(), save_ruleset_file(), save_thread_run(), and send_client_wants_hack().

◆ secfile_section_by_name()

bool int int struct section * secfile_section_by_name ( const struct section_file secfile,
const char name 
)

◆ secfile_section_lookup()

struct section * secfile_section_lookup ( const struct section_file secfile,
const char path,
  ... 
)

◆ secfile_section_new()

struct section * secfile_section_new ( struct section_file secfile,
const char name 
)

Create a new section in the secfile.

Definition at line 2931 of file registry_ini.c.

Referenced by secfile_from_input_file(), secfile_insert_base(), secfile_insert_include(), and secfile_insert_long_comment().

◆ secfile_section_prefix_present()

bool secfile_section_prefix_present ( const struct section_file secfile,
const char prefix 
)

Checks if there's any sections with the given prefix in the secfile.

Definition at line 2906 of file registry_ini.c.

◆ secfile_sections()

struct section const struct section_list * secfile_sections ( const struct section_file secfile)

Returns the list of sections. This list is owned by the registry module and shouldn't be modified and destroyed.

Definition at line 2866 of file registry_ini.c.

Referenced by secfile_check_unused().

◆ secfile_sections_by_name_prefix()

struct section_list * secfile_sections_by_name_prefix ( const struct section_file secfile,
const char prefix 
)

◆ section_clear_all()

void section_clear_all ( struct section psection)

Remove all entries.

Definition at line 3002 of file registry_ini.c.

Referenced by section_destroy().

◆ section_destroy()

void section_destroy ( struct section psection)

Remove this section from the secfile.

Definition at line 2975 of file registry_ini.c.

Referenced by secfile_new().

◆ section_entries()

const struct entry_list * section_entries ( const struct section psection)

Returns a list containing all the entries. This list is owned by the secfile, so don't modify or destroy it.

Definition at line 3079 of file registry_ini.c.

Referenced by compat_load_020400(), options_dialogs_load(), secfile_check_unused(), secfile_from_input_file(), secfile_save(), and settable_options_load().

◆ section_entry_bool_new()

struct entry * section_entry_bool_new ( struct section psection,
const char name,
bool  value 
)

Returns a new entry of type ENTRY_BOOL.

Definition at line 3201 of file registry_ini.c.

Referenced by entry_from_token(), and secfile_insert_bool_full().

◆ section_entry_by_name()

struct entry * section_entry_by_name ( const struct section psection,
const char name 
)

◆ section_entry_float_new()

struct entry * section_entry_float_new ( struct section psection,
const char name,
float  value 
)

Returns a new entry of type ENTRY_FLOAT.

Definition at line 3217 of file registry_ini.c.

Referenced by entry_from_token(), and secfile_insert_float_full().

◆ section_entry_int_new()

struct entry struct entry * section_entry_int_new ( struct section psection,
const char name,
int  value 
)

Returns a new entry of type ENTRY_INT.

Definition at line 3185 of file registry_ini.c.

Referenced by entry_from_token(), and secfile_insert_int_full().

◆ section_entry_lookup()

struct entry * section_entry_lookup ( const struct section psection,
const char path,
  ... 
)

◆ section_entry_str_new()

struct entry * section_entry_str_new ( struct section psection,
const char name,
const char value,
bool  escaped 
)

◆ section_set_name()

bool section_set_name ( struct section psection,
const char name 
)

Change the section name. Returns TRUE on success.

Definition at line 3019 of file registry_ini.c.