diff options
Diffstat (limited to 'src/libcharon/encoding/payloads/id_payload.h')
-rw-r--r-- | src/libcharon/encoding/payloads/id_payload.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libcharon/encoding/payloads/id_payload.h b/src/libcharon/encoding/payloads/id_payload.h index 8ae90d20f..bc6920012 100644 --- a/src/libcharon/encoding/payloads/id_payload.h +++ b/src/libcharon/encoding/payloads/id_payload.h @@ -28,6 +28,7 @@ typedef struct id_payload_t id_payload_t; #include <library.h> #include <utils/identification.h> #include <encoding/payloads/payload.h> +#include <selectors/traffic_selector.h> /** * Object representing an IKEv1 or an IKEv2 ID payload. @@ -47,6 +48,13 @@ struct id_payload_t { identification_t *(*get_identification) (id_payload_t *this); /** + * Creates a traffic selector form a ID_ADDR_SUBNET/RANGE identity. + * + * @return traffic selector, NULL on failure + */ + traffic_selector_t* (*get_ts)(id_payload_t *this); + + /** * Destroys an id_payload_t object. */ void (*destroy) (id_payload_t *this); @@ -70,4 +78,12 @@ id_payload_t *id_payload_create(payload_type_t payload_type); id_payload_t *id_payload_create_from_identification(payload_type_t type, identification_t *id); +/** + * Create an IKEv1 ID_ADDR_SUBNET/RANGE identity from a traffic selector. + * + * @param ts traffic selector + * @return ID_V1 id_paylad_t object. + */ +id_payload_t *id_payload_create_from_ts(traffic_selector_t *ts); + #endif /** ID_PAYLOAD_H_ @}*/ |