From e32820f5935806bc2a06f90cfb77923de3a72323 Mon Sep 17 00:00:00 2001 From: Clavister OpenSource Date: Thu, 29 Dec 2011 00:05:04 +0100 Subject: [PATCH] Add functions to set mode cfg identifier --- src/libcharon/encoding/payloads/cp_payload.c | 13 +++++++++++++ src/libcharon/encoding/payloads/cp_payload.h | 14 ++++++++++++++ 2 files changed, 27 insertions(+) mode change 100644 => 100755 src/libcharon/encoding/payloads/cp_payload.c mode change 100644 => 100755 src/libcharon/encoding/payloads/cp_payload.h diff --git a/src/libcharon/encoding/payloads/cp_payload.c b/src/libcharon/encoding/payloads/cp_payload.c old mode 100644 new mode 100755 index c8cffa3f7..40f6ae48f --- a/src/libcharon/encoding/payloads/cp_payload.c +++ b/src/libcharon/encoding/payloads/cp_payload.c @@ -269,6 +269,17 @@ METHOD(cp_payload_t, get_config_type, config_type_t, return this->cfg_type; } +METHOD(cp_payload_t, get_identifier, u_int16_t, + private_cp_payload_t *this) +{ + return this->identifier; +} +METHOD(cp_payload_t, set_identifier, void, + private_cp_payload_t *this, u_int16_t identifier) +{ + this->identifier = identifier; +} + METHOD2(payload_t, cp_payload_t, destroy, void, private_cp_payload_t *this) { @@ -299,6 +310,8 @@ cp_payload_t *cp_payload_create_type(payload_type_t type, config_type_t cfg_type .create_attribute_enumerator = _create_attribute_enumerator, .add_attribute = _add_attribute, .get_type = _get_config_type, + .get_identifier = _get_identifier, + .set_identifier = _set_identifier, .destroy = _destroy, }, .next_payload = NO_PAYLOAD, diff --git a/src/libcharon/encoding/payloads/cp_payload.h b/src/libcharon/encoding/payloads/cp_payload.h old mode 100644 new mode 100755 index 0e3cf53bc..5eb1e06a7 --- a/src/libcharon/encoding/payloads/cp_payload.h +++ b/src/libcharon/encoding/payloads/cp_payload.h @@ -77,6 +77,20 @@ struct cp_payload_t { */ config_type_t (*get_type) (cp_payload_t *this); + /** + * Set the configuration payload identifier (IKEv1 only). + * + @param identifier identifier to set + */ + void (*set_identifier) (cp_payload_t *this, u_int16_t identifier); + + /** + * Get the configuration payload identifier (IKEv1 only). + * + * @return identifier + */ + u_int16_t (*get_identifier) (cp_payload_t *this); + /** * Destroys an cp_payload_t object. */