1
6
7
8
9
10
11
12
13
14
15
16
17
18
23
28
29
32
43
44
45
46
50
51
54
55
56
59
60
61
64
65
66
69
70
71
72
73
74
83
84
87
88
89
93
94
95
98
99
100
103
104
105
106
109
110
111
112
116
117
118
119
120
121
122
123
126
127
128
129
130
131
134
135
136
137
138
139
140
141
142
/* ... */
#pragma once
#include <esp_err.h>
#include "esp_event.h"
#ifdef __cplusplus
extern "C" {
#endif
ESP_EVENT_DECLARE_BASE(PROTOCOMM_SECURITY_SESSION_EVENT);
/* ... */
typedef enum {
PROTOCOMM_SECURITY_SESSION_SETUP_OK,
PROTOCOMM_SECURITY_SESSION_INVALID_SECURITY_PARAMS,
PROTOCOMM_SECURITY_SESSION_CREDENTIALS_MISMATCH,
}{ ... } protocomm_security_session_event_t;
/* ... */
typedef struct protocomm_security1_params {
/* ... */
const uint8_t *data;
/* ... */
uint16_t len;
}{ ... } protocomm_security1_params_t;
typedef protocomm_security1_params_t protocomm_security_pop_t __attribute__((deprecated("Use protocomm_security1_params_t instead")));
/* ... */
typedef struct protocomm_security2_params {
/* ... */
const char *salt;
/* ... */
uint16_t salt_len;
/* ... */
const char *verifier;
/* ... */
uint16_t verifier_len;
}{ ... } protocomm_security2_params_t;
typedef void * protocomm_security_handle_t;
/* ... */
typedef struct protocomm_security {
/* ... */
int ver;
/* ... */
esp_err_t (*init)(protocomm_security_handle_t *handle);
/* ... */
esp_err_t (*cleanup)(protocomm_security_handle_t handle);
/* ... */
esp_err_t (*new_transport_session)(protocomm_security_handle_t handle,
uint32_t session_id);
/* ... */
esp_err_t (*close_transport_session)(protocomm_security_handle_t handle,
uint32_t session_id);
/* ... */
esp_err_t (*security_req_handler)(protocomm_security_handle_t handle,
const void *sec_params,
uint32_t session_id,
const uint8_t *inbuf, ssize_t inlen,
uint8_t **outbuf, ssize_t *outlen,
void *priv_data);
/* ... */
esp_err_t (*encrypt)(protocomm_security_handle_t handle,
uint32_t session_id,
const uint8_t *inbuf, ssize_t inlen,
uint8_t **outbuf, ssize_t *outlen);
/* ... */
esp_err_t (*decrypt)(protocomm_security_handle_t handle,
uint32_t session_id,
const uint8_t *inbuf, ssize_t inlen,
uint8_t **outbuf, ssize_t *outlen);
}{ ... } protocomm_security_t;
#ifdef __cplusplus
}{...}
#endif