libwebsockets
Lightweight C library for HTML5 websockets
Loading...
Searching...
No Matches
lws-secure-streams-serialization.h File Reference

#include <lws-secure-streams-serialization.h>

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  lws_txp_path_client
struct  lws_txp_path_proxy
struct  lws_transport_client_ops
struct  lws_transport_proxy_ops
struct  lws_transport_mux_ch
struct  lws_transport_info
struct  lws_transport_mux
struct  lws_txp_mux_parse_cbs

Macros

#define LWSSSS_VERSION   1
#define LWS_MUCH_RANGE   256
#define LWS_TRANSPORT_MUXCH_MAGIC   LWS_FOURCC('T', 'm', 'C', 'h')
#define assert_is_tmch(_tm)
#define LWSTMINFO_SERVER   (1 << 0)
#define LWS_TRANSPORT_MUX_MAGIC   LWS_FOURCC('I', 's', 'T', 'M')
#define assert_is_tm(_tm)
#define lws_transport_path_client_dump(_a, _b)
#define lws_transport_path_proxy_dump(_a, _b)

Typedefs

typedef void * lws_transport_priv_t
typedef struct lws_txp_path_client lws_txp_path_client_t
typedef struct lws_txp_path_proxy lws_txp_path_proxy_t
typedef struct lws_transport_client_ops lws_transport_client_ops_t
typedef struct lws_transport_proxy_ops lws_transport_proxy_ops_t
typedef uint8_t lws_mux_ch_idx_t
typedef struct lws_transport_mux_ch lws_transport_mux_ch_t
typedef struct lws_transport_info lws_transport_info_t
typedef struct lws_transport_mux lws_transport_mux_t
typedef struct lws_txp_mux_parse_cbs lws_txp_mux_parse_cbs_t

Enumerations

enum  lws_sss_cmds_t {
  LWSSS_SER_RXPRE_RX_PAYLOAD = 0x55 , LWSSS_SER_RXPRE_CREATE_RESULT , LWSSS_SER_RXPRE_CONNSTATE , LWSSS_SER_RXPRE_TXCR_UPDATE ,
  LWSSS_SER_RXPRE_METADATA , LWSSS_SER_RXPRE_TLSNEG_ENCLAVE_SIGN , LWSSS_SER_RXPRE_PERF , LWSSS_SER_TXPRE_STREAMTYPE = 0xaa ,
  LWSSS_SER_TXPRE_ONWARD_CONNECT , LWSSS_SER_TXPRE_DESTROYING , LWSSS_SER_TXPRE_TX_PAYLOAD , LWSSS_SER_TXPRE_METADATA ,
  LWSSS_SER_TXPRE_TXCR_UPDATE , LWSSS_SER_TXPRE_TIMEOUT_UPDATE , LWSSS_SER_TXPRE_PAYLOAD_LENGTH_HINT , LWSSS_SER_TXPRE_TLSNEG_ENCLAVE_SIGNED ,
  LWSSS_SER_TXPRE_LINK_VALIDITY_PROBE
}
enum  lws_ss_conn_states_t {
  LPCSPROX_WAIT_INITIAL_TX = 1 , LPCSPROX_REPORTING_FAIL , LPCSPROX_REPORTING_OK , LPCSPROX_OPERATIONAL ,
  LPCSPROX_DESTROYED , LPCSCLI_SENDING_INITIAL_TX , LPCSCLI_WAITING_CREATE_RESULT , LPCSCLI_LOCAL_CONNECTED ,
  LPCSCLI_ONWARD_CONNECT , LPCSCLI_OPERATIONAL
}
enum  {
  LWSSSS_LLM_CHANNEL_REQ = 0xf0 , LWSSSS_LLM_CHANNEL_ACK , LWSSSS_LLM_CHANNEL_NACK , LWSSSS_LLM_CHANNEL_CLOSE ,
  LWSSSS_LLM_CHANNEL_CLOSE_ACK , LWSSSS_LLM_MUX , LWSSSS_LLM_PING , LWSSSS_LLM_PONG ,
  LWSSSS_LLM_PONGACK , LWSSSS_LLM_RESET_TRANSPORT
}
enum  lwstmc_parser {
  LWSTMCPAR_CMD , LWSTMCPAR_CHIDX_DONE , LWSTMCPAR_CHIDX , LWSTMCPAR_PLENH ,
  LWSTMCPAR_PLENL , LWSTMCPAR_PAY , LWSTMCPAR_T64_1 , LWSTMCPAR_T64_2
}
enum  {
  LWSTMC_PENDING_CREATE_CHANNEL , LWSTMC_AWAITING_CREATE_CHANNEL_ACK , LWSTMC_PENDING_CREATE_CHANNEL_NACK , LWSTMC_PENDING_CREATE_CHANNEL_ACK ,
  LWSTMC_OPERATIONAL , LWSTMC_PENDING_CLOSE_CHANNEL , LWSTMC_AWAITING_CLOSE_CHANNEL_ACK , LWSTMC_PENDING_CLOSE_CHANNEL_ACK
}
enum  { LWSTM_TRANSPORT_DOWN , LWSTM_OPERATIONAL }

Functions

lws_transport_mux_t * lws_transport_mux_create (struct lws_context *cx, lws_transport_info_t *info, void *txp_handle)
void lws_transport_mux_destroy (lws_transport_mux_t **tm)
void lws_transport_mux_request_tx (lws_transport_mux_t *tm)
int lws_transport_mux_rx_parse (lws_transport_mux_t *tm, const uint8_t *buf, size_t len, const lws_txp_mux_parse_cbs_t *cbs)
int lws_transport_mux_pending (lws_transport_mux_t *tm, uint8_t *buf, size_t *len, const lws_txp_mux_parse_cbs_t *cbs)

Variables

LWS_VISIBLE LWS_EXTERN_FOR_DATA const lws_transport_client_ops_t lws_transport_mux_client_ops
LWS_VISIBLE LWS_EXTERN_FOR_DATA const lws_transport_proxy_ops_t lws_transport_mux_proxy_ops
LWS_VISIBLE LWS_EXTERN_FOR_DATA const lws_transport_client_ops_t lws_txp_inside_sspc
LWS_VISIBLE LWS_EXTERN_FOR_DATA const lws_transport_proxy_ops_t lws_txp_inside_proxy

Data Structure Documentation

◆ lws_txp_path_client

struct lws_txp_path_client

Definition at line 334 of file lws-secure-streams-serialization.h.

Collaboration diagram for lws_txp_path_client:
Data Fields
const struct lws_transport_client_ops * ops_in
lws_transport_priv_t priv_in
const struct lws_transport_client_ops * ops_onw
lws_transport_priv_t priv_onw
struct lws_transport_mux * mux

◆ lws_txp_path_proxy

struct lws_txp_path_proxy

Definition at line 342 of file lws-secure-streams-serialization.h.

Collaboration diagram for lws_txp_path_proxy:
Data Fields
const struct lws_transport_proxy_ops * ops_in
lws_transport_priv_t priv_in
const struct lws_transport_proxy_ops * ops_onw
lws_transport_priv_t priv_onw
struct lws_transport_mux * mux

◆ lws_transport_mux_ch

struct lws_transport_mux_ch

Definition at line 482 of file lws-secure-streams-serialization.h.

Collaboration diagram for lws_transport_mux_ch:
Data Fields
lws_dll2_t list
lws_dll2_t list_pending_tx
lws_transport_priv_t priv
lws_sorted_usec_list_t sul
void * opaque
lws_mux_ch_idx_t ch_idx
uint8_t state
uint8_t server:1

◆ lws_transport_info

struct lws_transport_info

Definition at line 503 of file lws-secure-streams-serialization.h.

Collaboration diagram for lws_transport_info:
Data Fields
uint32_t ping_interval_us

us inbetween transport mux sending pings on transport

uint32_t pong_grace_us

us we should wait for pong before assuming transport down

lws_txp_path_client_t txp_cpath
lws_txp_path_proxy_t txp_ppath
struct lws_transport_info * onward_txp_info
uint32_t flags

◆ lws_transport_mux

struct lws_transport_mux

Definition at line 517 of file lws-secure-streams-serialization.h.

Collaboration diagram for lws_transport_mux:
Data Fields
struct lws_context * cx
lws_transport_info_t info
lws_sorted_usec_list_t sul_ping
void * txp_handle
void * txp_aux
uint64_t us_ping_in
uint64_t us_ping_out
uint64_t us_unixtime_peer
uint64_t us_unixtime_peer_loc
uint64_t mp_time
uint64_t mp_time1
enum lwstmc_parser mp_state
uint32_t mp_pay
uint8_t mp_cmd
lws_mux_ch_idx_t mp_idx
uint8_t mp_ctr
uint32_t _open[LWS_MUCH_RANGE/32]
uint32_t fin[LWS_MUCH_RANGE/32]
lws_dll2_owner_t pending_tx
lws_dll2_owner_t owner
uint8_t link_state
uint8_t issue_ping:1
uint8_t issue_pong:1
uint8_t issue_pongack:1
uint8_t awaiting_pong:1
uint8_t mp_discard:1

the payload of the mux frame we are parsing is being dropped, because its channel was not open when the frame started

Macro Definition Documentation

◆ LWSSSS_VERSION

#define LWSSSS_VERSION   1

Definition at line 38 of file lws-secure-streams-serialization.h.

◆ LWS_MUCH_RANGE

#define LWS_MUCH_RANGE   256

Definition at line 462 of file lws-secure-streams-serialization.h.

◆ LWS_TRANSPORT_MUXCH_MAGIC

#define LWS_TRANSPORT_MUXCH_MAGIC   LWS_FOURCC('T', 'm', 'C', 'h')

Definition at line 479 of file lws-secure-streams-serialization.h.

◆ assert_is_tmch

#define assert_is_tmch ( _tm)
Value:
#define lws_assert_fourcc(_a, _b)
Definition lws-misc.h:1747
#define LWS_TRANSPORT_MUXCH_MAGIC

Definition at line 480 of file lws-secure-streams-serialization.h.

◆ LWSTMINFO_SERVER

#define LWSTMINFO_SERVER   (1 << 0)

Definition at line 501 of file lws-secure-streams-serialization.h.

◆ LWS_TRANSPORT_MUX_MAGIC

#define LWS_TRANSPORT_MUX_MAGIC   LWS_FOURCC('I', 's', 'T', 'M')

Definition at line 514 of file lws-secure-streams-serialization.h.

◆ assert_is_tm

#define assert_is_tm ( _tm)
Value:

Definition at line 515 of file lws-secure-streams-serialization.h.

◆ lws_transport_path_client_dump

#define lws_transport_path_client_dump ( _a,
_b )

Definition at line 567 of file lws-secure-streams-serialization.h.

◆ lws_transport_path_proxy_dump

#define lws_transport_path_proxy_dump ( _a,
_b )

Definition at line 568 of file lws-secure-streams-serialization.h.

Typedef Documentation

◆ lws_transport_priv_t

typedef void* lws_transport_priv_t

Definition at line 313 of file lws-secure-streams-serialization.h.

◆ lws_txp_path_client_t

◆ lws_txp_path_proxy_t

◆ lws_transport_client_ops_t

◆ lws_transport_proxy_ops_t

◆ lws_mux_ch_idx_t

Definition at line 461 of file lws-secure-streams-serialization.h.

◆ lws_transport_mux_ch_t

◆ lws_transport_info_t

◆ lws_transport_mux_t

◆ lws_txp_mux_parse_cbs_t

Enumeration Type Documentation

◆ lws_sss_cmds_t

Enumerator
LWSSS_SER_RXPRE_RX_PAYLOAD 
LWSSS_SER_RXPRE_CREATE_RESULT 
LWSSS_SER_RXPRE_CONNSTATE 
LWSSS_SER_RXPRE_TXCR_UPDATE 
LWSSS_SER_RXPRE_METADATA 
LWSSS_SER_RXPRE_TLSNEG_ENCLAVE_SIGN 
LWSSS_SER_RXPRE_PERF 
LWSSS_SER_TXPRE_STREAMTYPE 
LWSSS_SER_TXPRE_ONWARD_CONNECT 
LWSSS_SER_TXPRE_DESTROYING 
LWSSS_SER_TXPRE_TX_PAYLOAD 
LWSSS_SER_TXPRE_METADATA 
LWSSS_SER_TXPRE_TXCR_UPDATE 
LWSSS_SER_TXPRE_TIMEOUT_UPDATE 
LWSSS_SER_TXPRE_PAYLOAD_LENGTH_HINT 
LWSSS_SER_TXPRE_TLSNEG_ENCLAVE_SIGNED 
LWSSS_SER_TXPRE_LINK_VALIDITY_PROBE 

Definition at line 40 of file lws-secure-streams-serialization.h.

40 {
41 /*
42 * This is the Serialized Serure Streams framing. It's sufficient to
43 * carry all SS API actions over a point-to-point bytestream between
44 * an SSPC client and an SS oroxy, in both directions.
45 *
46 * These serialized streams may be multiplexed by the transport (eg,
47 * for unix domain sockets transport, each SS opens its own UDS socket
48 * to the proxy) or via lws_transport_mux framing encapsulation.
49 *
50 *
51 * Framing for Proxy -> Client direction
52 */
53
55 /*
56 * Proxied rx
57 *
58 * - 0: LWSSS_SER_RXPRE_RX_PAYLOAD
59 * - 1: 2 byte MSB-first rest-of-frame length
60 * - 3: 4-byte MSB-first flags
61 * - 7: 4-byte MSB-first us between inbound read and wrote to client
62 * - 11: 8-byte MSB-first us resolution unix time proxy wrote to client
63 * - 17: (rideshare name len + rideshare name if flags &
64 * LWSSS_FLAG_RIDESHARE) payload
65 */
67 /*
68 * Proxied connection setup result
69 *
70 * - 0: LWSSS_SER_RXPRE_CREATE_RESULT
71 * - 1: 2 byte MSB-first rest-of-frame length (at least 00, 05)
72 * - 3: 1 byte result, 0 = success. On failure, the client closes
73 * the connection.
74 * - 4: 4 byte MSB-first client dsh allocation recommended for the
75 * stream type, from policy (introduced in SSSv1)
76 * - 8: if present, comma-sep list of rideshare types from policy
77 */
79 /*
80 * Proxied state (8 or 11 byte packet)
81 *
82 * - 0: LWSSS_SER_RXPRE_CONNSTATE
83 * - 1: 00, 05 if state < 256, else 00, 08
84 * - 3: 1 byte state index if state < 256, else 4-byte MSB-first
85 * state index
86 * - 4 or 7: 4-byte MSB-first ordinal
87 */
89 /*
90 * Proxied tx credit
91 *
92 * - 0: LWSSS_SER_RXPRE_TXCR_UPDATE
93 * - 1: 00, 04
94 * - 3: 4-byte MSB-first addition tx credit bytes
95 */
97 /*
98 * Proxied rx metadata
99 *
100 * - 0: LWSSS_SER_RXPRE_METADATA
101 * - 1: 2-byte MSB-first rest-of-frame length
102 * - 3: 1-byte metadata name length
103 * - 4: metadata name
104 * - ...: metadata value (for rest of packet)
105 */
107 /* reserved */
109 /*
110 * Proxied performance information
111 *
112 * - 0: LWSSS_SER_RXPRE_PERF
113 * - 1: 2-byte MSB-first rest-of-frame length
114 * - 3: ... performance JSON (for rest of packet)
115 */
116
117 /*
118 * Framing for Client -> Proxy direction
119 */
120
122 /*
123 * Proxied connection setup
124 *
125 * - 0: LWSSS_SER_TXPRE_STREAMTYPE
126 * - 1: 2-byte MSB-first rest-of-frame length
127 * - 3: 1-byte Client SSS protocol version (introduced in SSSv1)
128 * - 4: 4-byte Client PID (introduced in SSSv1)
129 * - 8: 4-byte MSB-first initial tx credit
130 * - 12: the streamtype name with no NUL
131 */
133 /*
134 * Proxied request for onward connection
135 *
136 * - 0: LWSSS_SER_TXPRE_ONWARD_CONNECT
137 * - 1: 00, 00
138 */
140 /*
141 * Proxied secure stream destroy
142 *
143 * - 0: LWSSS_SER_TXPRE_DESTROYING
144 * - 1: 00, 00
145 */
147 /*
148 * Proxied tx
149 *
150 * - 0: LWSSS_SER_TXPRE_TX_PAYLOAD
151 * - 1: 2 byte MSB-first rest-of-frame length
152 * - 3: 4-byte MSB-first flags
153 * - 7: 4-byte MSB-first us between client requested write and wrote
154 * to proxy
155 * - 11: 8-byte MSB-first us resolution unix time client wrote to proxy
156 * - 19: ...payload (for rest of packet)
157 */
159 /*
160 * Proxied metadata - sent when one metadata item set clientside
161 *
162 * - 0: LWSSS_SER_TXPRE_METADATA
163 * - 1: 2-byte MSB-first rest-of-frame length
164 * - 3: 1-byte metadata name length
165 * - 4: metadata name
166 * - ...: metadata value (for rest of packet)
167 */
169 /*
170 * TX credit management - sent when using tx credit apis, cf METADATA
171 *
172 * - 0: LWSSS_SER_TXPRE_TXCR_UPDATE
173 * - 1: 2-byte MSB-first rest-of-frame length 00, 04
174 * - 3: 4-byte additional tx credit adjust value
175 */
177 /*
178 * Stream timeout management - forwarded when user applying or
179 * cancelling t.o.
180 *
181 * - 0: LWSSS_SER_TXPRE_TIMEOUT_UPDATE
182 * - 1: 2-byte MSB-first rest-of-frame length 00, 04
183 * - 3: 4-byte MSB-first unsigned 32-bit timeout,
184 * 0 = use policy, -1 = cancel
185 */
187 /*
188 * Passing up payload length hint
189 *
190 * - 0: LWSSS_SER_TXPRE_PAYLOAD_LENGTH_HINT
191 * - 1: 2-byte MSB-first rest-of-frame length 00, 04
192 * - 3: 4-byte MSB-first unsigned 32-bit payload length hint
193 */
195 /* reserved */
@ LWSSS_SER_TXPRE_TLSNEG_ENCLAVE_SIGNED

◆ lws_ss_conn_states_t

Enumerator
LPCSPROX_WAIT_INITIAL_TX 
LPCSPROX_REPORTING_FAIL 
LPCSPROX_REPORTING_OK 
LPCSPROX_OPERATIONAL 
LPCSPROX_DESTROYED 
LPCSCLI_SENDING_INITIAL_TX 
LPCSCLI_WAITING_CREATE_RESULT 
LPCSCLI_LOCAL_CONNECTED 
LPCSCLI_ONWARD_CONNECT 
LPCSCLI_OPERATIONAL 

Definition at line 201 of file lws-secure-streams-serialization.h.

201 {
202 LPCSPROX_WAIT_INITIAL_TX = 1, /* after connect, must send streamtype */
203 LPCSPROX_REPORTING_FAIL, /* stream creation failed, wait to to tell */
204 LPCSPROX_REPORTING_OK, /* stream creation succeeded, wait to to tell */
205 LPCSPROX_OPERATIONAL, /* ready for payloads */
207
208 LPCSCLI_SENDING_INITIAL_TX, /* after connect, must send streamtype */
209 LPCSCLI_WAITING_CREATE_RESULT, /* wait to hear if proxy ss create OK */
210 LPCSCLI_LOCAL_CONNECTED, /* we are in touch with the proxy */
211 LPCSCLI_ONWARD_CONNECT, /* request onward ss connection */
212 LPCSCLI_OPERATIONAL, /* ready for payloads */
213

◆ anonymous enum

anonymous enum
Enumerator
LWSSSS_LLM_CHANNEL_REQ 

Either side proposes to open a new mux channel

  • 0: LWSSSS_LLM_CHANNEL_REQ
  • 1: 1-byte mux channel index, client initiated: first free from zero up, server initiated: first free from 0xff down
LWSSSS_LLM_CHANNEL_ACK 

Positive response to earlier LWSSSS_LLM_CHANNEL_REQ

  • 0: LWSSSS_LLM_CHANNEL_ACK
  • 1: 1-byte mux channel index, from the reqyuest
LWSSSS_LLM_CHANNEL_NACK 

Negative response to earlier LWSSSS_LLM_CHANNEL_REQ. This also acts as a FIN if one arrives on a channel unsolicited.

  • 0: LWSSSS_LLM_CHANNEL_NACK
  • 1: 1-byte mux channel index, from the reqyuest
LWSSSS_LLM_CHANNEL_CLOSE 

Either side informs peer it is closing a mux channel

  • 0: LWSSSS_LLM_CHANNEL_CLOSE
  • 1: 1-byte mux channel index
LWSSSS_LLM_CHANNEL_CLOSE_ACK 

Peer acknowledges closing a mux channel, so it can be reused

  • 0: LWSSSS_LLM_CHANNEL_CLOSE_ACK
  • 1: 1-byte mux channel index
LWSSSS_LLM_MUX 

Encapsulate data on an open mux channel

  • 0: LWSSSS_LLM_MUX
  • 1: 1-byte mux channel index
  • 2: 2-byte MSB-first rest-of-frame length
  • 4... mux payload
LWSSSS_LLM_PING 

Either side wants to validate communication on mux transport

  • 0: LWSSSS_LLM_PING
  • 1: 8-byte MSB-first us resolution unix time this was issued
LWSSSS_LLM_PONG 

Either side responds to peer's PING.

  • 0: LWSSSS_LLM_PONG
  • 1: 8-byte MSB-first us resolution unix time from PING
  • 9: 8-byte MSB-first us resolution unix time this PONG sent
LWSSSS_LLM_PONGACK 

When the original PING sender receives a PONG, it immediately sends a PINGACK, which is not replied to. This allows the other side to also know the connection is valid in both directions, with only one side needing to issue PINGs.

It also synchronizes both sides' understanding of the transport validity in one transaction.

  • 0: LWSSSS_LLM_PONGACK
  • 1: 8-byte MSB-first us resolution unix time from PING
LWSSSS_LLM_RESET_TRANSPORT 

Either side can issue this to indicate they no longer trust the transport link. They should close all their channels and enter a state trying to resync using 3-way PINGs

Definition at line 230 of file lws-secure-streams-serialization.h.

◆ lwstmc_parser

Enumerator
LWSTMCPAR_CMD 
LWSTMCPAR_CHIDX_DONE 
LWSTMCPAR_CHIDX 
LWSTMCPAR_PLENH 
LWSTMCPAR_PLENL 
LWSTMCPAR_PAY 
LWSTMCPAR_T64_1 
LWSTMCPAR_T64_2 

Definition at line 448 of file lws-secure-streams-serialization.h.

◆ anonymous enum

anonymous enum
Enumerator
LWSTMC_PENDING_CREATE_CHANNEL 
LWSTMC_AWAITING_CREATE_CHANNEL_ACK 
LWSTMC_PENDING_CREATE_CHANNEL_NACK 
LWSTMC_PENDING_CREATE_CHANNEL_ACK 
LWSTMC_OPERATIONAL 
LWSTMC_PENDING_CLOSE_CHANNEL 
LWSTMC_AWAITING_CLOSE_CHANNEL_ACK 
LWSTMC_PENDING_CLOSE_CHANNEL_ACK 

Definition at line 466 of file lws-secure-streams-serialization.h.

466 {
467 /* lws_transport_mux_ch_t created */
468 LWSTMC_PENDING_CREATE_CHANNEL, /* waiting to send create channel */
469 LWSTMC_AWAITING_CREATE_CHANNEL_ACK, /* sent create ch, awaiting ack */
470 LWSTMC_PENDING_CREATE_CHANNEL_NACK, /* waiting to send create ch ack */
471 LWSTMC_PENDING_CREATE_CHANNEL_ACK, /* waiting to send create ch ack */
472 LWSTMC_OPERATIONAL, /* had ack, we are operational */
473 LWSTMC_PENDING_CLOSE_CHANNEL, /* waiting to send close channel */
474 LWSTMC_AWAITING_CLOSE_CHANNEL_ACK, /* sent close ch, awaiting ack */
475 LWSTMC_PENDING_CLOSE_CHANNEL_ACK, /* waiting to send close ch ack */
476 /* lws_transport_mux_ch_t destroyed */
477};

◆ anonymous enum

anonymous enum
Enumerator
LWSTM_TRANSPORT_DOWN 
LWSTM_OPERATIONAL 

Definition at line 496 of file lws-secure-streams-serialization.h.

496 { /* states of the transport */
499};

Function Documentation

◆ lws_transport_mux_create()

lws_transport_mux_t * lws_transport_mux_create ( struct lws_context * cx,
lws_transport_info_t * info,
void * txp_handle )

◆ lws_transport_mux_destroy()

void lws_transport_mux_destroy ( lws_transport_mux_t ** tm)

◆ lws_transport_mux_request_tx()

void lws_transport_mux_request_tx ( lws_transport_mux_t * tm)

◆ lws_transport_mux_rx_parse()

int lws_transport_mux_rx_parse ( lws_transport_mux_t * tm,
const uint8_t * buf,
size_t len,
const lws_txp_mux_parse_cbs_t * cbs )

◆ lws_transport_mux_pending()

int lws_transport_mux_pending ( lws_transport_mux_t * tm,
uint8_t * buf,
size_t * len,
const lws_txp_mux_parse_cbs_t * cbs )

Variable Documentation

◆ lws_transport_mux_client_ops

LWS_VISIBLE LWS_EXTERN_FOR_DATA const lws_transport_client_ops_t lws_transport_mux_client_ops

Definition at line 600 of file lws-secure-streams-serialization.h.

◆ lws_transport_mux_proxy_ops

LWS_VISIBLE LWS_EXTERN_FOR_DATA const lws_transport_proxy_ops_t lws_transport_mux_proxy_ops

Definition at line 601 of file lws-secure-streams-serialization.h.

◆ lws_txp_inside_sspc

◆ lws_txp_inside_proxy