]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
Added a constructor for custom uknown payloads
authorMartin Willi <martin@revosec.ch>
Wed, 10 Nov 2010 13:21:23 +0000 (14:21 +0100)
committerMartin Willi <martin@revosec.ch>
Wed, 5 Jan 2011 15:45:43 +0000 (16:45 +0100)
src/libcharon/encoding/payloads/unknown_payload.c
src/libcharon/encoding/payloads/unknown_payload.h

index defc5d361abf9b74d84927a3ee4010e8f176e6bd..7fa3816323277ac89203454bc40dd7ddd627b155 100644 (file)
@@ -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;
+}
index 1f42fcf096a50b8e15b3b9fc07b15ded81001aca..5ae85331bc8c910e4cd6c982981011b910463d1f 100644 (file)
@@ -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_ @}*/