aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/encoding/generator.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/charon/encoding/generator.h')
-rw-r--r--Source/charon/encoding/generator.h30
1 files changed, 23 insertions, 7 deletions
diff --git a/Source/charon/encoding/generator.h b/Source/charon/encoding/generator.h
index b3163e671..717d32b73 100644
--- a/Source/charon/encoding/generator.h
+++ b/Source/charon/encoding/generator.h
@@ -30,18 +30,34 @@
/**
* Generating is done in a data buffer.
* This is thehe start size of this buffer in bytes.
+ *
+ * @ingroup enconding
*/
#define GENERATOR_DATA_BUFFER_SIZE 500
/**
* Number of bytes to increase the buffer, if it is to small.
+ *
+ * @ingroup enconding
*/
#define GENERATOR_DATA_BUFFER_INCREASE_VALUE 500
+
typedef struct generator_t generator_t;
/**
- * A generator_t class used to generate IKEv2 payloads.
+ * @brief A generator_t class used to generate IKEv2 payloads.
+ *
+ * After creation, multiple payloads can be generated with the generate_payload
+ * method. The generated bytes are appended. After all payloads are added,
+ * the write_to_chunk method writes out all generated data since
+ * the creation of the generator. After that, the generator must be destroyed.
+ * The generater uses a set of encoding rules, which it can get from
+ * the supplied payload. With this rules, the generater can generate
+ * the payload and all substructures automatically.
+ *
+ * @b Constructor:
+ * - generator_create()
*
* @ingroup encoding
*/
@@ -58,28 +74,28 @@ struct generator_t {
void (*generate_payload) (generator_t *this,payload_t *payload);
/**
- * Writes all generated data of current generator context to a chunk.
+ * @brief Writes all generated data of the generator to a chunk.
*
* @param this generator_t object
- * @param[out] data chunk to write the data to
+ * @param[out] data chunk to write the data to
*/
void (*write_to_chunk) (generator_t *this,chunk_t *data);
/**
* @brief Destroys a generator_t object.
*
- * @param this generator_t object
+ * @param this generator_t object
*/
void (*destroy) (generator_t *this);
};
/**
- * Constructor to create a generator.
+ * @brief Constructor to create a generator.
*
- * Returns a new generator_t object.
+ * @return generator_t object.
*
* @ingroup encoding
*/
-generator_t * generator_create();
+generator_t *generator_create();
#endif /*GENERATOR_H_*/