Go to the documentation of this file.
32 #include "../base/nvti.h"
40 #define KB_PATH_DEFAULT "/tmp/redis.sock"
127 char *(*kb_get_str) (
kb_t,
const char *);
163 static inline int kb_new (
kb_t *
kb,
const char *kb_path)
180 static inline kb_t kb_find (
const char *kb_path,
const char *key)
196 kb_nvt_add (
kb_t kb,
const nvti_t *nvt,
const char *filename)
313 kb_item_get_pattern (
kb_t kb,
const char *pattern)
331 kb_item_count (
kb_t kb,
const char *pattern)
348 kb_item_add_str (
kb_t kb,
const char *
name,
const char *str)
365 kb_item_set_str (
kb_t kb,
const char *
name,
const char *str)
430 static inline int kb_lnk_reset (
kb_t kb)
449 static inline int kb_flush (
kb_t kb,
const char *except)
@ NVT_EXCLUDED_KEYS_POS
Definition: kb.h:61
@ NVT_BIDS_POS
Definition: kb.h:67
struct kb_item *(* kb_get_single)(kb_t, const char *, enum kb_item_type)
Definition: kb.h:126
int(* kb_lnk_reset)(kb_t)
Definition: kb.h:141
@ NVT_NAME_POS
Definition: kb.h:73
KB interface. Functions provided by an implementation. All functions have to be provided,...
Definition: kb.h:118
char name[0]
Definition: kb.h:94
void kb_item_free(struct kb_item *)
Release a KB item (or a list).
Definition: kb_redis.c:501
int(* kb_add_str)(kb_t, const char *, const char *)
Definition: kb.h:133
kb_t(* kb_find)(const char *, const char *)
Definition: kb.h:123
@ NVT_VERSION_POS
Definition: kb.h:74
@ NVT_FILENAME_POS
Definition: kb.h:58
int(* kb_set_int)(kb_t, const char *, int)
Definition: kb.h:136
int(* kb_flush)(kb_t, const char *)
Definition: kb.h:142
@ NVT_TIMEOUT_POS
Definition: kb.h:70
const char * name
Definition: nasl_init.c:524
int(* kb_del_items)(kb_t, const char *)
Definition: kb.h:138
Knowledge base item (defined by name, type (int/char*) and value). Implemented as a singly linked lis...
Definition: kb.h:81
int(* kb_add_int)(kb_t, const char *, int)
Definition: kb.h:135
The structure of a information record that corresponds to a NVT.
Definition: nvti.h:64
@ NVT_REQUIRED_UDP_PORTS_POS
Definition: kb.h:62
const char * oid
Definition: nasl_builtin_find_service.c:55
char *(* kb_get_str)(kb_t, const char *)
Definition: kb.h:127
int v_int
Definition: kb.h:88
char * v_str
Definition: kb.h:87
@ KB_TYPE_CNT
Definition: kb.h:51
int(* kb_get_int)(kb_t, const char *)
Definition: kb.h:128
@ NVT_XREFS_POS
Definition: kb.h:68
int(* kb_add_nvt)(kb_t, const nvti_t *, const char *)
Definition: kb.h:137
@ NVT_COPYRIGHT_POS
Definition: kb.h:72
@ NVT_CATEGORY_POS
Definition: kb.h:69
@ NVT_DEPENDENCIES_POS
Definition: kb.h:64
const struct kb_operations * kb_ops
Definition: kb.h:104
@ KB_TYPE_STR
Definition: kb.h:49
struct kb_item * next
Definition: kb.h:91
int(* kb_delete)(kb_t)
Definition: kb.h:122
@ NVT_FAMILY_POS
Definition: kb.h:71
struct kb_item *(* kb_get_all)(kb_t, const char *)
Definition: kb.h:130
Top-level KB. This is to be inherited by KB implementations.
Definition: kb.h:102
const struct kb_operations * KBDefaultOperations
Default KB operations. No selection mechanism is provided yet since there's only one implementation (...
Definition: kb_redis.c:1228
@ NVT_CVES_POS
Definition: kb.h:66
@ NVT_MANDATORY_KEYS_POS
Definition: kb.h:60
kb_item_type
Possible type of a kb_item.
Definition: kb.h:46
int(* kb_new)(kb_t *, const char *)
Definition: kb.h:121
const char * val
Definition: nasl_init.c:525
size_t namelen
Definition: kb.h:93
@ NVT_REQUIRED_KEYS_POS
Definition: kb.h:59
struct kb_item *(* kb_get_pattern)(kb_t, const char *)
Definition: kb.h:131
char *(* kb_get_nvt)(kb_t, const char *, enum kb_nvt_pos)
Definition: kb.h:129
@ NVT_TAGS_POS
Definition: kb.h:65
@ KB_TYPE_UNSPEC
Definition: kb.h:47
@ KB_TYPE_INT
Definition: kb.h:48
struct kb * kb_t
type abstraction to hide KB internals.
Definition: kb.h:110
int(* kb_set_str)(kb_t, const char *, const char *)
Definition: kb.h:134
@ NVT_REQUIRED_PORTS_POS
Definition: kb.h:63
kb_nvt_pos
Possible positions of nvt values in cache list.
Definition: kb.h:57
enum kb_item_type type
Definition: kb.h:83
size_t(* kb_count)(kb_t, const char *)
Definition: kb.h:132