Freeciv-3.4
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 void * secfile_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_file * secfile_load_section (const char *filename, const char *section, bool allow_duplicates)
 
struct section_file * secfile_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, bool do_formatting)
 
void secfile_check_unused (const struct section_file *secfile)
 
const char * secfile_name (const struct section_file *secfile)
 
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__
 
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 entry * secfile_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 entry * secfile_insert_float_full (struct section_file *secfile, float value, const char *comment, bool allow_replace, const char *path,...) fc__attribute((__format__(__printf__
 
struct section * secfile_insert_include (struct section_file *secfile, const char *filename)
 
struct section * secfile_insert_long_comment (struct section_file *secfile, const char *comment)
 
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__
 
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 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__
 
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__
 
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 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__
 
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 entry * secfile_insert_filereference (struct section_file *secfile, const char *filename, const char *path,...) fc__attribute((__format__(__printf__
 
struct entry struct entry * secfile_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 entry * secfile_entry_by_path (const struct section_file *secfile, const char *path)
 
struct entry * secfile_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 bool * secfile_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 int * secfile_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 char * secfile_lookup_str (const struct section_file *secfile, const char *path,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
const char const char * secfile_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__
 
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__
 
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 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,...) fc__warn_unused_result fc__attribute((__format__(__printf__
 
bool int int struct section * secfile_section_by_name (const struct section_file *secfile, const char *section_name)
 
struct section * secfile_section_lookup (const struct section_file *secfile, const char *path,...) fc__attribute((__format__(__printf__
 
struct section const struct section_list * secfile_sections (const struct section_file *secfile)
 
struct section_list * secfile_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 section * secfile_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_list * section_entries (const struct section *psection)
 
struct entry * section_entry_by_name (const struct section *psection, const char *entry_name)
 
struct entry * section_entry_lookup (const struct section *psection, const char *path,...) fc__attribute((__format__(__printf__
 
struct entry struct entry * section_entry_int_new (struct section *psection, const char *entry_name, int value)
 
struct entry * section_entry_bool_new (struct section *psection, const char *entry_name, bool value)
 
struct entry * section_entry_float_new (struct section *psection, const char *entry_name, float value)
 
struct entry * section_entry_str_new (struct section *psection, const char *entry_name, const char *value, bool escaped)
 
void entry_destroy (struct entry *pentry)
 
struct section * entry_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 char * entry_name (const struct entry *pentry)
 
bool entry_set_name (struct entry *pentry, const char *entry_name)
 
const char * entry_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 418 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 420 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:77
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 80 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 83 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 97 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 100 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 270 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 273 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 349 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 353 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 251 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 324 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 328 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 374 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 378 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 302 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 154 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 117 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 120 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 134 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 137 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 174 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 180 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 177 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 183 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 205 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 211 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 208 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 215 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__))
static enum SPECENUM_NAME SPECENUM_FOO() _by_name(const char *name, int(*strcmp_func)(const char *, const char *))
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 *))

Definition at line 488 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 520 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 553 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 86 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 89 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 104 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 107 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 277 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 280 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 357 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 361 of file registry_ini.h.

◆ secfile_replace_enum_vec

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

Definition at line 332 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 336 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 383 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 387 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 157 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 123 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 126 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 141 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 144 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 187 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 193 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 190 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 196 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 219 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 225 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 222 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 229 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 72 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 635 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 3713 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 3742 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 3672 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 3755 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 3771 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 3785 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 3801 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 3606 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 3624 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 3852 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 3830 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 3864 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 3878 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 1160 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 616 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 1465 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 1489 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 602 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 2405 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,
bool  do_formatting 
)

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 856 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 3184 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 3159 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 3119 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 3255 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 3228 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 3332 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 3454 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 3470 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 3438 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 3272 of file registry_ini.c.