CAPS Universe documentation  1.0.4
All you need to know to be successful
libcapsinif.h
Go to the documentation of this file.
1#pragma once
2
3/*
4 * SPDX-License-Identifier: LGPL-2.1-or-later
5 *
6 * (c) 2017 Juergen Borleis <projects@caps-printing.org>
7 *
8 * This library is free software; you can redistribute it and/or modify it under
9 * the terms of the GNU Lesser General Public License as published by the Free
10 * Software Foundation; either version 2.1 of the License, or (at your option)
11 * any later version.
12 *
13 * This library is distributed in the hope that it will be useful, but WITHOUT
14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
16 * details.
17 */
18
19#include <libcapsbase.h>
20#include <libcapstable.h>
21#include <features.h>
22
23__BEGIN_DECLS
24
44#define LIBCAPSINIF_MAJOR 1
46#define LIBCAPSINIF_MINOR 1
48#define LIBCAPSINIF_MICRO 0
57void caps_libinif_version_get(unsigned *major, unsigned *minor, unsigned *micro) __nonnull();
258};
260struct caps_inif_cursor;
262struct caps_inif_lock;
268void caps_libinif_init(void);
296int caps_inif_file_read(struct caps_inif_table *dst, const char *level, const char *file_name) __nonnull((1,3));
313struct caps_inif_lock *caps_inif_locked_file_read(struct caps_inif_table *dst, const char *level, const char *file_name) __nonnull((1,3));
326int caps_inif_locked_file_write(const struct caps_inif_table *dst, struct caps_inif_lock *li) __nonnull();
358int caps_inif_dir_read(struct caps_inif_table *dst, const char *level, const char *dir) __nonnull((1,3));
382int caps_inif_dir_merge(struct caps_inif_table *dst, const char *level, const char *dir) __nonnull((1,3));
397int caps_inif_file_merge(struct caps_inif_table *dst, const char *level, const char *ini_file) __nonnull();
421const char *caps_inif_option_get(const struct caps_inif_table *dst, const char *level, const char *section, const char *key) __nonnull((1,4)) __pure;
438int caps_inif_option_add(struct caps_inif_table *dst, const char *level, const char *section, const char *key, const char *val) __nonnull((1,4));
463const char *caps_inif_next_key_get(const struct caps_inif_table *dst, struct caps_inif_cursor *cursor) __nonnull();
473const char *caps_inif_next_section_get(const struct caps_inif_table *dst, struct caps_inif_cursor *cursor) __nonnull();
483const char *caps_inif_next_level_get(const struct caps_inif_table *dst, struct caps_inif_cursor *cursor) __nonnull();
508__END_DECLS
#define __returns_nonnull
Definition: libcapsbase.h:141
#define __nonnull(params)
Definition: libcapsbase.h:84
#define __pure
Definition: libcapsbase.h:124
void caps_libinif_version_get(unsigned *major, unsigned *minor, unsigned *micro)
Definition: libcapsinif.c:106
int caps_inif_file_merge(struct caps_inif_table *dst, const char *level, const char *ini_file)
Definition: libcapsinif.c:578
const char * caps_inif_next_section_get(const struct caps_inif_table *dst, struct caps_inif_cursor *cursor)
Definition: libcapsinif.c:779
struct caps_inif_cursor * caps_inif_cursor_create(void)
Definition: libcapsinif.c:716
const char * caps_inif_option_get(const struct caps_inif_table *dst, const char *level, const char *section, const char *key)
Definition: libcapsinif.c:656
size_t caps_inif_option_count_get(const struct caps_inif_table *dst)
Definition: libcapsinif.c:1034
void caps_inif_cursor_destroy(struct caps_inif_cursor *cursor)
Definition: libcapsinif.c:727
void caps_libinif_init(void)
Definition: libcapsinif.c:88
int caps_inif_file_read(struct caps_inif_table *dst, const char *level, const char *file_name)
Definition: libcapsinif.c:532
void caps_inif_locked_file_close(struct caps_inif_lock *li)
Definition: libcapsinif.c:1027
void caps_inif_option_list_print(const struct caps_inif_table *dst)
Definition: libcapsinif.c:693
int caps_inif_locked_file_write(const struct caps_inif_table *dst, struct caps_inif_lock *li)
Definition: libcapsinif.c:1001
const char * caps_inif_next_key_get(const struct caps_inif_table *dst, struct caps_inif_cursor *cursor)
Definition: libcapsinif.c:732
struct caps_inif_lock * caps_inif_locked_file_read(struct caps_inif_table *dst, const char *level, const char *file_name)
Definition: libcapsinif.c:938
void caps_inif_table_init(struct caps_inif_table *dst)
Definition: libcapsinif.c:139
int caps_inif_dir_merge(struct caps_inif_table *dst, const char *level, const char *dir)
Definition: libcapsinif.c:651
int caps_inif_option_add(struct caps_inif_table *dst, const char *level, const char *section, const char *key, const char *val)
Definition: libcapsinif.c:225
int caps_inif_dir_read(struct caps_inif_table *dst, const char *level, const char *dir)
Definition: libcapsinif.c:646
void caps_inif_table_cleanup(struct caps_inif_table *dst)
Definition: libcapsinif.c:144
const char * caps_inif_next_level_get(const struct caps_inif_table *dst, struct caps_inif_cursor *cursor)
Definition: libcapsinif.c:832
Basic API for everything else of the CAPS universe.
Manage variable arrays.
Cursor to manage databases in form of INI files.
Definition: libcapsinif.c:709
INI file lock management.
Definition: libcapsinif.c:919
char * file_name
Definition: libcapsinif.c:921
Manage a table of INI entries.
Definition: libcapsinif.h:256
struct caps_var_table vt
Definition: libcapsinif.h:257
Variable table.
Definition: libcapstable.h:105