From a527a426d6d2c2d6619174b80816a96d45a0a9c9 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Wed, 22 Feb 2006 16:14:40 +0000 Subject: - proposal setup implementation begun --- Source/charon/encoding/payloads/ts_payload.h | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'Source/charon/encoding/payloads/ts_payload.h') 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 -#include +#include #include #include #include @@ -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_ -- cgit v1.2.3