| 
    libwebsockets
    
   Lightweight C library for HTML5 websockets 
   | 
 
 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 | 
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) | 
| struct lws_txp_path_client | 
Definition at line 335 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 | |
| struct lws_txp_path_proxy | 
Definition at line 343 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 | |
| struct lws_transport_client_ops | 
Definition at line 355 of file lws-secure-streams-serialization.h.
 Collaboration diagram for lws_transport_client_ops:| Data Fields | ||
|---|---|---|
| const char * | name | |
| int(*)(lws_txp_path_client_t *path, struct lws_sspc_handle *h) | event_retry_connect | 
 Attempt to create a new connection / channel to the proxy  | 
| lws_ss_state_return_t(*)(struct lws_sspc_handle *h, int disposition) | event_connect_disposition | 
 Connection attempt result, disposition 9 = success, else failed  | 
| void(*)(lws_transport_priv_t priv) | req_write | 
 Request a write to the proxy on this channel  | 
| int(*)(lws_transport_priv_t priv, uint8_t *buf, size_t len) | _write | 
 Write the requested data on the channel to the proxy *** MUST have LWS_PRE usable behind buf  | 
| lws_ss_state_return_t(*)(lws_transport_priv_t priv, const uint8_t *buf, size_t len) | event_read | 
 len bytes at buf have been received  | 
| void(*)(lws_transport_priv_t priv) | lost_coherence | 
 report that the framing inside the mux channel is broken  | 
| void(*)(lws_transport_priv_t priv) | _close | 
 Close the channel to the proxy  | 
| void(*)(lws_transport_priv_t priv) | event_stream_up | 
 Called when a new channel to the proxy is acknowledged as up  | 
| void(*)(lws_transport_priv_t priv) | event_client_up | 
 Called when a client channel is acknowledged as up  | 
| lws_ss_state_return_t(*)(struct lws_sspc_handle *h, size_t metadata_limit) | event_can_write | 
 Called when possible to write on the transport, after req_write  | 
| lws_ss_state_return_t(*)(lws_transport_priv_t priv) | event_closed | 
 we notice an onward proxy connection had closed  | 
| uint32_t | flags | 
 Used for DSH creation flags  | 
| uint32_t | dsh_splitat | |
| struct lws_transport_proxy_ops | 
Definition at line 394 of file lws-secure-streams-serialization.h.
 Collaboration diagram for lws_transport_proxy_ops:| Data Fields | ||
|---|---|---|
| const char * | name | |
| int(*)(struct lws_context *context, const struct lws_transport_proxy_ops *txp_ops_inward, lws_transport_priv_t txp_priv_inward, lws_txp_path_proxy_t *txp_ppath, const void *aux, const char *bind, int port) | init_proxy_server | 
 Instantiate a proxy transport... bind/port are as shown for wsi transport, but may be overloaded to provide transport-specific init  | 
| int(*)(struct lws_context *context) | destroy_proxy_server | |
| lws_ss_state_return_t(*)(struct lws_context *cx, const struct lws_transport_proxy_ops *txp_ops_inward, lws_transport_priv_t txp_priv_inward, struct lws_sss_proxy_conn **conn, lws_transport_priv_t txp_priv) | event_new_conn | 
 proxy has received a new connection from client  | 
| void(*)(lws_transport_priv_t priv, struct lws_ss_handle *h) | event_onward_bind | 
 Called when the proxy creates an onward SS for a client channel  | 
| void(*)(lws_transport_priv_t priv) | proxy_req_write | 
 Request a write to the proxy on this channel  | 
| lws_ss_state_return_t(*)(lws_transport_priv_t priv) | event_proxy_can_write | 
 Transport can now be written on, after earlier proxy_req_write  | 
| int(*)(lws_transport_priv_t priv, uint8_t *buf, size_t *len) | proxy_write | 
 Write the requested data on the channel to the proxy *** MUST have LWS_PRE usable behind buf. May do partial writes, len is set on return to actual length written  | 
| lws_ss_state_return_t(*)(struct lws_sss_proxy_conn *conn) | event_close_conn | 
 proxy sees an existing conn closes  | 
| lws_ss_state_return_t(*)(struct lws_sss_proxy_conn *conn) | close_conn | 
 called to handle closure of underlying transport  | 
| lws_ss_state_return_t(*)(lws_transport_priv_t priv, const uint8_t *buf, size_t len) | proxy_read | |
| void(*)(lws_transport_priv_t priv) | event_client_up | 
 Called when the proxy has accepted a new client conn  | 
| int(*)(lws_transport_priv_t priv) | proxy_check_write_more | 
 optional, allows checking if we can write again  | 
| uint32_t | flags | |
| struct lws_transport_mux_ch | 
Definition at line 483 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 | |
| struct lws_transport_info | 
Definition at line 504 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 | |
| struct lws_transport_mux | 
Definition at line 518 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 | |
| struct lws_txp_mux_parse_cbs | 
Definition at line 573 of file lws-secure-streams-serialization.h.
 Collaboration diagram for lws_txp_mux_parse_cbs:| Data Fields | ||
|---|---|---|
| int(*)(lws_transport_mux_ch_t *tmc, const uint8_t *buf, size_t len) | payload | |
| int(*)(lws_transport_mux_ch_t *tmc, int determination) | ch_opens | |
| int(*)(lws_transport_mux_ch_t *tmc) | ch_closes | |
| void(*)(lws_transport_mux_t *tm) | txp_req_write | |
| int(*)(lws_transport_mux_ch_t *tmc) | txp_can_write | |
| #define LWSSSS_VERSION 1 | 
Definition at line 38 of file lws-secure-streams-serialization.h.
| #define LWS_MUCH_RANGE 256 | 
Definition at line 463 of file lws-secure-streams-serialization.h.
| #define LWS_TRANSPORT_MUXCH_MAGIC LWS_FOURCC('T', 'm', 'C', 'h') | 
Definition at line 480 of file lws-secure-streams-serialization.h.
| #define assert_is_tmch | ( | _tm | ) | 
Definition at line 481 of file lws-secure-streams-serialization.h.
| #define LWSTMINFO_SERVER (1 << 0) | 
Definition at line 502 of file lws-secure-streams-serialization.h.
| #define LWS_TRANSPORT_MUX_MAGIC LWS_FOURCC('I', 's', 'T', 'M') | 
Definition at line 515 of file lws-secure-streams-serialization.h.
| #define assert_is_tm | ( | _tm | ) | 
Definition at line 516 of file lws-secure-streams-serialization.h.
| #define lws_transport_path_client_dump | ( | _a, | |
| _b ) | 
Definition at line 565 of file lws-secure-streams-serialization.h.
| #define lws_transport_path_proxy_dump | ( | _a, | |
| _b ) | 
Definition at line 566 of file lws-secure-streams-serialization.h.
| typedef void* lws_transport_priv_t | 
Definition at line 314 of file lws-secure-streams-serialization.h.
| 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 | 
Definition at line 462 of file lws-secure-streams-serialization.h.
| 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 | 
| enum lws_sss_cmds_t | 
Definition at line 40 of file lws-secure-streams-serialization.h.
| enum lws_ss_conn_states_t | 
Definition at line 202 of file lws-secure-streams-serialization.h.
| anonymous enum | 
Definition at line 231 of file lws-secure-streams-serialization.h.
| enum 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 449 of file lws-secure-streams-serialization.h.
| anonymous enum | 
Definition at line 467 of file lws-secure-streams-serialization.h.
| anonymous enum | 
| Enumerator | |
|---|---|
| LWSTM_TRANSPORT_DOWN | |
| LWSTM_OPERATIONAL | |
Definition at line 497 of file lws-secure-streams-serialization.h.
| 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 ) | 
      
  | 
  extern | 
Referenced by lws_transport_mux_pending().
      
  | 
  extern | 
Referenced by lws_transport_mux_pending().
      
  | 
  extern | 
Referenced by lws_transport_mux_pending().
      
  | 
  extern | 
Referenced by lws_transport_mux_pending().