Reactos
1/*
2 * PROJECT: ReactOS Application compatibility module
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Shim database string table interface
5 * COPYRIGHT: Copyright 2016 Mark Jansen (mark.jansen@reactos.org)
6 */
7
8#ifndef SDBSTRINGTABLE_H
9#define SDBSTRINGTABLE_H
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15
16/**
17 * Destroy the hashtable and release all resources.
18 *
19 * @param [in] table Pointer to table pointer, will be cleared after use
20 *
21 */
22void SdbpTableDestroy(struct SdbStringHashTable* * table);
23
24/**
25 * Find an entry in the stringtable, or allocate it when an entry could not be found.
26 * - When the string specified does not yet exist, a new entry will be added to the table,
27 * and the pTagid specified will be associated with this string.
28 * - When the string specified does already exist,
29 * the TAGID associated with this string will be returned in pTagid.
30 *
31 *
32 * @param [in] table Pointer to table pointer, will be allocated when needed.
33 * @param [in] str The string to search for
34 * @param [in,out] pTagid
35 * the data written (in bytes)
36 *
37 * @return TRUE if the string was added to the table, FALSE if it already existed
38 */
39BOOL SdbpAddStringToTable(struct SdbStringHashTable* * table, const WCHAR* str, TAGID* pTagid);
40
41
42#ifdef __cplusplus
43} // extern "C"
44#endif
45
46#endif // SDBSTRINGTABLE_H