25 #if defined(LWS_WITH_SPAWN)
27 #if defined(WIN32) || defined(_WIN32)
30 #include <sys/times.h>
53 LWS_VISIBLE LWS_EXTERN
int LWS_WARN_UNUSED_RESULT
66 LWS_VISIBLE LWS_EXTERN
size_t
84 LWS_VISIBLE LWS_EXTERN
size_t
94 LWS_VISIBLE LWS_EXTERN
size_t
108 LWS_VISIBLE LWS_EXTERN
int
120 LWS_VISIBLE LWS_EXTERN
void
133 LWS_VISIBLE LWS_EXTERN
void
145 #define lws_ptr_diff(head, tail) \
146 ((int)((char *)(head) - (char *)(tail)))
159 LWS_VISIBLE LWS_EXTERN
int
160 lws_snprintf(
char *str,
size_t size,
const char *format, ...) LWS_FORMAT(3);
172 LWS_VISIBLE LWS_EXTERN
char *
179 #define lws_strnncpy(dest, src, size1, destsize) \
180 lws_strncpy(dest, src, (size_t)(size1 + 1) < (size_t)(destsize) ? \
181 (size_t)(size1 + 1) : (size_t)(destsize))
196 LWS_VISIBLE LWS_EXTERN
const char *
197 lws_nstrstr(
const char *buf,
size_t len,
const char *name,
size_t nl);
221 LWS_VISIBLE LWS_EXTERN
const char *
241 LWS_VISIBLE LWS_EXTERN
int
261 LWS_VISIBLE LWS_EXTERN
int
281 LWS_VISIBLE LWS_EXTERN
int
297 LWS_VISIBLE LWS_EXTERN
int
298 lws_timingsafe_bcmp(
const void *a,
const void *b, uint32_t len);
310 LWS_VISIBLE LWS_EXTERN
size_t
319 LWS_VISIBLE LWS_EXTERN
int LWS_WARN_UNUSED_RESULT
326 LWS_VISIBLE LWS_EXTERN
const char * LWS_WARN_UNUSED_RESULT
335 LWS_VISIBLE LWS_EXTERN
void *
344 LWS_VISIBLE LWS_EXTERN
int
357 LWS_VISIBLE LWS_EXTERN
void
382 LWS_VISIBLE LWS_EXTERN
int LWS_WARN_UNUSED_RESULT
402 LWS_VISIBLE LWS_EXTERN
const char *
417 LWS_VISIBLE LWS_EXTERN
void
424 LWS_VISIBLE LWS_EXTERN
unsigned long
430 LWS_VISIBLE LWS_EXTERN lws_usec_t
442 LWS_VISIBLE LWS_EXTERN
struct lws_context * LWS_WARN_UNUSED_RESULT
454 LWS_VISIBLE LWS_EXTERN
int LWS_WARN_UNUSED_RESULT
466 LWS_VISIBLE LWS_EXTERN
int LWS_WARN_UNUSED_RESULT
476 LWS_VISIBLE LWS_EXTERN
struct lws * LWS_WARN_UNUSED_RESULT
485 LWS_VISIBLE LWS_EXTERN
struct lws * LWS_WARN_UNUSED_RESULT
500 LWS_VISIBLE LWS_EXTERN
void
510 LWS_VISIBLE LWS_EXTERN
const struct lws_udp * LWS_WARN_UNUSED_RESULT
513 LWS_VISIBLE LWS_EXTERN
void *
514 lws_get_opaque_parent_data(
const struct lws *wsi);
516 LWS_VISIBLE LWS_EXTERN
void
517 lws_set_opaque_parent_data(
struct lws *wsi,
void *data);
519 LWS_VISIBLE LWS_EXTERN
void *
520 lws_get_opaque_user_data(
const struct lws *wsi);
522 LWS_VISIBLE LWS_EXTERN
void
523 lws_set_opaque_user_data(
struct lws *wsi,
void *data);
525 LWS_VISIBLE LWS_EXTERN
int
526 lws_get_child_pending_on_writable(
const struct lws *wsi);
528 LWS_VISIBLE LWS_EXTERN
void
529 lws_clear_child_pending_on_writable(
struct lws *wsi);
531 LWS_VISIBLE LWS_EXTERN
int
532 lws_get_close_length(
struct lws *wsi);
534 LWS_VISIBLE LWS_EXTERN
unsigned char *
535 lws_get_close_payload(
struct lws *wsi);
547 LWS_VISIBLE LWS_EXTERN
557 LWS_VISIBLE LWS_EXTERN
void
565 LWS_RXFLOW_REASON_USER_BOOL = (1 << 0),
566 LWS_RXFLOW_REASON_HTTP_RXBUFFER = (1 << 6),
567 LWS_RXFLOW_REASON_H2_PPS_PENDING = (1 << 7),
569 LWS_RXFLOW_REASON_APPLIES = (1 << 14),
570 LWS_RXFLOW_REASON_APPLIES_ENABLE_BIT = (1 << 13),
571 LWS_RXFLOW_REASON_APPLIES_ENABLE = LWS_RXFLOW_REASON_APPLIES |
572 LWS_RXFLOW_REASON_APPLIES_ENABLE_BIT,
573 LWS_RXFLOW_REASON_APPLIES_DISABLE = LWS_RXFLOW_REASON_APPLIES,
574 LWS_RXFLOW_REASON_FLAG_PROCESS_NOW = (1 << 12),
597 LWS_VISIBLE LWS_EXTERN
int
609 LWS_VISIBLE LWS_EXTERN
void
632 LWS_VISIBLE LWS_EXTERN
size_t
635 #if defined(LWS_WITH_DIR)
646 } lws_dir_obj_type_t;
648 struct lws_dir_entry {
650 lws_dir_obj_type_t type;
654 lws_dir_callback_function(
const char *dirpath,
void *user,
655 struct lws_dir_entry *lde);
669 LWS_VISIBLE LWS_EXTERN
int
670 lws_dir(
const char *dirpath,
void *user, lws_dir_callback_function cb);
683 LWS_VISIBLE LWS_EXTERN
int
684 lws_dir_rm_rf_cb(
const char *dirpath,
void *user,
struct lws_dir_entry *lde);
693 typedef int (*lws_dir_glob_cb_t)(
void *data,
const char *path);
695 typedef struct lws_dir_glob {
697 lws_dir_glob_cb_t cb;
715 LWS_VISIBLE LWS_EXTERN
int
716 lws_dir_glob_cb(
const char *dirpath,
void *user,
struct lws_dir_entry *lde);
743 LWS_VISIBLE LWS_EXTERN
int
752 LWS_VISIBLE LWS_EXTERN
int
759 LWS_VISIBLE LWS_EXTERN
int
772 LWS_VISIBLE LWS_EXTERN
int
785 #if defined(LWS_WITH_TLS) && !defined(LWS_WITH_MBEDTLS)
792 LWS_VISIBLE LWS_EXTERN SSL*
793 lws_get_ssl(
struct lws *wsi);
796 LWS_VISIBLE LWS_EXTERN
void
797 lws_explicit_bzero(
void *p,
size_t len);
829 LWS_VISIBLE LWS_EXTERN
int
833 LWS_VISIBLE LWS_EXTERN
void
834 lws_ser_wu16be(uint8_t *b, uint16_t u);
836 LWS_VISIBLE LWS_EXTERN
void
837 lws_ser_wu32be(uint8_t *b, uint32_t u32);
839 LWS_VISIBLE LWS_EXTERN
void
840 lws_ser_wu64be(uint8_t *b, uint64_t u64);
842 LWS_VISIBLE LWS_EXTERN uint16_t
843 lws_ser_ru16be(
const uint8_t *b);
845 LWS_VISIBLE LWS_EXTERN uint32_t
846 lws_ser_ru32be(
const uint8_t *b);
848 LWS_VISIBLE LWS_EXTERN uint64_t
849 lws_ser_ru64be(
const uint8_t *b);
851 LWS_VISIBLE LWS_EXTERN
int
852 lws_vbi_encode(uint64_t value,
void *buf);
854 LWS_VISIBLE LWS_EXTERN
int
855 lws_vbi_decode(
const void *buf, uint64_t *value,
size_t len);
859 #if defined(LWS_WITH_SPAWN)
862 struct lws_spawn_piped;
865 struct _lws_siginfo_t {
868 typedef struct _lws_siginfo_t siginfo_t;
871 typedef void (*lsp_cb_t)(
void *opaque, lws_usec_t *accounting, siginfo_t *si,
892 struct lws_spawn_piped_info {
894 struct lws_vhost *vh;
895 struct lws *opt_parent;
897 const char *
const *exec_array;
899 const char *protocol_name;
900 const char *chroot_path;
903 struct lws_spawn_piped **plsp;
909 lws_usec_t timeout_us;
913 const struct lws_role_ops *ops;
915 uint8_t disable_ctrlc;
939 LWS_VISIBLE LWS_EXTERN
struct lws_spawn_piped *
940 lws_spawn_piped(
const struct lws_spawn_piped_info *lspi);
949 LWS_VISIBLE LWS_EXTERN
int
950 lws_spawn_piped_kill_child_process(
struct lws_spawn_piped *lsp);
965 LWS_VISIBLE LWS_EXTERN
void
966 lws_spawn_stdwsi_closed(
struct lws_spawn_piped *lsp,
struct lws *wsi);
978 LWS_VISIBLE LWS_EXTERN
int
979 lws_spawn_get_stdfd(
struct lws *wsi);
984 const char *layers_path;
985 const char *overlay_path;
991 #if defined(__linux__)
992 const char *layers[4];
1029 LWS_VISIBLE LWS_EXTERN
int
1044 LWS_VISIBLE LWS_EXTERN
int
LWS_VISIBLE LWS_EXTERN void lws_cmdline_option_handle_builtin(int argc, const char **argv, struct lws_context_creation_info *info)
LWS_VISIBLE LWS_EXTERN int lws_hex_to_byte_array(const char *h, uint8_t *dest, int max)
LWS_VISIBLE LWS_EXTERN struct lws_context *LWS_WARN_UNUSED_RESULT lws_get_context(const struct lws *wsi)
LWS_VISIBLE LWS_EXTERN void lws_buflist_describe(struct lws_buflist **head, void *id, const char *reason)
LWS_VISIBLE LWS_EXTERN int lws_open(const char *__file, int __oflag,...)
LWS_VISIBLE LWS_EXTERN int lws_wsi_tsi(struct lws *wsi)
LWS_VISIBLE LWS_EXTERN const char * lws_nstrstr(const char *buf, size_t len, const char *name, size_t nl)
LWS_VISIBLE LWS_EXTERN lws_usec_t lws_now_usecs(void)
LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT lws_parse_uri(char *p, const char **prot, const char **ads, int *port, const char **path)
LWS_VISIBLE LWS_EXTERN int lws_snprintf(char *str, size_t size, const char *format,...) LWS_FORMAT(3)
LWS_VISIBLE LWS_EXTERN char * lws_strncpy(char *dest, const char *src, size_t size)
LWS_VISIBLE LWS_EXTERN int lws_is_ssl(struct lws *wsi)
LWS_VISIBLE LWS_EXTERN unsigned long lws_now_secs(void)
LWS_VISIBLE LWS_EXTERN void lws_get_effective_uid_gid(struct lws_context *context, int *uid, int *gid)
LWS_VISIBLE LWS_EXTERN size_t lws_get_random(struct lws_context *context, void *buf, size_t len)
LWS_VISIBLE LWS_EXTERN int lws_buflist_linear_copy(struct lws_buflist **head, size_t ofs, uint8_t *buf, size_t len)
LWS_VISIBLE LWS_EXTERN int lws_is_cgi(struct lws *wsi)
LWS_VISIBLE LWS_EXTERN const struct lws_udp *LWS_WARN_UNUSED_RESULT lws_get_udp(const struct lws *wsi)
LWS_VISIBLE LWS_EXTERN void lws_rx_flow_allow_all_protocol(const struct lws_context *context, const struct lws_protocols *protocol)
LWS_VISIBLE LWS_EXTERN size_t lws_buflist_next_segment_len(struct lws_buflist **head, uint8_t **buf)
size_t lws_get_allocated_heap(void)
LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT lws_get_count_threads(struct lws_context *context)
LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT lws_get_vhost_listen_port(struct lws_vhost *vhost)
LWS_VISIBLE LWS_EXTERN size_t lws_remaining_packet_payload(struct lws *wsi)
LWS_VISIBLE LWS_EXTERN const char * lws_cmdline_option(int argc, const char **argv, const char *val)
LWS_VISIBLE LWS_EXTERN size_t lws_buflist_total_len(struct lws_buflist **head)
LWS_VISIBLE LWS_EXTERN struct lws *LWS_WARN_UNUSED_RESULT lws_get_parent(const struct lws *wsi)
LWS_VISIBLE LWS_EXTERN void lws_set_wsi_user(struct lws *wsi, void *user)
LWS_VISIBLE LWS_EXTERN int lws_humanize(char *buf, int len, uint64_t value, const lws_humanize_unit_t *schema)
LWS_VISIBLE LWS_EXTERN size_t lws_buflist_use_segment(struct lws_buflist **head, size_t len)
LWS_VISIBLE LWS_EXTERN struct lws * lws_get_network_wsi(struct lws *wsi)
LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT lws_buflist_append_segment(struct lws_buflist **head, const uint8_t *buf, size_t len)
LWS_VISIBLE LWS_EXTERN void * lws_wsi_user(struct lws *wsi)
LWS_VISIBLE LWS_EXTERN int lws_json_simple_strcmp(const char *buf, size_t len, const char *name, const char *comp)
LWS_VISIBLE LWS_EXTERN int lws_get_tsi(struct lws *wsi)
LWS_VISIBLE LWS_EXTERN const char *LWS_WARN_UNUSED_RESULT lws_get_library_version(void)
LWS_VISIBLE LWS_EXTERN struct lws *LWS_WARN_UNUSED_RESULT lws_get_child(const struct lws *wsi)
LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT lws_daemonize(const char *_lock_path)
LWS_VISIBLE LWS_EXTERN const char * lws_json_simple_find(const char *buf, size_t len, const char *name, size_t *alen)
LWS_VISIBLE LWS_EXTERN void lws_set_allocator(void *(*realloc)(void *ptr, size_t size, const char *reason))
LWS_VISIBLE LWS_EXTERN int lws_rx_flow_control(struct lws *wsi, int enable)
LWS_VISIBLE LWS_EXTERN int lws_hex_random(struct lws_context *context, char *dest, size_t len)
LWS_VISIBLE LWS_EXTERN void lws_buflist_destroy_all_segments(struct lws_buflist **head)
Definition: lws-context-vhost.h:257
Definition: lws-dll2.h:203
Definition: lws-misc.h:983
Definition: lws-misc.h:799
Definition: lws-protocols-plugins.h:44
Definition: lws-misc.h:775