wolfssl_demo.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /* wolfssl_demo.h
  2. *
  3. * Copyright (C) 2006-2023 wolfSSL Inc.
  4. *
  5. * This file is part of wolfSSL.
  6. *
  7. * wolfSSL is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * wolfSSL is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, write to the Free Software
  19. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
  20. */
  21. #ifndef WOLFSSL_DEMO_H_
  22. #define WOLFSSL_DEMO_H_
  23. /**************************************************/
  24. /******* DO NOT CHANGE the following order ********/
  25. /**************************************************/
  26. /* Include logging header files and define logging macros in the following order:
  27. * 1. Include the header file "logging_levels.h".
  28. * 2. Define the LIBRARY_LOG_NAME and LIBRARY_LOG_LEVEL macros depending on
  29. * the logging configuration for DEMO.
  30. * 3. Include the header file "logging_stack.h", if logging is enabled for DEMO.
  31. */
  32. #include "logging_levels.h"
  33. /* Logging configuration for the Demo. */
  34. #ifndef LIBRARY_LOG_NAME
  35. #define LIBRARY_LOG_NAME "WOLFSSL_Demo"
  36. #endif
  37. #ifndef LIBRARY_LOG_LEVEL
  38. #define LIBRARY_LOG_LEVEL LOG_INFO
  39. #endif
  40. #include "logging_stack.h"
  41. #include "wolfssl/ssl.h"
  42. /* Enable wolfcrypt test demo */
  43. /*#define CRYPT_TEST */
  44. /* Enable benchmark demo */
  45. /*#define BENCHMARK*/
  46. /* Enable TLS client demo */
  47. /* cannot enable with other definition */
  48. #define TLS_CLIENT
  49. /* use multi-thread example */
  50. /* #define TLS_MULTITHREAD_TEST */
  51. #if defined(TLS_MULTITHREAD_TEST) && defined(WOLFSSL_TLS13)
  52. #error "MULTITHREAD_TEST is only available when not set WOLFSSL_TLS13 \
  53. because it is not verified yet."
  54. #endif
  55. #if defined(TLS_MULTITHREAD_TEST)
  56. #define THREAD_STACK_SIZE (5 * 1024)
  57. #endif
  58. typedef struct tagTestInfo
  59. {
  60. int id;
  61. int port;
  62. char name[32];
  63. const char* cipher;
  64. WOLFSSL_CTX* ctx;
  65. wolfSSL_Logging_cb log_f;
  66. #if defined(TLS_MULTITHREAD_TEST)
  67. SemaphoreHandle_t xBinarySemaphore;
  68. #endif
  69. } TestInfo;
  70. #endif /* WOLFSSL_DEMO_H_ */