Greenbone Vulnerability Manager
9.0.1
|
26 #ifndef _GVMD_GMP_GET_H
27 #define _GVMD_GMP_GET_H
44 #define INIT_GET(type, capital) \
46 ret = init_get ("get_" G_STRINGIFY (type) "s", &get_##type##s_data->get, \
47 G_STRINGIFY (capital) "s", &first); \
53 SEND_TO_CLIENT_OR_FAIL (XML_ERROR_SYNTAX ( \
54 "get_" G_STRINGIFY (type) "s", "Permission denied")); \
57 internal_error_send_to_client (error); \
60 get_##type##s_data_reset (get_##type##s_data); \
61 set_client_state (CLIENT_AUTHENTIC); \
70 send_get_start (
const char *,
int (*) (
const char *,
void *),
void *);
78 #define SEND_GET_START(type) \
81 if (send_get_start (type, gmp_parser->client_writer, \
82 gmp_parser->client_writer_data)) \
84 error_send_to_client (error); \
92 int (*) (
const char *,
void *),
void *,
int,
int);
101 #define SEND_GET_COMMON(type, get, iterator) \
104 if (send_get_common ( \
105 G_STRINGIFY (type), get, iterator, gmp_parser->client_writer, \
106 gmp_parser->client_writer_data, \
108 ? trash_##type##_writable (get_iterator_resource (iterator)) \
109 : type##_writable (get_iterator_resource (iterator)), \
111 ? trash_##type##_in_use (get_iterator_resource (iterator)) \
112 : type##_in_use (get_iterator_resource (iterator)))) \
114 error_send_to_client (error); \
129 #define SEND_GET_COMMON_NO_TRASH(type, get, iterator) \
132 if (send_get_common (G_STRINGIFY (type), get, iterator, \
133 gmp_parser->client_writer, \
134 gmp_parser->client_writer_data, \
135 type##_writable (get_iterator_resource (iterator)), \
136 type##_in_use (get_iterator_resource (iterator)))) \
138 error_send_to_client (error); \
146 const char *,
const char *);
150 int (*) (
const char *,
void *),
void *);
154 int (*) (
const char *,
void *),
void *);
162 #define SEND_GET_END(type, get, count, filtered) \
165 if (send_get_end (type, get, count, filtered, \
166 resource_count (type, get), gmp_parser->client_writer, \
167 gmp_parser->client_writer_data)) \
169 error_send_to_client (error); \
int get_next(iterator_t *resources, get_data_t *get, int *first, int *count, int(*init)(iterator_t *, const get_data_t *))
Iterate a GET iterator.
Definition: gmp_get.c:236
int send_get_start(const char *type, int(*write_to_client)(const char *, void *), void *write_to_client_data)
Send start of GET response.
Definition: gmp_get.c:280
int send_get_end_no_counts(const char *type, get_data_t *get, int(*write_to_client)(const char *, void *), void *write_to_client_data)
Send end of GET response, skipping result counts.
Definition: gmp_get.c:732
int init_get(gchar *command, get_data_t *get, const gchar *setting_name, int *first)
Init for a GET handler.
Definition: gmp_get.c:110
A generic SQL iterator structure.
Definition: iterator.h:51
Command data for a get command.
Definition: manage.h:355
void get_data_parse_attributes(get_data_t *data, const gchar *type, const gchar **attribute_names, const gchar **attribute_values)
Parse attributes for a GET command.
Definition: gmp_get.c:57
int send_get_common(const char *type, get_data_t *get, iterator_t *iterator, int(*write_to_client)(const char *, void *), void *write_to_client_data, int writable, int in_use)
Send common part of GET response for a single resource.
Definition: gmp_get.c:320
int buffer_get_filter_xml(GString *msg, const char *type, const get_data_t *get, const char *filter_term, const char *extra_xml)
Write data of a GET command filter to a string buffer as XML.
Definition: gmp_get.c:486
int send_get_end(const char *type, get_data_t *get, int count, int filtered, int full, int(*write_to_client)(const char *, void *), void *write_to_client_data)
Send end of GET response.
Definition: gmp_get.c:712