From: Martin Willi Date: Wed, 10 Nov 2010 13:21:23 +0000 (+0100) Subject: Added a constructor for custom uknown payloads X-Git-Tag: 4.5.1~297 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ca93b54e65dc11cec8b7902fdbc093188bd7e20c;p=thirdparty%2Fstrongswan.git Added a constructor for custom uknown payloads --- diff --git a/src/libcharon/encoding/payloads/unknown_payload.c b/src/libcharon/encoding/payloads/unknown_payload.c index defc5d361a..7fa3816323 100644 --- a/src/libcharon/encoding/payloads/unknown_payload.c +++ b/src/libcharon/encoding/payloads/unknown_payload.c @@ -179,3 +179,19 @@ unknown_payload_t *unknown_payload_create(payload_type_t type) return &this->public; } + + +/* + * Described in header + */ +unknown_payload_t *unknown_payload_create_data(payload_type_t type, + bool critical, chunk_t data) +{ + private_unknown_payload_t *this; + + this = (private_unknown_payload_t*)unknown_payload_create(type); + this->data = data; + this->critical = critical; + + return &this->public; +} diff --git a/src/libcharon/encoding/payloads/unknown_payload.h b/src/libcharon/encoding/payloads/unknown_payload.h index 1f42fcf096..5ae85331bc 100644 --- a/src/libcharon/encoding/payloads/unknown_payload.h +++ b/src/libcharon/encoding/payloads/unknown_payload.h @@ -72,9 +72,20 @@ struct unknown_payload_t { /** * Creates an empty unknown_payload_t. * - * @param type of the payload - * @return unknown_payload_t object + * @param type of the payload + * @return unknown_payload_t object */ unknown_payload_t *unknown_payload_create(payload_type_t type); +/** + * Create an unknown payload with data. + * + * @param type type of payload to create + * @param critical TRUE to set critical bit + * @param data data to set for this payload, gets owned by payload + * @return payload object + */ +unknown_payload_t *unknown_payload_create_data(payload_type_t type, + bool critical, chunk_t data); + #endif /** UNKNOWN_PAYLOAD_H_ @}*/