Go to the documentation of this file.
65 if (item_size % 4 != 0 || item_size == 0) {
69 if (hash_bits < 4 || hash_bits > 31) {
70 SCLogError(
"invalid hash_bits setting, valid range is 4-31");
93 if (table->
data != NULL) {
114 if (data == NULL || size != table->
item_size) {
129 for (uint32_t u = 0; u < o->
cnt; u++) {
153 SCLogError(
"can't add value to locked table");
193 hashword((uint32_t *)((uint8_t *)item +
sizeof(*item)), table->
item_size / 4, 0) &
202 if (table->
items == 0) {
210 if (table->
data == NULL) {
230 hashword((uint32_t *)((uint8_t *)item +
sizeof(*item)), table->
item_size / 4, 0) &
uint32_t hashword(const uint32_t *k, size_t length, uint32_t initval)
struct ROHashTableOffsets_ ROHashTableOffsets
struct HtpBodyChunk_ * next
#define TAILQ_FOREACH(var, head, field)
#define TAILQ_INSERT_TAIL(head, elm, field)
#define TAILQ_ENTRY(type)
int ROHashInitFinalize(ROHashTable *table)
create final hash data structure
#define TAILQ_REMOVE(head, elm, field)
#define TAILQ_FIRST(head)
void * ROHashLookup(ROHashTable *table, void *data, uint16_t size)
uint32_t ROHashMemorySize(ROHashTable *table)
#define SCReturnPtr(x, type)
ROHashTable * ROHashInit(uint8_t hash_bits, uint16_t item_size)
initialize a new rohash
int ROHashInitQueueValue(ROHashTable *table, void *value, uint16_t size)
Add a new value to the hash.
#define SCLogError(...)
Macro used to log ERROR messages.
void ROHashFree(ROHashTable *table)
struct ROHashTable_ ROHashTable
struct ROHashTableItem_ ROHashTableItem
#define SCMemcmp(a, b, c)