5 #ifndef OPENTITAN_SW_DEVICE_TESTS_CRYPTO_CRYPTOTEST_JSON_HMAC_COMMANDS_H_
6 #define OPENTITAN_SW_DEVICE_TESTS_CRYPTO_CRYPTOTEST_JSON_HMAC_COMMANDS_H_
7 #include "sw/device/lib/ujson/ujson_derive.h"
12 #define HMAC_CMD_MAX_MESSAGE_BYTES 256
13 #define HMAC_CMD_MAX_KEY_BYTES 192
14 #define HMAC_CMD_MAX_TAG_BYTES 64
18 #define HMAC_HASH_ALG(_, value) \
25 UJSON_SERDE_ENUM(CryptotestHmacHashAlg, cryptotest_hmac_hash_alg_t, HMAC_HASH_ALG);
27 #define HMAC_MESSAGE(field, string) \
28 field(message, uint8_t, HMAC_CMD_MAX_MESSAGE_BYTES) \
29 field(message_len, size_t)
30 UJSON_SERDE_STRUCT(CryptotestHmacMessage, cryptotest_hmac_message_t, HMAC_MESSAGE);
32 #define HMAC_KEY(field, string) \
33 field(key, uint8_t, HMAC_CMD_MAX_KEY_BYTES) \
34 field(key_len, size_t)
35 UJSON_SERDE_STRUCT(CryptotestHmacKey, cryptotest_hmac_key_t, HMAC_KEY);
37 #define HMAC_TAG(field, string) \
38 field(tag, uint8_t, HMAC_CMD_MAX_TAG_BYTES) \
39 field(tag_len, size_t)
40 UJSON_SERDE_STRUCT(CryptotestHmacTag, cryptotest_hmac_tag_t, HMAC_TAG);