OpenVAS Libraries
8.0.3
|
#include <glib.h>
#include <gnutls/gnutls.h>
#include <stdio.h>
Go to the source code of this file.
Data Structures | |
struct | entity_s |
XML element. More... | |
Typedefs | |
typedef GSList * | entities_t |
typedef struct entity_s * | entity_t |
Functions | |
entities_t | next_entities (entities_t) |
Return all the entities from an entities_t after the first. More... | |
entity_t | first_entity (entities_t) |
Return the first entity from an entities_t. More... | |
entity_t | add_entity (entities_t *, const char *, const char *) |
Add an XML entity to a tree of entities. More... | |
int | compare_entities (entity_t, entity_t) |
Compare two XML entity. More... | |
entity_t | entity_child (entity_t, const char *) |
Get a child of an entity. More... | |
const char * | entity_attribute (entity_t, const char *) |
Get an attribute of an entity. More... | |
char * | entity_name (entity_t entity) |
Get the name an entity. More... | |
char * | entity_text (entity_t entity) |
Get the text an entity. More... | |
void | free_entity (entity_t) |
Free an entity, recursively. More... | |
void | print_entity (FILE *, entity_t) |
Print an XML entity. More... | |
void | print_entity_format (entity_t, gpointer indentation) |
Print an XML entity to stdout, recusively printing its children. More... | |
int | try_read_entity_and_string (gnutls_session_t *, int, entity_t *, GString **) |
Try read an XML entity tree from the manager. More... | |
int | read_entity_and_string (gnutls_session_t *, entity_t *, GString **) |
Try read an XML entity tree from the manager. More... | |
int | read_entity_and_text (gnutls_session_t *, entity_t *, char **) |
Read an XML entity tree from the manager. More... | |
int | try_read_entity (gnutls_session_t *, int, entity_t *) |
Try read an XML entity tree from the manager. More... | |
int | read_entity (gnutls_session_t *, entity_t *) |
Read an XML entity tree from the manager. More... | |
int | read_string (gnutls_session_t *, GString **) |
Read entity and text. Free the entity immediately. More... | |
int | parse_entity (const char *, entity_t *) |
Read an XML entity tree from a string. More... | |
void | print_entity_to_string (entity_t entity, GString *string) |
Print an XML entity tree to a GString, appending it if string is not. More... | |
int | xml_count_entities (entities_t) |
Count the number of entities. More... | |
void | xml_string_append (GString *, const char *,...) |
Append formatted escaped XML to a string. More... | |
typedef GSList* entities_t |
entity_t add_entity | ( | entities_t * | entities, |
const char * | name, | ||
const char * | text | ||
) |
Add an XML entity to a tree of entities.
[in] | entities | The tree of entities |
[in] | name | Name of the entity. Copied, copy is freed by free_entity. |
[in] | text | Text of the entity. Copied, copy is freed by free_entity. |
Compare two XML entity.
[in] | entity1 | First entity. |
[in] | entity2 | First entity. |
const char* entity_attribute | ( | entity_t | entity, |
const char * | name | ||
) |
Get an attribute of an entity.
[in] | entity | Entity. |
[in] | name | Name of the attribute. |
Get a child of an entity.
[in] | entity | Entity. |
[in] | name | Name of the child. |
char* entity_name | ( | entity_t | entity | ) |
Get the name an entity.
[in] | entity | Entity. |
char* entity_text | ( | entity_t | entity | ) |
Get the text an entity.
[in] | entity | Entity. |
entity_t first_entity | ( | entities_t | entities | ) |
Return the first entity from an entities_t.
[in] | entities | The list of entities. |
void free_entity | ( | entity_t | entity | ) |
Free an entity, recursively.
[in] | entity | The entity, can be NULL. |
entities_t next_entities | ( | entities_t | entities | ) |
Return all the entities from an entities_t after the first.
[in] | entities | The list of entities. |
int parse_entity | ( | const char * | string, |
entity_t * | entity | ||
) |
Read an XML entity tree from a string.
[in] | string | Input string. |
[out] | entity | Pointer to an entity tree. |
void print_entity | ( | FILE * | stream, |
entity_t | entity | ||
) |
Print an XML entity.
[in] | entity | The entity. |
[in] | stream | The stream to which to print. |
void print_entity_format | ( | entity_t | entity, |
gpointer | indent | ||
) |
Print an XML entity to stdout, recusively printing its children.
Does very basic indentation for pretty printing.
This function is used as the (callback) GFunc in g_slist_foreach.
[in] | entity | The entity. |
[in] | indent | Indentation level, indentation width is 2 spaces. Use GINT_TO_POINTER to convert a integer value when passing this parameter. |
void print_entity_to_string | ( | entity_t | entity, |
GString * | string | ||
) |
Print an XML entity tree to a GString, appending it if string is not.
empty.
[in] | entity | Entity tree to print to string. |
[in,out] | string | String to write to (will be created if NULL). |
int read_entity | ( | gnutls_session_t * | session, |
entity_t * | entity | ||
) |
Read an XML entity tree from the manager.
[in] | session | Pointer to GNUTLS session. |
[out] | entity | Pointer to an entity tree. |
int read_entity_and_string | ( | gnutls_session_t * | session, |
entity_t * | entity, | ||
GString ** | string_return | ||
) |
Try read an XML entity tree from the manager.
[in] | session | Pointer to GNUTLS session. |
[in] | timeout | Seconds or server idle time before giving up. 0 to wait forever. |
[out] | entity | Pointer to an entity tree. |
[out] | string | An optional return location for the text read from the session. If NULL then it simply remains NULL. If a pointer to NULL then it points to a freshly allocated GString on successful return. Otherwise it points to an existing GString onto which the text is appended. |
int read_entity_and_text | ( | gnutls_session_t * | session, |
entity_t * | entity, | ||
char ** | text | ||
) |
Read an XML entity tree from the manager.
[in] | session | Pointer to GNUTLS session. |
[out] | entity | Pointer to an entity tree. |
[out] | text | A pointer to a pointer, at which to store the address of a newly allocated string holding the text read from the session, if the text is required, else NULL. |
int read_string | ( | gnutls_session_t * | session, |
GString ** | string | ||
) |
Read entity and text. Free the entity immediately.
[in] | session | Pointer to GNUTLS session to read from. |
[out] | string | Return location for the string. |
int try_read_entity | ( | gnutls_session_t * | session, |
int | timeout, | ||
entity_t * | entity | ||
) |
Try read an XML entity tree from the manager.
[in] | session | Pointer to GNUTLS session. |
[in] | timeout | Server idle time before giving up, in seconds. 0 to wait forever. |
[out] | entity | Pointer to an entity tree. |
int try_read_entity_and_string | ( | gnutls_session_t * | session, |
int | timeout, | ||
entity_t * | entity, | ||
GString ** | string_return | ||
) |
Try read an XML entity tree from the manager.
[in] | session | Pointer to GNUTLS session. |
[in] | timeout | Server idle time before giving up, in seconds. 0 to wait forever. |
[out] | entity | Pointer to an entity tree. |
[out] | string | An optional return location for the text read from the session. If NULL then it simply remains NULL. If a pointer to NULL then it points to a freshly allocated GString on successful return. Otherwise it points to an existing GString onto which the text is appended. |
int xml_count_entities | ( | entities_t | entities | ) |
Count the number of entities.
[in] | entities | Entities. |
void xml_string_append | ( | GString * | xml, |
const char * | format, | ||
... | |||
) |
Append formatted escaped XML to a string.
[in] | xml | XML string. |
[in] | format | Format string. |
[in] | ... | Arguments for format string. |