27enum lws_event_lib_ops_flags {
28 LELOF_ISPOLL = (1 >> 0),
29 LELOF_DESTROY_FINAL = (1 >> 1),
33 LWS_EV_READ = (1 << 0),
34 LWS_EV_WRITE = (1 << 1),
35 LWS_EV_START = (1 << 2),
36 LWS_EV_STOP = (1 << 3),
42 int (*init_context)(
struct lws_context *context,
45 int (*destroy_context1)(
struct lws_context *context);
47 int (*destroy_context2)(
struct lws_context *context);
49 int (*init_vhost_listen_wsi)(
struct lws *wsi);
51 int (*init_pt)(
struct lws_context *context,
void *_loop,
int tsi);
53 int (*wsi_logical_close)(
struct lws *wsi);
55 int (*check_client_connect_ok)(
struct lws *wsi);
57 void (*close_handle_manually)(
struct lws *wsi);
59 int (*sock_accept)(
struct lws *wsi);
61 void (*io)(
struct lws *wsi,
unsigned int flags);
63 void (*run_pt)(
struct lws_context *context,
int tsi);
65 void (*destroy_pt)(
struct lws_context *context,
int tsi);
67 void (*destroy_wsi)(
struct lws *wsi);
69 int (*foreign_thread)(
struct lws_context *context,
int tsi);
73 uint16_t evlib_size_ctx;
74 uint16_t evlib_size_pt;
75 uint16_t evlib_size_vh;
76 uint16_t evlib_size_wsi;
79LWS_VISIBLE LWS_EXTERN
void *
80lws_evlib_wsi_to_evlib_pt(
struct lws *wsi);
82LWS_VISIBLE LWS_EXTERN
void *
83lws_evlib_tsi_to_evlib_pt(
struct lws_context *ctx,
int tsi);
89LWS_VISIBLE LWS_EXTERN
void *
90lws_realloc(
void *ptr,
size_t size,
const char *reason);
92LWS_VISIBLE LWS_EXTERN
void
93lws_vhost_destroy1(
struct lws_vhost *vh);
95LWS_VISIBLE LWS_EXTERN
void
99LWS_VISIBLE LWS_EXTERN
int
100lws_vhost_foreach_listen_wsi(
struct lws_context *cx,
void *arg,
101 lws_dll2_foreach_cb_t cb);
103struct lws_context_per_thread;
104LWS_VISIBLE LWS_EXTERN
void
105lws_service_do_ripe_rxflow(
struct lws_context_per_thread *pt);
107#if !defined(wsi_from_fd) && !defined(WIN32) && !defined(_WIN32)
109LWS_VISIBLE LWS_EXTERN
struct lws *
110wsi_from_fd(
const struct lws_context *context,
int fd);
113LWS_VISIBLE LWS_EXTERN
int
114_lws_plat_service_forced_tsi(
struct lws_context *context,
int tsi);
116LWS_VISIBLE LWS_EXTERN
void
117lws_context_destroy2(
struct lws_context *context);
119LWS_VISIBLE LWS_EXTERN
void
120lws_destroy_event_pipe(
struct lws *wsi);
122LWS_VISIBLE LWS_EXTERN
void
123__lws_close_free_wsi_final(
struct lws *wsi);
127struct lws_mutex_refcount {
128 pthread_mutex_t lock;
129 pthread_t lock_owner;
130 const char *last_lock_reason;
135LWS_VISIBLE LWS_EXTERN
void
136lws_mutex_refcount_assert_held(
struct lws_mutex_refcount *mr);
138LWS_VISIBLE LWS_EXTERN
void
139lws_mutex_refcount_init(
struct lws_mutex_refcount *mr);
141LWS_VISIBLE LWS_EXTERN
void
142lws_mutex_refcount_destroy(
struct lws_mutex_refcount *mr);
144LWS_VISIBLE LWS_EXTERN
void
145lws_mutex_refcount_lock(
struct lws_mutex_refcount *mr,
const char *reason);
147LWS_VISIBLE LWS_EXTERN
void
148lws_mutex_refcount_unlock(
struct lws_mutex_refcount *mr);
lws_close_status
Definition lws-ws-close.h:39
Definition lws-context-vhost.h:271
Definition lws-eventlib-exports.h:39