libimcv: Moved REST API from imv_swid and imv_swima to libimcv
[strongswan.git] / src / libipsec / esp_context.h
index db247dc..322dab9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012 Tobias Brunner
+ * Copyright (C) 2012-2013 Tobias Brunner
  * Copyright (C) 2012 Giuliano Grassi
  * Copyright (C) 2012 Ralf Sager
  * Hochschule fuer Technik Rapperswil
@@ -24,8 +24,7 @@
 #define ESP_CONTEXT_H_
 
 #include <library.h>
-#include <crypto/crypters/crypter.h>
-#include <crypto/signers/signer.h>
+#include <crypto/aead.h>
 
 typedef struct esp_context_t esp_context_t;
 
@@ -35,18 +34,11 @@ typedef struct esp_context_t esp_context_t;
 struct esp_context_t {
 
        /**
-        * Get the crypter.
+        * Get AEAD wrapper or method to encrypt/decrypt/authenticate ESP packets.
         *
-        * @return                              crypter
+        * @return                              AEAD wrapper of method
         */
-       crypter_t *(*get_crypter)(esp_context_t *this);
-
-       /**
-        * Get the signer.
-        *
-        * @return                              signer
-        */
-       signer_t *(*get_signer)(esp_context_t *this);
+       aead_t *(*get_aead)(esp_context_t *this);
 
        /**
         * Get the current outbound ESP sequence number or the highest authenticated
@@ -54,7 +46,7 @@ struct esp_context_t {
         *
         * @return                      current sequence number, in host byte order
         */
-       u_int32_t (*get_seqno)(esp_context_t *this);
+       uint32_t (*get_seqno)(esp_context_t *this);
 
        /**
         * Allocate the next outbound ESP sequence number.
@@ -62,7 +54,7 @@ struct esp_context_t {
         * @param seqno         the sequence number, in host byte order
         * @return                      FALSE if the sequence number cycled or inbound context
         */
-       bool (*next_seqno)(esp_context_t *this, u_int32_t *seqno);
+       bool (*next_seqno)(esp_context_t *this, uint32_t *seqno);
 
        /**
         * Verify an ESP sequence number.  Checks whether a packet with this
@@ -74,7 +66,7 @@ struct esp_context_t {
         * @param seqno         the sequence number to verify, in host byte order
         * @return                      TRUE when sequence number is valid
         */
-       bool (*verify_seqno)(esp_context_t *this, u_int32_t seqno);
+       bool (*verify_seqno)(esp_context_t *this, uint32_t seqno);
 
        /**
         * Adds a sequence number that was successfully verified and
@@ -84,7 +76,7 @@ struct esp_context_t {
         * @param seqno         verified and authenticated seq number in host byte order
         */
        void (*set_authenticated_seqno)(esp_context_t *this,
-                                                                       u_int32_t seqno);
+                                                                       uint32_t seqno);
 
        /**
         * Destroy an esp_context_t