Software APIs
sw
device
tests
penetrationtests
json
prng_sca_commands.h
1
// Copyright lowRISC contributors (OpenTitan project).
2
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3
// SPDX-License-Identifier: Apache-2.0
4
5
#ifndef OPENTITAN_SW_DEVICE_TESTS_PENETRATIONTESTS_JSON_PRNG_SCA_COMMANDS_H_
6
#define OPENTITAN_SW_DEVICE_TESTS_PENETRATIONTESTS_JSON_PRNG_SCA_COMMANDS_H_
7
#include "sw/device/lib/ujson/ujson_derive.h"
8
#ifdef __cplusplus
9
extern
"C"
{
10
#endif
11
12
#define PRNGSCA_CMD_MAX_LFSR_BYTES 4
13
14
// clang-format off
15
16
// PRNG SCA arguments
17
18
#define PRNGSCA_SUBCOMMAND(_, value) \
19
value(_, SeedPrng)
20
UJSON_SERDE_ENUM(PrngScaSubcommand, prng_sca_subcommand_t, PRNGSCA_SUBCOMMAND);
21
22
#define PRNG_SCA_LFSR(field, string) \
23
field(seed, uint8_t, PRNGSCA_CMD_MAX_LFSR_BYTES) \
24
field(seed_length, size_t)
25
UJSON_SERDE_STRUCT(CryptotestPrngScaLfsr, cryptotest_prng_sca_lfsr_t, PRNG_SCA_LFSR);
26
27
// clang-format on
28
29
#ifdef __cplusplus
30
}
31
#endif
32
#endif
// OPENTITAN_SW_DEVICE_TESTS_PENETRATIONTESTS_JSON_PRNG_SCA_COMMANDS_H_
Return to
OpenTitan Documentation