/* Parse a file. Return a table on success, or 0 otherwise. *Callermusttoml_free(the-return-value)afteruse.
*/
TOML_EXTERN toml_table_t *toml_parse_file(FILE *fp, char *errbuf, int errbufsz);
/* Parse a string containing the full config. *Returnatableonsuccess,or0otherwise. *Callermusttoml_free(the-return-value)afteruse.
*/
TOML_EXTERN toml_table_t *toml_parse(char *conf, /* NUL terminated, please. */ char *errbuf, int errbufsz);
/* Free the table returned by toml_parse() or toml_parse_file(). Once *thisfunctioniscalled,anyhandlesaccessedthroughthistab *directlyorindirectlyarenolongervalid.
*/
TOML_EXTERN void toml_free(toml_table_t *tab);
/* Timestamp types. The year, month, day, hour, minute, second, z *fieldsmaybeNULLiftheyarenotrelevant.e.g.InaDATE *type,thehour,minute,secondandzfieldswillbeNULLs.
*/ struct toml_timestamp_t { struct { /* internal. do not use. */ int year, month, day; int hour, minute, second, millisec; char z[10];
} __buffer; int *year, *month, *day; int *hour, *minute, *second, *millisec; char *z;
};
/*----------------------------------------------------------------- *Enhancedaccessmethods
*/ struct toml_datum_t { int ok; union {
toml_timestamp_t *ts; /* ts must be freed after use */ char *s; /* string value. s must be freed after use */ int b; /* bool value */
int64_t i; /* int value */ double d; /* double value */
} u;
};
/* on arrays: */ /* ... retrieve size of array. */
TOML_EXTERN int toml_array_nelem(const toml_array_t *arr); /* ... retrieve values using index. */
TOML_EXTERN toml_datum_t toml_string_at(const toml_array_t *arr, int idx);
TOML_EXTERN toml_datum_t toml_bool_at(const toml_array_t *arr, int idx);
TOML_EXTERN toml_datum_t toml_int_at(const toml_array_t *arr, int idx);
TOML_EXTERN toml_datum_t toml_double_at(const toml_array_t *arr, int idx);
TOML_EXTERN toml_datum_t toml_timestamp_at(const toml_array_t *arr, int idx); /* ... retrieve array or table using index. */
TOML_EXTERN toml_array_t *toml_array_at(const toml_array_t *arr, int idx);
TOML_EXTERN toml_table_t *toml_table_at(const toml_array_t *arr, int idx);
/* on tables: */ /* ... retrieve the key in table at keyidx. Return 0 if out of range. */
TOML_EXTERN constchar *toml_key_in(const toml_table_t *tab, int keyidx); /* ... returns 1 if key exists in tab, 0 otherwise */
TOML_EXTERN int toml_key_exists(const toml_table_t *tab, constchar *key); /* ... retrieve values using key. */
TOML_EXTERN toml_datum_t toml_string_in(const toml_table_t *arr, constchar *key);
TOML_EXTERN toml_datum_t toml_bool_in(const toml_table_t *arr, constchar *key);
TOML_EXTERN toml_datum_t toml_int_in(const toml_table_t *arr, constchar *key);
TOML_EXTERN toml_datum_t toml_double_in(const toml_table_t *arr, constchar *key);
TOML_EXTERN toml_datum_t toml_timestamp_in(const toml_table_t *arr, constchar *key); /* .. retrieve array or table using key. */
TOML_EXTERN toml_array_t *toml_array_in(const toml_table_t *tab, constchar *key);
TOML_EXTERN toml_table_t *toml_table_in(const toml_table_t *tab, constchar *key);
/* For array kind 'v'alue, return the type of values i:int,d:double,b:bool,s:string,t:time,D:date,T:timestamp,'m'ixed 0ifunknown
*/
TOML_EXTERN char toml_array_type(const toml_array_t *arr);
/* Return the key of an array */
TOML_EXTERN constchar *toml_array_key(const toml_array_t *arr);
/* Return the number of key-values in a table */
TOML_EXTERN int toml_table_nkval(const toml_table_t *tab);
/* Return the number of arrays in a table */
TOML_EXTERN int toml_table_narr(const toml_table_t *tab);
/* Return the number of sub-tables in a table */
TOML_EXTERN int toml_table_ntab(const toml_table_t *tab);
/* Return the key of a table*/
TOML_EXTERN constchar *toml_table_key(const toml_table_t *tab);
/*-------------------------------------------------------------- *misc
*/
TOML_EXTERN int toml_utf8_to_ucs(constchar *orig, int len, int64_t *ret);
TOML_EXTERN int toml_ucs_to_utf8(int64_t code, char buf[6]);
TOML_EXTERN void toml_set_memutil(void *(*xxmalloc)(size_t), void (*xxfree)(void *));
/*-------------------------------------------------------------- *deprecated
*/ /* A raw value, must be processed by toml_rto* before using. */ typedefconstchar *toml_raw_t;
TOML_EXTERN toml_raw_t toml_raw_in(const toml_table_t *tab, constchar *key);
TOML_EXTERN toml_raw_t toml_raw_at(const toml_array_t *arr, int idx);
TOML_EXTERN int toml_rtos(toml_raw_t s, char **ret);
TOML_EXTERN int toml_rtob(toml_raw_t s, int *ret);
TOML_EXTERN int toml_rtoi(toml_raw_t s, int64_t *ret);
TOML_EXTERN int toml_rtod(toml_raw_t s, double *ret);
TOML_EXTERN int toml_rtod_ex(toml_raw_t s, double *ret, char *buf, int buflen);
TOML_EXTERN int toml_rtots(toml_raw_t s, toml_timestamp_t *ret);
#endif/* TOML_H */
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-07-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.