diff options
author | Martin Willi <martin@revosec.ch> | 2010-11-10 14:21:23 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2011-01-05 16:45:43 +0100 |
commit | ca93b54e65dc11cec8b7902fdbc093188bd7e20c (patch) | |
tree | ca8f109c7f50e0faa661ccea03e0f0e7d86b9746 /src/libcharon/encoding | |
parent | b6c796464d625b192fcdafe19e13f115cfb95c46 (diff) | |
download | strongswan-ca93b54e65dc11cec8b7902fdbc093188bd7e20c.tar.bz2 strongswan-ca93b54e65dc11cec8b7902fdbc093188bd7e20c.tar.xz |
Added a constructor for custom uknown payloads
Diffstat (limited to 'src/libcharon/encoding')
-rw-r--r-- | src/libcharon/encoding/payloads/unknown_payload.c | 16 | ||||
-rw-r--r-- | src/libcharon/encoding/payloads/unknown_payload.h | 15 |
2 files changed, 29 insertions, 2 deletions
diff --git a/src/libcharon/encoding/payloads/unknown_payload.c b/src/libcharon/encoding/payloads/unknown_payload.c index defc5d361..7fa381632 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 1f42fcf09..5ae85331b 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_ @}*/ |