38 #define KB_PATH_DEFAULT "/tmp/redis.sock"
96 int (*
kb_new) (kb_t *,
const char *);
101 char *(*kb_get_str) (
kb_t,
const char *);
134 static inline int kb_new (kb_t *
kb,
const char *kb_path)
137 assert (KBDefaultOperations);
138 assert (KBDefaultOperations->
kb_new);
142 return KBDefaultOperations->
kb_new (kb, kb_path);
185 kb_item_get_str (kb_t kb,
const char *name)
202 kb_item_get_int (kb_t kb,
const char *name)
219 kb_item_get_all (kb_t kb,
const char *name)
236 kb_item_get_pattern (kb_t kb,
const char *pattern)
253 kb_item_add_str (kb_t kb,
const char *name,
const char *str)
270 kb_item_set_str (kb_t kb,
const char *name,
const char *str)
287 kb_item_add_int (kb_t kb,
const char *name,
int val)
304 kb_item_set_int (kb_t kb,
const char *name,
int val)
320 kb_del_items (kb_t kb,
const char *name)
335 static inline int kb_lnk_reset (kb_t kb)
353 static inline int kb_flush (kb_t kb)
const struct kb_operations * KBDefaultOperations
Default KB operations. No selection mechanism is provided yet since there's only one implementation (...
Definition: kb_redis.c:1032
struct kb_item *(* kb_get_all)(kb_t, const char *)
Definition: kb.h:103
void kb_item_free(struct kb_item *)
Release a KB item (or a list).
Definition: kb_redis.c:444
const char * val
Definition: nasl_init.c:512
Knowledge base item (defined by name, type (int/char*) and value). Implemented as a singly linked lis...
Definition: kb.h:56
struct kb_item * next
Definition: kb.h:66
enum kb_item_type type
Definition: kb.h:58
KB interface. Functions provided by an implementation. All functions have to be provided, there is no default/fallback. These functions should be called via the corresponding static inline wrappers below. See the wrappers for the documentation.
Definition: kb.h:93
int(* kb_delete)(kb_t)
Definition: kb.h:97
struct kb_item *(* kb_get_single)(kb_t, const char *, enum kb_item_type)
Definition: kb.h:100
int(* kb_get_int)(kb_t, const char *)
Definition: kb.h:102
int(* kb_set_str)(kb_t, const char *, const char *)
Definition: kb.h:106
int(* kb_lnk_reset)(kb_t)
Definition: kb.h:112
int(* kb_del_items)(kb_t, const char *)
Definition: kb.h:109
Top-level KB. This is to be inherited by KB implementations.
Definition: kb.h:77
const struct kb_operations * kb_ops
Definition: kb.h:79
struct kb_item *(* kb_get_pattern)(kb_t, const char *)
Definition: kb.h:104
int(* kb_add_int)(kb_t, const char *, int)
Definition: kb.h:107
const char * name
Definition: nasl_init.c:511
int v_int
Definition: kb.h:63
kb_item_type
Possible type of a kb_item.
Definition: kb.h:44
size_t namelen
Definition: kb.h:68
int(* kb_flush)(kb_t)
Definition: kb.h:113
int(* kb_set_int)(kb_t, const char *, int)
Definition: kb.h:108
struct kb * kb_t
type abstraction to hide KB internals.
Definition: kb.h:85
char name[0]
Definition: kb.h:69
char *(* kb_get_str)(kb_t, const char *)
Definition: kb.h:101
int(* kb_add_str)(kb_t, const char *, const char *)
Definition: kb.h:105
char * v_str
Definition: kb.h:62
int(* kb_new)(kb_t *, const char *)
Definition: kb.h:96