aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/encoding/payloads/ts_payload.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/charon/encoding/payloads/ts_payload.h')
-rw-r--r--Source/charon/encoding/payloads/ts_payload.h20
1 files changed, 8 insertions, 12 deletions
diff --git a/Source/charon/encoding/payloads/ts_payload.h b/Source/charon/encoding/payloads/ts_payload.h
index f285612f7..b7e3b80fb 100644
--- a/Source/charon/encoding/payloads/ts_payload.h
+++ b/Source/charon/encoding/payloads/ts_payload.h
@@ -25,7 +25,7 @@
#define TS_PAYLOAD_H_
#include <types.h>
-#include <utils/iterator.h>
+#include <utils/linked_list.h>
#include <config/traffic_selector.h>
#include <encoding/payloads/payload.h>
#include <encoding/payloads/traffic_selector_substructure.h>
@@ -104,17 +104,14 @@ struct ts_payload_t {
iterator_t *(*create_traffic_selector_substructure_iterator) (ts_payload_t *this, bool forward);
/**
- * @brief Create an array of the nested traffic_selector_t's.
+ * @brief Get a list of nested traffic selectors as traffic_selector_t.
*
- * @warning Array must be freed after usage.
- *
- * @warning traffic selector must be destroyed after usage.
+ * Resulting list and its traffic selectors must be destroyed after usage
*
* @param this calling ts_payload_t object
- * @param[out] address of the array of traffic_selectors will be written here.
- * @return number of ts in the allocated array
+ * @return list of traffic selectors
*/
- size_t (*get_traffic_selectors) (ts_payload_t *this, traffic_selector_t **traffic_selectors[]);
+ linked_list_t *(*get_traffic_selectors) (ts_payload_t *this);
/**
* @brief Destroys an ts_payload_t object.
@@ -138,19 +135,18 @@ struct ts_payload_t {
ts_payload_t *ts_payload_create(bool is_initiator);
/**
- * @brief Creates ts_payload with the specified traffic_selectors.
+ * @brief Creates ts_payload with a list of traffic_selector_t
*
*
* @param is_initiator
* - TRUE if this payload is of type TSi
* - FALSE if this payload is of type TSr
- * @param traffic_selectors an array of traffic_selector_t-pointers
- * @param count number of pointers in the array
+ * @param traffic_selectors list of traffic selectors to include
* @return ts_payload_t object
*
* @ingroup payloads
*/
-ts_payload_t *ts_payload_create_from_traffic_selectors(bool is_initiator, traffic_selector_t *traffic_selectors[], size_t count);
+ts_payload_t *ts_payload_create_from_traffic_selectors(bool is_initiator, linked_list_t *traffic_selectors);
#endif //TS_PAYLOAD_H_