test-options.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /* SPDX-License-Identifier: BSD-2-Clause */
  2. /***********************************************************************
  3. * Copyright (c) 2017-2018, Intel Corporation
  4. *
  5. * All rights reserved.
  6. ***********************************************************************/
  7. #ifndef TEST_OPTIONS_H
  8. #define TEST_OPTIONS_H
  9. #include <stdint.h>
  10. /* Default TCTI */
  11. #define TCTI_DEFAULT SWTPM_TCTI
  12. #define TCTI_DEFAULT_STR "socket"
  13. /* Defaults for Device TCTI */
  14. #define DEVICE_PATH_DEFAULT "/dev/tpm0"
  15. /* Defaults for Socket TCTI connections */
  16. #define HOSTNAME_DEFAULT "127.0.0.1"
  17. #define PORT_DEFAULT 2321
  18. /* environment variables holding TCTI config */
  19. #define ENV_TCTI_NAME "TPM20TEST_TCTI_NAME"
  20. #define ENV_DEVICE_FILE "TPM20TEST_DEVICE_FILE"
  21. #define ENV_SOCKET_ADDRESS "TPM20TEST_SOCKET_ADDRESS"
  22. #define ENV_SOCKET_PORT "TPM20TEST_SOCKET_PORT"
  23. typedef enum {
  24. UNKNOWN_TCTI,
  25. DEVICE_TCTI,
  26. SOCKET_TCTI,
  27. SWTPM_TCTI,
  28. FUZZING_TCTI,
  29. N_TCTI,
  30. } TCTI_TYPE;
  31. typedef struct {
  32. TCTI_TYPE tcti_type;
  33. const char *device_file;
  34. const char *socket_address;
  35. uint16_t socket_port;
  36. } test_opts_t;
  37. /* functions to get test options from the user and to print helpful stuff */
  38. const char *tcti_name_from_type(TCTI_TYPE tcti_type);
  39. TCTI_TYPE tcti_type_from_name(char const *tcti_str);
  40. int get_test_opts_from_env(test_opts_t * opts);
  41. int sanity_check_test_opts(test_opts_t * opts);
  42. void dump_test_opts(test_opts_t * opts);
  43. #endif /* TEST_OPTIONS_H */