24#ifndef PROTOCORE_TLS_POLICY_H
25#define PROTOCORE_TLS_POLICY_H
29#if PROTOCORE_ENABLE_TLS_POLICY
34#define TLS_VERSION_1_2 0x0303
35#define TLS_VERSION_1_3 0x0304
46} TlsPolicyNegotiateArgs;
57 const uint16_t *client_offered;
59 const uint16_t *server_pinned;
104 TlsPolicyNegotiateArgs negotiate_args;
105 TlsPolicyNameArgs name_args;
106 TlsPolicySelectArgs select_args;
107 TlsPolicyAeadArgs aead_args;
116extern TlsPolicyVars TlsPolicyV;
121 void (*
const negotiate)(uint8_t *work);
122 void (*
const name)(uint8_t *work);
123 void (*
const select)(uint8_t *work);
124 void (*
const is_aead)(uint8_t *work);
129void protocore_tls_policy_negotiate(uint8_t *work);
130void protocore_tls_policy_name(uint8_t *work);
131void protocore_tls_policy_select(uint8_t *work);
132void protocore_tls_policy_is_aead(uint8_t *work);
138static const TlsPolicyNs TlsPolicy __attribute__((unused)) = {
139 .negotiate = protocore_tls_policy_negotiate,
140 .name = protocore_tls_policy_name,
141 .select = protocore_tls_policy_select,
142 .is_aead = protocore_tls_policy_is_aead,
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
_Bool proto_bool
The truth value.
#define PROTOCORE_END_DECLS