OpenVAS Scanner 23.23.1
ipc_openvas.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Greenbone AG
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later
4 */
5
6#ifndef MISC_IPC_OPENVAS_H
7#define MISC_IPC_OPENVAS_H
8
9#include "ipc.h"
10
11#include <glib.h>
12
13// ipc_data_type defines
22
23typedef struct ipc_data ipc_data_t;
24
25// prototypes for getting internal ipc_data_t information
28
29gchar *
31
32gchar *
34
35gchar *
37
38gboolean
40
41gchar *
43
44// prototypes for handling of ipc_data_t and json
46ipc_data_type_from_hostname (const char *source, size_t source_len,
47 const char *hostname, size_t hostname_len);
48
50ipc_data_type_from_user_agent (const char *user_agent, size_t user_agent_len);
51
53ipc_data_type_from_lsc (gboolean data_ready);
54
55void
57
58const char *
60
62ipc_data_from_json (const char *json, size_t len);
63
64#endif
ipc_data_t * ipc_data_from_json(const char *json, size_t len)
transforms json string to a ipc_data struct
Definition ipc_openvas.c:400
gchar * ipc_get_hostname_from_data(ipc_data_t *data)
Get the hostname from IPC data.
Definition ipc_openvas.c:82
enum ipc_data_type ipc_get_data_type_from_data(ipc_data_t *data)
Get the data type in data.
Definition ipc_openvas.c:67
void ipc_data_destroy(ipc_data_t **data)
destroys ipc_data.
Definition ipc_openvas.c:294
ipc_data_t * ipc_data_type_from_lsc(gboolean data_ready)
initializes ipc_data for the table driven LSC.
Definition ipc_openvas.c:250
const char * ipc_data_to_json(ipc_data_t *data)
transforms ipc_data to a json string
Definition ipc_openvas.c:325
gchar * ipc_get_user_agent_from_data(ipc_data_t *data)
Get the User-Agent from IPC data.
Definition ipc_openvas.c:114
gboolean ipc_get_lsc_data_ready_flag(ipc_data_t *data)
Get the package list from LSC IPC data.
Definition ipc_openvas.c:130
ipc_data_t * ipc_data_type_from_user_agent(const char *user_agent, size_t user_agent_len)
initializes ipc_data for the User-Agent.
Definition ipc_openvas.c:198
struct ipc_data ipc_data_t
Definition ipc_openvas.h:23
gchar * ipc_get_hostname_source_from_data(ipc_data_t *data)
Get the vhost hostname source from IPC data.
Definition ipc_openvas.c:98
gchar * ipc_get_lsc_os_release_from_data(ipc_data_t *data)
ipc_data_t * ipc_data_type_from_hostname(const char *source, size_t source_len, const char *hostname, size_t hostname_len)
initializes ipc_data for a hostname data.
Definition ipc_openvas.c:149
ipc_data_type
Definition ipc_openvas.h:15
@ IPC_DT_NO_DATA
Definition ipc_openvas.h:17
@ IPC_DT_HOSTNAME
Definition ipc_openvas.h:18
@ IPC_DT_USER_AGENT
Definition ipc_openvas.h:19
@ IPC_DT_ERROR
Definition ipc_openvas.h:16
@ IPC_DT_LSC
Definition ipc_openvas.h:20
uint8_t len
Definition nasl_packet_forgery.c:1
const char * hostname
Definition pluginlaunch.c:68
Definition ipc_openvas.c:47
static gchar * user_agent
user-agent, or NULL.
Definition user_agent.c:29