summaryrefslogtreecommitdiff
path: root/include/str_table.h
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-09-05 19:08:10 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-09-05 19:08:10 +0200
commitf8a92529ec04b560b5b9e647b976892412f78134 (patch)
tree5308d7f500df46ef64423708ed40a37675f4020c /include/str_table.h
parent320ae4f8e752f6652c7b5c8201d7267cd4de17c1 (diff)
Fix API visibility for libsquashfs.so
This commit adds a "predef.h" header to libsquashfs that exposes two macros, SQFS_API and SQFS_INTERNAL that are used to explicilty set the visibiliy of stuff that ends up in libsquashfs to default or hidden. For compatibillity with Windows which may at some point eventually be considered, the SQFS_API define is set to dllexport IF the cpp symbol SQFS_BUILDING_DLL is defined and set to import otherwise. Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'include/str_table.h')
-rw-r--r--include/str_table.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/include/str_table.h b/include/str_table.h
index 634854a..1f836cc 100644
--- a/include/str_table.h
+++ b/include/str_table.h
@@ -7,6 +7,8 @@
#ifndef STR_TABLE_H
#define STR_TABLE_H
+#include "sqfs/predef.h"
+
typedef struct str_bucket_t {
struct str_bucket_t *next;
char *str;
@@ -28,22 +30,24 @@ typedef struct {
/* `size` is the number of hash table buckets to use internally.
Returns 0 on success. Internally writes errors to stderr. */
-int str_table_init(str_table_t *table, size_t size);
+SQFS_INTERNAL int str_table_init(str_table_t *table, size_t size);
-void str_table_cleanup(str_table_t *table);
+SQFS_INTERNAL void str_table_cleanup(str_table_t *table);
/* Resolve a string to an incremental, unique ID
Returns 0 on success. Internally writes errors to stderr. */
+SQFS_INTERNAL
int str_table_get_index(str_table_t *table, const char *str, size_t *idx);
/* Resolve a unique ID to the string it represents.
Returns NULL if the ID is unknown, i.e. out of bounds. */
+SQFS_INTERNAL
const char *str_table_get_string(str_table_t *table, size_t index);
-void str_table_reset_ref_count(str_table_t *table);
+SQFS_INTERNAL void str_table_reset_ref_count(str_table_t *table);
-void str_table_add_ref(str_table_t *table, size_t index);
+SQFS_INTERNAL void str_table_add_ref(str_table_t *table, size_t index);
-size_t str_table_get_ref_count(str_table_t *table, size_t index);
+SQFS_INTERNAL size_t str_table_get_ref_count(str_table_t *table, size_t index);
#endif /* STR_TABLE_H */