Mbed TLS v3.6.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
block_cipher.h
Go to the documentation of this file.
1 
6 /*
7  * Copyright The Mbed TLS Contributors
8  * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
9  */
10 #ifndef MBEDTLS_BLOCK_CIPHER_H
11 #define MBEDTLS_BLOCK_CIPHER_H
12 
13 #include "mbedtls/private_access.h"
14 
15 #include "mbedtls/build_info.h"
16 
17 #if defined(MBEDTLS_AES_C)
18 #include "mbedtls/aes.h"
19 #endif
20 #if defined(MBEDTLS_ARIA_C)
21 #include "mbedtls/aria.h"
22 #endif
23 #if defined(MBEDTLS_CAMELLIA_C)
24 #include "mbedtls/camellia.h"
25 #endif
26 
27 #if defined(MBEDTLS_BLOCK_CIPHER_SOME_PSA)
28 #include "psa/crypto_types.h"
29 #endif
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 typedef enum {
41 
47 typedef enum {
51 
52 typedef struct {
54 #if defined(MBEDTLS_BLOCK_CIPHER_SOME_PSA)
57 #endif
58  union {
59  unsigned dummy; /* Make the union non-empty even with no supported algorithms. */
60 #if defined(MBEDTLS_AES_C)
62 #endif
63 #if defined(MBEDTLS_ARIA_C)
65 #endif
66 #if defined(MBEDTLS_CAMELLIA_C)
68 #endif
69  } MBEDTLS_PRIVATE(ctx);
71 
72 #ifdef __cplusplus
73 }
74 #endif
75 
76 #endif /* MBEDTLS_BLOCK_CIPHER_H */
PSA cryptography module: type aliases.
#define MBEDTLS_PRIVATE(member)
Camellia block cipher.
mbedtls_block_cipher_id_t
Definition: block_cipher.h:35
This file contains AES definitions and functions.
Macro wrapper for struct's members.
ARIA block cipher.
Build-time configuration info.
mbedtls_block_cipher_engine_t
Definition: block_cipher.h:47