Added IKEv1 support to delete payload
[strongswan.git] / src / libcharon / encoding / payloads / delete_payload.h
index 3b62c1a..0ee0d4f 100644 (file)
@@ -29,16 +29,10 @@ typedef struct delete_payload_t delete_payload_t;
 #include <encoding/payloads/proposal_substructure.h>
 
 /**
- * Length of a delete payload without the SPI in bytes.
- */
-#define DELETE_PAYLOAD_HEADER_LENGTH 8
-
-/**
- * Class representing an IKEv2 DELETE payload.
- *
- * The DELETE payload format is described in RFC section 3.11.
+ * Class representing an IKEv1 or a IKEv2 DELETE payload.
  */
 struct delete_payload_t {
+
        /**
         * The payload_t interface.
         */
@@ -59,13 +53,11 @@ struct delete_payload_t {
        void (*add_spi) (delete_payload_t *this, u_int32_t spi);
 
        /**
-        * Get an iterator over the SPIs.
-        *
-        * The iterate() function returns a pointer to a u_int32_t SPI.
+        * Get an enumerator over the SPIs in network order.
         *
-        * @return                              iterator over SPIs
+        * @return                              enumerator over SPIs, u_int32_t
         */
-       iterator_t *(*create_spi_iterator) (delete_payload_t *this);
+       enumerator_t *(*create_spi_enumerator) (delete_payload_t *this);
 
        /**
         * Destroys an delete_payload_t object.
@@ -76,9 +68,11 @@ struct delete_payload_t {
 /**
  * Creates an empty delete_payload_t object.
  *
+ * @param type                 DELETE or DELETE_V1
  * @param protocol_id  protocol, such as AH|ESP
  * @return                             delete_payload_t object
  */
-delete_payload_t *delete_payload_create(protocol_id_t protocol_id);
+delete_payload_t *delete_payload_create(payload_type_t type,
+                                                                               protocol_id_t protocol_id);
 
 #endif /** DELETE_PAYLOAD_H_ @}*/