Rizin
unix-like reverse engineering framework and cli tools
ht_pu.c
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: 2016-2018 crowell
2 // SPDX-FileCopyrightText: 2016-2018 pancake <pancake@nopcode.org>
3 // SPDX-FileCopyrightText: 2016-2018 ret2libc <sirmy15@gmail.com>
4 // SPDX-License-Identifier: BSD-3-Clause
5 
6 #include "sdb.h"
7 #include "ht_pu.h"
8 #include "ht_inc.c"
9 
10 static void free_kv_key(HT_(Kv) * kv) {
11  free(kv->key);
12 }
13 
14 // creates a default HtPU that has strings as keys
15 RZ_API HtName_(Ht) * Ht_(new0)(void) {
16  HT_(Options)
17  opt = {
18  .cmp = (HT_(ListComparator))strcmp,
19  .hashfn = (HT_(HashFunction))sdb_hash,
20  .dupkey = (HT_(DupKey))strdup,
21  .dupvalue = NULL,
22  .calcsizeK = (HT_(CalcSizeK))strlen,
23  .calcsizeV = NULL,
25  .elem_size = sizeof(HT_(Kv)),
26  };
27  return Ht_(new_opt)(&opt);
28 }
#define RZ_API
#define NULL
Definition: cris-opc.c:27
RZ_API void Ht_() free(HtName_(Ht) *ht)
Definition: ht_inc.c:130
static KEY_TYPE dupkey(HtName_(Ht) *ht, const KEY_TYPE k)
Definition: ht_inc.c:30
static void freefn(HtName_(Ht) *ht, HT_(Kv) *kv)
Definition: ht_inc.c:46
static ut32 hashfn(HtName_(Ht) *ht, const KEY_TYPE k)
Definition: ht_inc.c:22
#define HT_(name)
Definition: ht_inc.h:45
#define Ht_(name)
Definition: ht_inc.h:44
RZ_API HtName_(Ht)
Definition: ht_pu.c:15
static void free_kv_key(HT_(Kv) *kv)
Definition: ht_pu.c:10
return strdup("=SP r13\n" "=LR r14\n" "=PC r15\n" "=A0 r0\n" "=A1 r1\n" "=A2 r2\n" "=A3 r3\n" "=ZF zf\n" "=SF nf\n" "=OF vf\n" "=CF cf\n" "=SN or0\n" "gpr lr .32 56 0\n" "gpr pc .32 60 0\n" "gpr cpsr .32 64 0 ____tfiae_________________qvczn\n" "gpr or0 .32 68 0\n" "gpr tf .1 64.5 0 thumb\n" "gpr ef .1 64.9 0 endian\n" "gpr jf .1 64.24 0 java\n" "gpr qf .1 64.27 0 sticky_overflow\n" "gpr vf .1 64.28 0 overflow\n" "gpr cf .1 64.29 0 carry\n" "gpr zf .1 64.30 0 zero\n" "gpr nf .1 64.31 0 negative\n" "gpr itc .4 64.10 0 if_then_count\n" "gpr gef .4 64.16 0 great_or_equal\n" "gpr r0 .32 0 0\n" "gpr r1 .32 4 0\n" "gpr r2 .32 8 0\n" "gpr r3 .32 12 0\n" "gpr r4 .32 16 0\n" "gpr r5 .32 20 0\n" "gpr r6 .32 24 0\n" "gpr r7 .32 28 0\n" "gpr r8 .32 32 0\n" "gpr r9 .32 36 0\n" "gpr r10 .32 40 0\n" "gpr r11 .32 44 0\n" "gpr r12 .32 48 0\n" "gpr r13 .32 52 0\n" "gpr r14 .32 56 0\n" "gpr r15 .32 60 0\n" "gpr r16 .32 64 0\n" "gpr r17 .32 68 0\n")
RZ_API ut32 sdb_hash(const char *key)
Definition: util.c:22