summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/gpxe/crypto.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/include/gpxe/crypto.h b/src/include/gpxe/crypto.h
index d285f65a6..831c0363d 100644
--- a/src/include/gpxe/crypto.h
+++ b/src/include/gpxe/crypto.h
@@ -34,6 +34,12 @@ struct crypto_algorithm {
* @ret rc Return status code
*/
int ( * setkey ) ( void *ctx, void *key, size_t keylen );
+ /** Set initialisation vector
+ *
+ * @v ctx Context
+ * @v iv Initialisation vector
+ */
+ void ( *setiv ) ( void *ctx, void *iv );
/** Encode data
*
* @v ctx Context
@@ -85,6 +91,16 @@ static inline void digest_final ( struct crypto_algorithm *crypto,
crypto->final ( ctx, out );
}
+static inline void cipher_setiv ( struct crypto_algorithm *crypto,
+ void *ctx, void *iv ) {
+ crypto->setiv ( ctx, iv );
+}
+
+static inline int cipher_setkey ( struct crypto_algorithm *crypto,
+ void *ctx, void *key, size_t keylen ) {
+ return crypto->setkey ( ctx, key, keylen );
+}
+
static inline int cipher_encrypt ( struct crypto_algorithm *crypto,
void *ctx, const void *src, void *dst,
size_t len ) {