CAPS Universe documentation  1.0.4
All you need to know to be successful
libcapstable.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#include <stddef.h>
19#include <features.h>
20#include <libcapsbase.h>
21
22__BEGIN_DECLS
23
43#define LIBCAPSTABLE_MAJOR 1
45#define LIBCAPSTABLE_MINOR 0
47#define LIBCAPSTABLE_MICRO 2
56void caps_libtable_version_get(unsigned *major, unsigned *minor, unsigned *micro) __nonnull();
100 size_t element_sz;
101 size_t increment;
102};
103
106 const struct caps_table_desc *td;
107 size_t used;
108 size_t avail;
109 void *array;
110};
118void caps_libtable_init(void);
124void caps_table_init(struct caps_var_table *tbl, const struct caps_table_desc *td) __nonnull();
157void *caps_table_base_get(const struct caps_var_table *tbl) __nonnull();
164size_t caps_table_element_count_get(const struct caps_var_table *tbl) __nonnull();
177__END_DECLS
#define __nonnull(params)
Definition: libcapsbase.h:84
void caps_table_cleanup(struct caps_var_table *tbl)
Definition: libcapstable.c:85
size_t caps_table_element_count_increment(struct caps_var_table *tbl)
Definition: libcapstable.c:119
size_t caps_table_element_count_get(const struct caps_var_table *tbl)
Definition: libcapstable.c:111
void * caps_table_base_get(const struct caps_var_table *tbl)
Definition: libcapstable.c:103
void caps_table_element_ensure_free(struct caps_var_table *tbl)
Definition: libcapstable.c:94
void caps_libtable_init(void)
Definition: libcapstable.c:32
void caps_table_init(struct caps_var_table *tbl, const struct caps_table_desc *td)
Definition: libcapstable.c:75
void caps_libtable_version_get(unsigned *major, unsigned *minor, unsigned *micro)
Definition: libcapstable.c:37
static char * td
Definition: libcapsbase.c:128
Basic API for everything else of the CAPS universe.
Definition: libcapstable.h:99
size_t element_sz
Definition: libcapstable.h:100
size_t increment
Definition: libcapstable.h:101
Variable table.
Definition: libcapstable.h:105
size_t avail
Definition: libcapstable.h:108
const struct caps_table_desc * td
Definition: libcapstable.h:106
void * array
Definition: libcapstable.h:109
size_t used
Definition: libcapstable.h:107