ssl_stack.h 938 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef _SSL_STACK_H_
  2. #define _SSL_STACK_H_
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include "ssl_types.h"
  7. #define STACK_OF(type) struct stack_st_##type
  8. #define SKM_DEFINE_STACK_OF(t1, t2, t3) \
  9. STACK_OF(t1); \
  10. static ossl_inline STACK_OF(t1) *sk_##t1##_new_null(void) \
  11. { \
  12. return (STACK_OF(t1) *)OPENSSL_sk_new_null(); \
  13. } \
  14. #define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
  15. /**
  16. * @brief create a openssl stack object
  17. *
  18. * @param c - stack function
  19. *
  20. * @return openssl stack object point
  21. */
  22. OPENSSL_STACK* OPENSSL_sk_new(OPENSSL_sk_compfunc c);
  23. /**
  24. * @brief create a NULL function openssl stack object
  25. *
  26. * @param none
  27. *
  28. * @return openssl stack object point
  29. */
  30. OPENSSL_STACK *OPENSSL_sk_new_null(void);
  31. /**
  32. * @brief free openssl stack object
  33. *
  34. * @param openssl stack object point
  35. *
  36. * @return none
  37. */
  38. void OPENSSL_sk_free(OPENSSL_STACK *stack);
  39. #ifdef __cplusplus
  40. }
  41. #endif
  42. #endif