60 #define LWS_SS_MTU 1540
65 #if defined(STANDALONE)
66 #define lws_context lws_context_standalone
67 struct lws_context_standalone;
146 } lws_ss_state_return_t;
180 typedef lws_ss_state_return_t (*lws_sscb_rx)(
void *userobj,
const uint8_t *buf,
181 size_t len,
int flags);
182 typedef lws_ss_state_return_t (*lws_sscb_tx)(
void *userobj,
184 uint8_t *buf, size_t *len,
186 typedef lws_ss_state_return_t (*lws_sscb_state)(
void *userobj,
void *h_src,
187 lws_ss_constate_t state,
190 #if defined(LWS_WITH_SECURE_STREAMS_BUFFER_DUMP)
191 typedef void (*lws_ss_buffer_dump_cb)(
void *userobj,
const uint8_t *buf,
192 size_t len,
int done);
206 #if defined(LWS_WITH_SECURE_STREAMS_CPP)
212 #if defined(LWS_WITH_SYS_FAULT_INJECTION)
227 #if defined(LWS_WITH_SECURE_STREAMS_BUFFER_DUMP)
254 #define LWS_SS_USER_TYPEDEF
256 struct lws_ss_handle *ss;
259 #define LWS_SS_INFO(_streamtype, _type)
260 const lws_ss_info_t ssi_##_type = {
261 .handle_offset = offsetof(_type, ss),
262 .opaque_user_data_offset = offsetof(_type, opaque_data),
263 .user_alloc = sizeof(_type),
264 .streamtype = _streamtype,
266 #define lws_ss_from_user(_u) (_u)->ss
267 #define lws_ss_opaque_from_user(_u) (_u)->opaque_data
268 #define lws_ss_cx_from_user(_u) lws_ss_get_context((_u)->ss)
270 #if defined(LWS_SS_USE_SSPC)
271 #define lws_context_info_defaults(_x, _y) _lws_context_info_defaults(_x, NULL)
273 #define lws_context_info_defaults(_x, _y) _lws_context_info_defaults(_x, _y)
312 LWS_VISIBLE LWS_EXTERN
int LWS_WARN_UNUSED_RESULT
313 lws_ss_create(
struct lws_context *context,
int tsi,
const lws_ss_info_t *ssi,
314 void *opaque_user_data,
struct lws_ss_handle **ppss,
315 void *reserved,
const char **ppayload_fmt);
324 LWS_VISIBLE LWS_EXTERN
void
338 LWS_VISIBLE LWS_EXTERN lws_ss_state_return_t LWS_WARN_UNUSED_RESULT
339 lws_ss_request_tx(
struct lws_ss_handle *pss);
354 LWS_VISIBLE LWS_EXTERN lws_ss_state_return_t LWS_WARN_UNUSED_RESULT
355 lws_ss_request_tx_len(
struct lws_ss_handle *pss,
unsigned long len);
370 LWS_VISIBLE LWS_EXTERN lws_ss_state_return_t LWS_WARN_UNUSED_RESULT
371 lws_ss_client_connect(
struct lws_ss_handle *h);
389 LWS_VISIBLE LWS_EXTERN
int
399 LWS_VISIBLE LWS_EXTERN
const char *
410 LWS_VISIBLE LWS_EXTERN
struct lws_context *
413 #define LWSSS_TIMEOUT_FROM_POLICY 0
430 LWS_VISIBLE LWS_EXTERN
void
440 LWS_VISIBLE LWS_EXTERN
void
452 LWS_VISIBLE LWS_EXTERN
void *
468 LWS_VISIBLE LWS_EXTERN
const char *
497 LWS_VISIBLE LWS_EXTERN
int LWS_WARN_UNUSED_RESULT
498 lws_ss_set_metadata(
struct lws_ss_handle *h,
const char *name,
499 const void *value, size_t len);
513 LWS_VISIBLE LWS_EXTERN
int LWS_WARN_UNUSED_RESULT
514 lws_ss_alloc_set_metadata(
struct lws_ss_handle *h,
const char *name,
515 const void *value, size_t len);
544 LWS_VISIBLE LWS_EXTERN
int
546 const void **value, size_t *len);
567 LWS_VISIBLE LWS_EXTERN
void
584 LWS_VISIBLE LWS_EXTERN
void
613 LWS_VISIBLE LWS_EXTERN
void
615 lws_sscb_state state);
626 LWS_VISIBLE LWS_EXTERN
int
639 LWS_VISIBLE LWS_EXTERN
int
642 LWS_VISIBLE LWS_EXTERN
const char *
646 #if defined(LWS_WITH_SECURE_STREAMS_AUTH_SIGV4)
660 LWS_VISIBLE LWS_EXTERN
int
661 lws_ss_sigv4_set_aws_key(
struct lws_context* context, uint8_t idx,
662 const char * keyid,
const char * key);
680 LWS_VISIBLE LWS_EXTERN
int
681 lws_aws_filesystem_credentials_helper(
const char *path,
const char *kid,
682 const char *ak,
char **aws_keyid,
687 #if defined(STANDALONE)