Go to the documentation of this file.
66 if (item_size % 4 != 0 || item_size == 0) {
70 if (hash_bits < 4 || hash_bits > 31) {
71 SCLogError(
"invalid hash_bits setting, valid range is 4-31");
94 if (table->
data != NULL) {
115 if (data == NULL || size != table->
item_size) {
130 for (uint32_t u = 0; u < o->
cnt; u++) {
154 SCLogError(
"can't add value to locked table");
194 hashword((uint32_t *)((uint8_t *)item +
sizeof(*item)), table->
item_size / 4, 0) &
203 if (table->
items == 0) {
211 if (table->
data == NULL) {
231 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)