libsqsh v1.5.2
Loading...
Searching...
No Matches
sqsh_table.h
Go to the documentation of this file.
1/******************************************************************************
2 * *
3 * Copyright (c) 2023-2024, Enno Boland <g@s01.de> *
4 * *
5 * Redistribution and use in source and binary forms, with or without *
6 * modification, are permitted provided that the following conditions are *
7 * met: *
8 * *
9 * * Redistributions of source code must retain the above copyright notice, *
10 * this list of conditions and the following disclaimer. *
11 * * Redistributions in binary form must reproduce the above copyright *
12 * notice, this list of conditions and the following disclaimer in the *
13 * documentation and/or other materials provided with the distribution. *
14 * *
15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS *
16 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, *
17 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR *
18 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR *
19 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
23 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
24 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
26 * *
27 ******************************************************************************/
28
34#ifndef SQSH_TABLE_H
35#define SQSH_TABLE_H
36
37#include "sqsh_common.h"
38
39#ifdef __cplusplus
40extern "C" {
41#endif
42
43/***************************************
44 * table/table.c
45 */
46
47struct SqshTable;
48
59int
60sqsh_table_get(const struct SqshTable *table, sqsh_index_t index, void *target);
61
62/***************************************
63 * table/id_table.c
64 */
65
66struct SqshIdTable;
67
79 const struct SqshIdTable *table, sqsh_index_t index, uint32_t *id);
80
81/***************************************
82 * table/export_table.c
83 */
84
85struct SqshExportTable;
86
98 const struct SqshExportTable *table, uint32_t inode,
99 uint64_t *inode_ref);
100
112__attribute__((deprecated(
113 "Since 1.5.0. Use sqsh_export_table_resolve_inode2 instead."))) int
114sqsh_export_table_resolve_inode(
115 const struct SqshExportTable *table, uint64_t inode,
116 uint64_t *inode_ref);
117
118#ifdef __cplusplus
119}
120#endif
121#endif /* SQSH_TABLE_H */
size_t sqsh_index_t
typedef used for indexing
Definition sqsh_common.h:69
The export table.
The id table of an archive.
A generic table as used in an archive.
int sqsh_table_get(const struct SqshTable *table, sqsh_index_t index, void *target)
Retrieves an element from the table.
int sqsh_export_table_resolve_inode2(const struct SqshExportTable *table, uint32_t inode, uint64_t *inode_ref)
Retrieves an element from the table.
int sqsh_id_table_get(const struct SqshIdTable *table, sqsh_index_t index, uint32_t *id)
Retrieves an element from the table.