27 enum 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),
38 LWS_EV_PREPARE_DELETION = (1u << 31),
44 int (*init_context)(
struct lws_context *context,
47 int (*destroy_context1)(
struct lws_context *context);
49 int (*destroy_context2)(
struct lws_context *context);
51 int (*init_vhost_listen_wsi)(
struct lws *wsi);
53 int (*init_pt)(
struct lws_context *context,
void *_loop,
int tsi);
55 int (*wsi_logical_close)(
struct lws *wsi);
57 int (*check_client_connect_ok)(
struct lws *wsi);
59 void (*close_handle_manually)(
struct lws *wsi);
61 int (*sock_accept)(
struct lws *wsi);
63 void (*io)(
struct lws *wsi,
unsigned int flags);
65 void (*run_pt)(
struct lws_context *context,
int tsi);
67 void (*destroy_pt)(
struct lws_context *context,
int tsi);
69 void (*destroy_wsi)(
struct lws *wsi);
73 uint16_t evlib_size_ctx;
74 uint16_t evlib_size_pt;
75 uint16_t evlib_size_vh;
76 uint16_t evlib_size_wsi;
79 LWS_VISIBLE LWS_EXTERN
void *
80 lws_evlib_wsi_to_evlib_pt(
struct lws *wsi);
82 LWS_VISIBLE LWS_EXTERN
void *
83 lws_evlib_tsi_to_evlib_pt(
struct lws_context *ctx,
int tsi);
89 LWS_VISIBLE LWS_EXTERN
void *
90 lws_realloc(
void *ptr,
size_t size,
const char *reason);
92 LWS_VISIBLE LWS_EXTERN
void
93 lws_vhost_destroy1(
struct lws_vhost *vh);
95 LWS_VISIBLE LWS_EXTERN
void
99 LWS_VISIBLE LWS_EXTERN
int
100 lws_vhost_foreach_listen_wsi(
struct lws_context *cx,
void *arg,
101 lws_dll2_foreach_cb_t cb);
103 struct lws_context_per_thread;
104 LWS_VISIBLE LWS_EXTERN
void
105 lws_service_do_ripe_rxflow(
struct lws_context_per_thread *pt);
107 #if !defined(wsi_from_fd) && !defined(WIN32) && !defined(_WIN32)
109 LWS_VISIBLE LWS_EXTERN
struct lws *
110 wsi_from_fd(
const struct lws_context *context,
int fd);
113 LWS_VISIBLE LWS_EXTERN
int
114 _lws_plat_service_forced_tsi(
struct lws_context *context,
int tsi);
116 LWS_VISIBLE LWS_EXTERN
void
117 lws_context_destroy2(
struct lws_context *context);
119 LWS_VISIBLE LWS_EXTERN
void
120 lws_destroy_event_pipe(
struct lws *wsi);
122 LWS_VISIBLE LWS_EXTERN
void
123 __lws_close_free_wsi_final(
struct lws *wsi);
127 struct lws_mutex_refcount {
128 pthread_mutex_t lock;
129 pthread_t lock_owner;
130 const char *last_lock_reason;
135 LWS_VISIBLE LWS_EXTERN
void
136 lws_mutex_refcount_assert_held(
struct lws_mutex_refcount *mr);
138 LWS_VISIBLE LWS_EXTERN
void
139 lws_mutex_refcount_init(
struct lws_mutex_refcount *mr);
141 LWS_VISIBLE LWS_EXTERN
void
142 lws_mutex_refcount_destroy(
struct lws_mutex_refcount *mr);
144 LWS_VISIBLE LWS_EXTERN
void
145 lws_mutex_refcount_lock(
struct lws_mutex_refcount *mr,
const char *reason);
147 LWS_VISIBLE LWS_EXTERN
void
148 lws_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:41