From b737e9d9e8e44b360509cfab36d22170f54af334 Mon Sep 17 00:00:00 2001 From: Jan Hutter Date: Thu, 1 Dec 2005 08:48:57 +0000 Subject: implemented and tested functionality to create sa_payload from ike_proposal_t's and also generate ike_proposal_t's from sa_payload --- .../encoding/payloads/proposal_substructure.h | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'Source/charon/encoding/payloads/proposal_substructure.h') diff --git a/Source/charon/encoding/payloads/proposal_substructure.h b/Source/charon/encoding/payloads/proposal_substructure.h index f131cf74c..a2015fbfe 100644 --- a/Source/charon/encoding/payloads/proposal_substructure.h +++ b/Source/charon/encoding/payloads/proposal_substructure.h @@ -28,6 +28,13 @@ #include #include +/** + * IKEv1 Value for a proposal payload. + * + * @ingroup payloads + */ +#define PROPOSAL_TYPE_VALUE 2 + /** * Length of the proposal substructure header * (without spi). @@ -106,6 +113,22 @@ struct proposal_substructure_t { */ u_int8_t (*get_proposal_number) (proposal_substructure_t *this); + /** + * @brief get the number of transforms in current proposal. + * + * @param this calling proposal_substructure_t object + * @return transform count in current proposal + */ + size_t (*get_transform_count) (proposal_substructure_t *this); + + /** + * @brief get size of the set spi in bytes. + * + * @param this calling proposal_substructure_t object + * @return size of the spi in bytes + */ + size_t (*get_spi_size) (proposal_substructure_t *this); + /** * @brief Sets the protocol id of current proposal. * @@ -136,6 +159,16 @@ struct proposal_substructure_t { */ status_t (*get_info_for_transform_type) (proposal_substructure_t *this,transform_type_t type, u_int16_t *transform_id, u_int16_t *key_length); + /** + * @brief Sets the next_payload field of this substructure + * + * If this is the last proposal, next payload field is set to 0, + * otherwise to 2 + * + * @param this calling proposal_substructure_t object + * @param is_last When TRUE, next payload field is set to 0, otherwise to 2 + */ + void (*set_is_last_proposal) (proposal_substructure_t *this, bool is_last); /** * @brief Returns the currently set SPI of this proposal. -- cgit v1.2.3