Add crypto hash SM3.
[libgcrypt.git] / cipher / cipher-selftest.h
index 89d79c2..a435080 100644 (file)
@@ -1,5 +1,5 @@
 /* cipher-selftest.h - Helper functions for bulk encryption selftests.
- *     Copyright © 2013 Jussi Kivilinna <jussi.kivilinna@iki.fi>
+ * Copyright (C) 2013 Jussi Kivilinna <jussi.kivilinna@iki.fi>
  *
  * This file is part of Libgcrypt.
  *
 typedef void (*gcry_cipher_bulk_cbc_dec_t)(void *context, unsigned char *iv,
                                           void *outbuf_arg,
                                           const void *inbuf_arg,
-                                          unsigned int nblocks);
+                                          size_t nblocks);
+
+typedef void (*gcry_cipher_bulk_cfb_dec_t)(void *context, unsigned char *iv,
+                                          void *outbuf_arg,
+                                          const void *inbuf_arg,
+                                          size_t nblocks);
 
 typedef void (*gcry_cipher_bulk_ctr_enc_t)(void *context, unsigned char *iv,
                                           void *outbuf_arg,
                                           const void *inbuf_arg,
-                                          unsigned int nblocks);
+                                          size_t nblocks);
+
+/* Helper function to allocate an aligned context for selftests.  */
+void *_gcry_cipher_selftest_alloc_ctx (const int context_size,
+                                       unsigned char **r_mem);
+
 
 /* Helper function for bulk CBC decryption selftest */
 const char *
-_gcry_selftest_helper_cbc_128 (const char *cipher, gcry_cipher_setkey_t setkey,
-                              gcry_cipher_encrypt_t encrypt_one,
-                              gcry_cipher_bulk_cbc_dec_t bulk_cbc_dec,
-                              const int nblocks, const int blocksize,
-                              const int context_size);
+_gcry_selftest_helper_cbc (const char *cipher, gcry_cipher_setkey_t setkey,
+                          gcry_cipher_encrypt_t encrypt_one,
+                          gcry_cipher_bulk_cbc_dec_t bulk_cbc_dec,
+                          const int nblocks, const int blocksize,
+                          const int context_size);
+
+/* Helper function for bulk CFB decryption selftest */
+const char *
+_gcry_selftest_helper_cfb (const char *cipher, gcry_cipher_setkey_t setkey,
+                          gcry_cipher_encrypt_t encrypt_one,
+                          gcry_cipher_bulk_cfb_dec_t bulk_cfb_dec,
+                          const int nblocks, const int blocksize,
+                          const int context_size);
 
 /* Helper function for bulk CTR encryption selftest */
 const char *
-_gcry_selftest_helper_ctr_128 (const char *cipher, gcry_cipher_setkey_t setkey,
-                              gcry_cipher_encrypt_t encrypt_one,
-                              gcry_cipher_bulk_ctr_enc_t bulk_ctr_enc,
-                              const int nblocks, const int blocksize,
-                              const int context_size);
+_gcry_selftest_helper_ctr (const char *cipher, gcry_cipher_setkey_t setkey,
+                          gcry_cipher_encrypt_t encrypt_one,
+                          gcry_cipher_bulk_ctr_enc_t bulk_ctr_enc,
+                          const int nblocks, const int blocksize,
+                          const int context_size);
 
 #endif /*G10_SELFTEST_HELP_H*/