diff --git a/Project.toml b/Project.toml index 3e8acd4..bca67af 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "Libwebsockets" uuid = "30a1cee6-c274-443c-b274-d8ea34e8f87d" -version = "1.3.2" +version = "2.0.0" [deps] libwebsockets_jll = "b6b84edf-6aef-5ff6-9b66-656961a84a09" diff --git a/src/Libwebsockets.jl b/src/Libwebsockets.jl index 20b499e..01e425e 100644 --- a/src/Libwebsockets.jl +++ b/src/Libwebsockets.jl @@ -3,6 +3,536 @@ module Libwebsockets using libwebsockets_jll using Printf +export LWS_CALLBACK_ADD_HEADERS, + LWS_CALLBACK_ADD_POLL_FD, + LWS_CALLBACK_CGI, + LWS_CALLBACK_CGI_PROCESS_ATTACH, + LWS_CALLBACK_CGI_STDIN_COMPLETED, + LWS_CALLBACK_CGI_STDIN_DATA, + LWS_CALLBACK_CGI_TERMINATED, + LWS_CALLBACK_CHANGE_MODE_POLL_FD, + LWS_CALLBACK_CHECK_ACCESS_RIGHTS, + LWS_CALLBACK_CHILD_CLOSING, + LWS_CALLBACK_CLIENT_APPEND_HANDSHAKE_HEADER, + LWS_CALLBACK_CLIENT_CLOSED, + LWS_CALLBACK_CLIENT_CONFIRM_EXTENSION_SUPPORTED, + LWS_CALLBACK_CLIENT_CONNECTION_ERROR, + LWS_CALLBACK_CLIENT_ESTABLISHED, + LWS_CALLBACK_CLIENT_FILTER_PRE_ESTABLISH, + LWS_CALLBACK_CLIENT_HTTP_BIND_PROTOCOL, + LWS_CALLBACK_CLIENT_HTTP_DROP_PROTOCOL, + LWS_CALLBACK_CLIENT_HTTP_REDIRECT, + LWS_CALLBACK_CLIENT_HTTP_WRITEABLE, + LWS_CALLBACK_CLIENT_RECEIVE, + LWS_CALLBACK_CLIENT_RECEIVE_PONG, + LWS_CALLBACK_CLIENT_WRITEABLE, + LWS_CALLBACK_CLOSED, + LWS_CALLBACK_CLOSED_CLIENT_HTTP, + LWS_CALLBACK_CLOSED_HTTP, + LWS_CALLBACK_COMPLETED_CLIENT_HTTP, + LWS_CALLBACK_CONFIRM_EXTENSION_OKAY, + LWS_CALLBACK_CONNECTING, + LWS_CALLBACK_DEL_POLL_FD, + LWS_CALLBACK_ESTABLISHED, + LWS_CALLBACK_ESTABLISHED_CLIENT_HTTP, + LWS_CALLBACK_EVENT_WAIT_CANCELLED, + LWS_CALLBACK_FILTER_HTTP_CONNECTION, + LWS_CALLBACK_FILTER_NETWORK_CONNECTION, + LWS_CALLBACK_FILTER_PROTOCOL_CONNECTION, + LWS_CALLBACK_GET_THREAD_ID, + LWS_CALLBACK_GS_EVENT, + LWS_CALLBACK_HTTP, + LWS_CALLBACK_HTTP_BIND_PROTOCOL, + LWS_CALLBACK_HTTP_BODY, + LWS_CALLBACK_HTTP_BODY_COMPLETION, + LWS_CALLBACK_HTTP_CONFIRM_UPGRADE, + LWS_CALLBACK_HTTP_DROP_PROTOCOL, + LWS_CALLBACK_HTTP_FILE_COMPLETION, + LWS_CALLBACK_HTTP_PMO, + LWS_CALLBACK_HTTP_WRITEABLE, + LWS_CALLBACK_LOCK_POLL, + LWS_CALLBACK_MQTT_ACK, + LWS_CALLBACK_MQTT_CLIENT_CLOSED, + LWS_CALLBACK_MQTT_CLIENT_ESTABLISHED, + LWS_CALLBACK_MQTT_CLIENT_RX, + LWS_CALLBACK_MQTT_CLIENT_WRITEABLE, + LWS_CALLBACK_MQTT_DROP_PROTOCOL, + LWS_CALLBACK_MQTT_IDLE, + LWS_CALLBACK_MQTT_NEW_CLIENT_INSTANTIATED, + LWS_CALLBACK_MQTT_RESEND, + LWS_CALLBACK_MQTT_SHADOW_TIMEOUT, + LWS_CALLBACK_MQTT_SUBSCRIBED, + LWS_CALLBACK_MQTT_UNSUBSCRIBED, + LWS_CALLBACK_MQTT_UNSUBSCRIBE_TIMEOUT, + LWS_CALLBACK_OPENSSL_LOAD_EXTRA_CLIENT_VERIFY_CERTS, + LWS_CALLBACK_OPENSSL_LOAD_EXTRA_SERVER_VERIFY_CERTS, + LWS_CALLBACK_OPENSSL_PERFORM_CLIENT_CERT_VERIFICATION, + LWS_CALLBACK_OPENSSL_PERFORM_SERVER_CERT_VERIFICATION, + LWS_CALLBACK_PROCESS_HTML, + LWS_CALLBACK_PROTOCOL_DESTROY, + LWS_CALLBACK_PROTOCOL_INIT, + LWS_CALLBACK_RAW_ADOPT, + LWS_CALLBACK_RAW_ADOPT_FILE, + LWS_CALLBACK_RAW_CLOSE, + LWS_CALLBACK_RAW_CLOSE_FILE, + LWS_CALLBACK_RAW_CONNECTED, + LWS_CALLBACK_RAW_FILE_BIND_PROTOCOL, + LWS_CALLBACK_RAW_FILE_DROP_PROTOCOL, + LWS_CALLBACK_RAW_PROXY_CLI_ADOPT, + LWS_CALLBACK_RAW_PROXY_CLI_BIND_PROTOCOL, + LWS_CALLBACK_RAW_PROXY_CLI_CLOSE, + LWS_CALLBACK_RAW_PROXY_CLI_DROP_PROTOCOL, + LWS_CALLBACK_RAW_PROXY_CLI_RX, + LWS_CALLBACK_RAW_PROXY_CLI_WRITEABLE, + LWS_CALLBACK_RAW_PROXY_SRV_ADOPT, + LWS_CALLBACK_RAW_PROXY_SRV_BIND_PROTOCOL, + LWS_CALLBACK_RAW_PROXY_SRV_CLOSE, + LWS_CALLBACK_RAW_PROXY_SRV_DROP_PROTOCOL, + LWS_CALLBACK_RAW_PROXY_SRV_RX, + LWS_CALLBACK_RAW_PROXY_SRV_WRITEABLE, + LWS_CALLBACK_RAW_RX, + LWS_CALLBACK_RAW_RX_FILE, + LWS_CALLBACK_RAW_SKT_BIND_PROTOCOL, + LWS_CALLBACK_RAW_SKT_DROP_PROTOCOL, + LWS_CALLBACK_RAW_WRITEABLE, + LWS_CALLBACK_RAW_WRITEABLE_FILE, + LWS_CALLBACK_RECEIVE, + LWS_CALLBACK_RECEIVE_CLIENT_HTTP, + LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ, + LWS_CALLBACK_RECEIVE_PONG, + LWS_CALLBACK_SERVER_NEW_CLIENT_INSTANTIATED, + LWS_CALLBACK_SERVER_WRITEABLE, + LWS_CALLBACK_SESSION_INFO, + LWS_CALLBACK_SSL_INFO, + LWS_CALLBACK_TIMER, + LWS_CALLBACK_UNLOCK_POLL, + LWS_CALLBACK_USER, + LWS_CALLBACK_VERIFY_BASIC_AUTHORIZATION, + LWS_CALLBACK_VHOST_CERT_AGING, + LWS_CALLBACK_VHOST_CERT_UPDATE, + LWS_CALLBACK_WSI_CREATE, + LWS_CALLBACK_WSI_DESTROY, + LWS_CALLBACK_WSI_TX_CREDIT_GET, + LWS_CALLBACK_WS_CLIENT_BIND_PROTOCOL, + LWS_CALLBACK_WS_CLIENT_DROP_PROTOCOL, + LWS_CALLBACK_WS_EXT_DEFAULTS, + LWS_CALLBACK_WS_PEER_INITIATED_CLOSE, + LWS_CALLBACK_WS_SERVER_BIND_PROTOCOL, + LWS_CALLBACK_WS_SERVER_DROP_PROTOCOL, + LWS_BUILD_HASH, + LWS_CB_REASON_AUX_BF__CGI, + LWS_CB_REASON_AUX_BF__CGI_CHUNK_END, + LWS_CB_REASON_AUX_BF__CGI_HEADERS, + LWS_CB_REASON_AUX_BF__PROXY, + LWS_CB_REASON_AUX_BF__PROXY_HEADERS, + LWS_CB_REASON_AUX_BF__PROXY_TRANS_END, + LWS_CLOSE_STATUS_ABNORMAL_CLOSE, + LWS_CLOSE_STATUS_CLIENT_TRANSACTION_DONE, + LWS_CLOSE_STATUS_EXTENSION_REQUIRED, + LWS_CLOSE_STATUS_GOINGAWAY, + LWS_CLOSE_STATUS_INVALID_PAYLOAD, + LWS_CLOSE_STATUS_MESSAGE_TOO_LARGE, + LWS_CLOSE_STATUS_NORMAL, + LWS_CLOSE_STATUS_NOSTATUS, + LWS_CLOSE_STATUS_NOSTATUS_CONTEXT_DESTROY, + LWS_CLOSE_STATUS_NO_STATUS, + LWS_CLOSE_STATUS_POLICY_VIOLATION, + LWS_CLOSE_STATUS_PROTOCOL_ERR, + LWS_CLOSE_STATUS_RESERVED, + LWS_CLOSE_STATUS_TLS_FAILURE, + LWS_CLOSE_STATUS_UNACCEPTABLE_OPCODE, + LWS_CLOSE_STATUS_UNEXPECTED_CONDITION, + LWS_CUS_AUTH, + LWS_CUS_CHALLENGE, + LWS_CUS_CONFIRM, + LWS_CUS_CREATE_KEYS, + LWS_CUS_CREATE_REQ, + LWS_CUS_FAILED, + LWS_CUS_IDLE, + LWS_CUS_ISSUE, + LWS_CUS_REG, + LWS_CUS_REQ, + LWS_CUS_STARTING, + LWS_CUS_SUCCESS, + LWS_EXT_CB_CLIENT_CONSTRUCT, + LWS_EXT_CB_CONSTRUCT, + LWS_EXT_CB_DESTROY, + LWS_EXT_CB_NAMED_OPTION_SET, + LWS_EXT_CB_OPTION_CONFIRM, + LWS_EXT_CB_OPTION_DEFAULT, + LWS_EXT_CB_OPTION_SET, + LWS_EXT_CB_PACKET_TX_PRESEND, + LWS_EXT_CB_PAYLOAD_RX, + LWS_EXT_CB_PAYLOAD_TX, + LWS_GI, + LWS_H2_STREAM_SID, + LWS_ILLEGAL_HTTP_CONTENT_LEN, + LWS_INSTALL_DATADIR, + LWS_INSTALL_LIBDIR, + LWS_INVALID_FILE, + LWS_KI, + LWS_LIBRARY_VERSION, + LWS_LIBRARY_VERSION_MAJOR, + LWS_LIBRARY_VERSION_MINOR, + LWS_LIBRARY_VERSION_NUMBER, + LWS_LIBRARY_VERSION_PATCH, + LWS_LOGGING_BITFIELD_CLEAR, + LWS_LOGGING_BITFIELD_SET, + LWS_MAX_SMP, + LWS_MI, + LWS_MS_PER_SEC, + LWS_NS_PER_US, + LWS_OPENSSL_CLIENT_CERTS, + LWS_PI, + LWS_PLUGIN_API_MAGIC, + LWS_POLLERR, + LWS_POLLHUP, + LWS_POLLHUP_ERR, + LWS_POLLIN, + LWS_POLLOUT, + LWS_PRE, + LWS_PROTOCOL_LIST_TERM, + LWS_RECOMMENDED_MIN_HEADER_SPACE, + LWS_SEND_BUFFER_POST_PADDING, + LWS_SEND_BUFFER_PRE_PADDING, + LWS_SERVER_OPTION_ADOPT_APPLY_LISTEN_ACCEPT_CONFIG, + LWS_SERVER_OPTION_ALLOW_HTTP_ON_HTTPS_LISTENER, + LWS_SERVER_OPTION_ALLOW_LISTEN_SHARE, + LWS_SERVER_OPTION_ALLOW_NON_SSL_ON_SSL_PORT, + LWS_SERVER_OPTION_CREATE_VHOST_SSL_CTX, + LWS_SERVER_OPTION_DISABLE_IPV6, + LWS_SERVER_OPTION_DISABLE_OS_CA_CERTS, + LWS_SERVER_OPTION_DISABLE_TLS_SESSION_CACHE, + LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT, + LWS_SERVER_OPTION_EXPLICIT_VHOSTS, + LWS_SERVER_OPTION_FAIL_UPON_UNABLE_TO_BIND, + LWS_SERVER_OPTION_FALLBACK_TO_APPLY_LISTEN_ACCEPT_CONFIG, + LWS_SERVER_OPTION_GLIB, + LWS_SERVER_OPTION_H2_JUST_FIX_WINDOW_UPDATE_OVERFLOW, + LWS_SERVER_OPTION_H2_PRIOR_KNOWLEDGE, + LWS_SERVER_OPTION_HTTP_HEADERS_SECURITY_BEST_PRACTICES_ENFORCE, + LWS_SERVER_OPTION_IGNORE_MISSING_CERT, + LWS_SERVER_OPTION_IPV6_V6ONLY_MODIFY, + LWS_SERVER_OPTION_IPV6_V6ONLY_VALUE, + LWS_SERVER_OPTION_JUST_USE_RAW_ORIGIN, + LWS_SERVER_OPTION_LIBEV, + LWS_SERVER_OPTION_LIBEVENT, + LWS_SERVER_OPTION_LIBUV, + LWS_SERVER_OPTION_NO_LWS_SYSTEM_STATES, + LWS_SERVER_OPTION_PEER_CERT_NOT_REQUIRED, + LWS_SERVER_OPTION_REDIRECT_HTTP_TO_HTTPS, + LWS_SERVER_OPTION_REQUIRE_VALID_OPENSSL_CLIENT_CERT, + LWS_SERVER_OPTION_SDEVENT, + LWS_SERVER_OPTION_SKIP_PROTOCOL_INIT, + LWS_SERVER_OPTION_SKIP_SERVER_CANONICAL_NAME, + LWS_SERVER_OPTION_SSL_ECDH, + LWS_SERVER_OPTION_SS_PROXY, + LWS_SERVER_OPTION_STS, + LWS_SERVER_OPTION_ULOOP, + LWS_SERVER_OPTION_UNIX_SOCK, + LWS_SERVER_OPTION_UV_NO_SIGSEGV_SIGFPE_SPIN, + LWS_SERVER_OPTION_VALIDATE_UTF8, + LWS_SERVER_OPTION_VHOST_UPG_STRICT_HOST_CHECK, + LWS_SERVER_OPTION_VH_H2_HALF_CLOSED_LONG_POLL, + LWS_SESSION_TAG_LEN, + LWS_SIZEOFPTR, + LWS_SOCK_INVALID, + LWS_TI, + LWS_TLS_CERT_INFO_AUTHORITY_KEY_ID, + LWS_TLS_CERT_INFO_AUTHORITY_KEY_ID_ISSUER, + LWS_TLS_CERT_INFO_AUTHORITY_KEY_ID_SERIAL, + LWS_TLS_CERT_INFO_COMMON_NAME, + LWS_TLS_CERT_INFO_DER_RAW, + LWS_TLS_CERT_INFO_ISSUER_NAME, + LWS_TLS_CERT_INFO_OPAQUE_PUBLIC_KEY, + LWS_TLS_CERT_INFO_SUBJECT_KEY_ID, + LWS_TLS_CERT_INFO_USAGE, + LWS_TLS_CERT_INFO_VALIDITY_FROM, + LWS_TLS_CERT_INFO_VALIDITY_TO, + LWS_TLS_CERT_INFO_VERIFIED, + LWS_TLS_REQ_ELEMENT_COMMON_NAME, + LWS_TLS_REQ_ELEMENT_COUNT, + LWS_TLS_REQ_ELEMENT_COUNTRY, + LWS_TLS_REQ_ELEMENT_EMAIL, + LWS_TLS_REQ_ELEMENT_LOCALITY, + LWS_TLS_REQ_ELEMENT_ORGANIZATION, + LWS_TLS_REQ_ELEMENT_STATE, + LWS_TLS_REQ_ELEMENT_SUBJECT_ALT_NAME, + LWS_TLS_SET_AUTH_PATH, + LWS_TLS_SET_CERT_PATH, + LWS_TLS_SET_DIR_URL, + LWS_TLS_SET_KEY_PATH, + LWS_TLS_TOTAL_COUNT, + LWS_UFS_CLOSE, + LWS_UFS_CONTENT, + LWS_UFS_FINAL_CONTENT, + LWS_UFS_OPEN, + LWS_US_PER_MS, + LWS_US_PER_SEC, + LWS_WRITE_BINARY, + LWS_WRITE_BUFLIST, + LWS_WRITE_CLIENT_IGNORE_XOR_MASK, + LWS_WRITE_CONTINUATION, + LWS_WRITE_H2_STREAM_END, + LWS_WRITE_HTTP, + LWS_WRITE_HTTP_FINAL, + LWS_WRITE_HTTP_HEADERS, + LWS_WRITE_HTTP_HEADERS_CONTINUATION, + LWS_WRITE_NO_FIN, + LWS_WRITE_PING, + LWS_WRITE_PONG, + LWS_WRITE_RAW, + LWS_WRITE_TEXT, + LWS_CONTEXT_NULL, + LWS_AHH_CODE_MASK, + LWS_AHH_FLAG_NO_SERVER_NAME, + LWS_AUTHM_BASIC_AUTH_CALLBACK, + LWS_AUTHM_DEFAULT, + LWS_HUMETH_COLON_PATH, + LWS_HUMETH_CONNECT, + LWS_HUMETH_DELETE, + LWS_HUMETH_GET, + LWS_HUMETH_HEAD, + LWS_HUMETH_OPTIONS, + LWS_HUMETH_PATCH, + LWS_HUMETH_POST, + LWS_HUMETH_PUT, + LWS_MPRO_CALLBACK, + LWS_MPRO_CGI, + LWS_MPRO_FILE, + LWS_MPRO_HTTP, + LWS_MPRO_HTTPS, + LWS_MPRO_REDIR_HTTP, + LWS_MPRO_REDIR_HTTPS, + LWS_TXCR_PEER_TO_US, + LWS_TXCR_US_TO_PEER + +export lws_add_http_common_headers, + lws_add_http_header_by_name, + lws_add_http_header_by_token, + lws_add_http_header_content_length, + lws_add_http_header_status, + lws_adjust_protocol_psds, + lws_callback_all_protocol, + lws_callback_all_protocol_vhost, + lws_callback_all_protocol_vhost_args, + lws_callback_http_dummy, + lws_callback_on_writable, + lws_callback_on_writable_all_protocol, + lws_callback_on_writable_all_protocol_vhost, + lws_callback_vhost_protocols, + lws_callback_vhost_protocols_vhost, + lws_cancel_service, + lws_cancel_service_pt, + lws_chunked_html_process, + lws_client_connect_via_info, + lws_client_http_body_pending, + lws_client_http_multipart, + lws_close_reason, + lws_context_deprecate, + lws_context_destroy, + lws_context_is_being_destroyed, + lws_context_is_deprecated, + lws_context_user, + lws_create_context, + lws_create_vhost, + lws_ext_parse_options, + lws_extension_callback_pm_deflate, + lws_finalize_http_header, + lws_finalize_startup, + lws_finalize_write_http_header, + lws_frame_is_binary, + lws_get_context, + lws_get_mimetype, + lws_get_peer_write_allowance, + lws_get_protocol, + lws_get_reserved_bits, + lws_get_socket_fd, + lws_get_urlarg_by_name, + lws_get_urlarg_by_name_safe, + lws_get_vhost, + lws_get_vhost_by_name, + lws_get_vhost_iface, + lws_get_vhost_name, + lws_get_vhost_port, + lws_get_vhost_user, + lws_h2_client_stream_long_poll_rxonly, + lws_h2_get_peer_txcredit_estimate, + lws_h2_update_peer_txcredit, + lws_handle_POLLOUT_event, + lws_hdr_copy, + lws_hdr_copy_fragment, + lws_hdr_custom_copy, + lws_hdr_custom_length, + lws_hdr_custom_name_foreach, + lws_hdr_fragment_length, + lws_hdr_total_length, + lws_http_basic_auth_gen, + lws_http_check_retry_after, + lws_http_client_http_response, + lws_http_client_read, + lws_http_compression_apply, + lws_http_cookie_get, + lws_http_date_parse_unix, + lws_http_date_render_from_unix, + lws_http_get_uri_and_method, + lws_http_headers_detach, + lws_http_is_redirected_to_get, + lws_http_mark_sse, + lws_http_redirect, + lws_http_transaction_completed, + lws_init_vhost_client_ssl, + lws_is_be, + lws_is_final_fragment, + lws_is_first_fragment, + lws_json_dump_context, + lws_json_dump_vhost, + lws_log_emit_cx_file, + lws_log_prepend_context, + lws_log_prepend_vhost, + lws_log_prepend_wsi, + lws_log_use_cx_file, + lws_partial_buffered, + lws_plugins_destroy, + lws_plugins_init, + lws_protocol_get, + lws_protocol_init, + lws_protocol_vh_priv_get, + lws_protocol_vh_priv_zalloc, + lws_pvo_get_str, + lws_pvo_search, + lws_raw_transaction_completed, + lws_return_http_status, + lws_send_pipe_choked, + lws_serve_http_file, + lws_serve_http_file_fragment, + lws_service, + lws_service_adjust_timeout, + lws_service_fd, + lws_service_fd_tsi, + lws_service_tsi, + lws_set_extension_option, + lws_set_log_level, + lws_set_proxy, + lws_set_socks, + lws_spa_create, + lws_spa_create_via_info, + lws_spa_destroy, + lws_spa_finalize, + lws_spa_get_length, + lws_spa_get_string, + lws_spa_process, + lws_tls_acme_sni_cert_create, + lws_tls_acme_sni_csr_create, + lws_tls_cert_updated, + lws_tls_client_vhost_extra_cert_mem, + lws_tls_peer_cert_info, + lws_tls_session_dump_load, + lws_tls_session_dump_save, + lws_tls_session_is_reused, + lws_tls_vhost_cert_info, + lws_token_to_string, + lws_urldecode, + lws_urlencode, + lws_vh_tag, + lws_vhd_find_by_pvo, + lws_vhost_destroy, + lws_vhost_name_to_protocol, + lws_vhost_user, + lws_write, + lws_write_ws_flags, + lws_wsi_tag, + lws_wsi_tx_credit, + lws_x509_create, + lws_x509_destroy, + lws_x509_info, + lws_x509_parse_from_pem, + lws_x509_verify, + lwsl_context_get_cx, + lwsl_emit_stderr, + lwsl_emit_stderr_notimestamp, + lwsl_emit_syslog, + lwsl_hexdump, + lwsl_hexdump_level, + lwsl_hexdump_level_cx, + lwsl_refcount_cx, + lwsl_timestamp, + lwsl_vhost_get_cx, + lwsl_visible, + lwsl_wsi_get_cx, + lwsws_get_config_globals, + lwsws_get_config_vhosts, + lws_sul_schedule, + lws_retry_sul_schedule, + lws_retry_sul_schedule_retry_wsi, + lws_remaining_packet_payload, + lws_parse_uri, + lws_get_opaque_user_data, + lws_set_opaque_user_data, + lws_uv_initloop, + lws_set_protocol + +export Lws, + LwsAc, + LwsAcmeCertAgingArgs, + LwsClientConnectInfo, + LwsContext, + LwsContextCreationInfo, + LwsDsh, + LwsEventLoopOps, + LwsExtOptionArg, + LwsExtOptions, + LwsExtension, + LwsHttpMount, + LwsLogCx, + LwsLogCxUnion, + LwsMetricPolicy, + LwsPlatFileOps, + LwsPlugin, + LwsPluginEvlib, + LwsPluginHeader, + LwsPluginProtocol, + LwsPluginUnion, + LwsPollargs, + LwsPollfd, + LwsProcessHtmlArgs, + LwsProcessHtmlState, + LwsProtocolVhostOptions, + LwsProtocols, + LwsSequencer, + LwsSpa, + LwsSpaCreateInfo, + LwsSsPlugin, + LwsSsPolicy, + LwsSslInfo, + LwsTlsCertInfoResults, + LwsTlsSessionDump, + LwsTokenLimits, + LwsTokens, + LwsVhost, + LwsWritePassthru, + LwsX509Cert, + LwsSslCtxSt, + LwsSystemOpts, + LwsRetryBo, + LwsDll2, + LwsStateNotifyLink, + LwsSortedUsecList, + LwsTransportClientOps, + LwsTransportProxyOps + +export lwsl_notice, + lwsl_warn, + lwsl_info, + lwsl_debug, + lwsl_parser, + lwsl_header, + lwsl_ext, + lwsl_client, + lwsl_latency, + lwsl_thread, + lwsl_user + include("consts.jl") include("types.jl") include("functions.jl") diff --git a/src/consts.jl b/src/consts.jl index a0b78a7..da59763 100644 --- a/src/consts.jl +++ b/src/consts.jl @@ -1,514 +1,4 @@ -# consts.jl - -export CONTEXT_PORT_NO_LISTEN, - CONTEXT_PORT_NO_LISTEN_SERVER - -export EXTARG_DEC, - EXTARG_NONE, - EXTARG_OPT_DEC - -export H2SET_COUNT, - H2SET_ENABLE_CONNECT_PROTOCOL, - H2SET_ENABLE_PUSH, - H2SET_HEADER_TABLE_SIZE, - H2SET_INITIAL_WINDOW_SIZE, - H2SET_MAX_CONCURRENT_STREAMS, - H2SET_MAX_FRAME_SIZE, - H2SET_MAX_HEADER_LIST_SIZE, - H2SET_RESERVED7 - -export HTTP_STATUS_BAD_GATEWAY, - HTTP_STATUS_BAD_REQUEST, - HTTP_STATUS_CONFLICT, - HTTP_STATUS_CONTINUE, - HTTP_STATUS_EXPECTATION_FAILED, - HTTP_STATUS_FORBIDDEN, - HTTP_STATUS_FOUND, - HTTP_STATUS_GATEWAY_TIMEOUT, - HTTP_STATUS_GONE, - HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED, - HTTP_STATUS_INTERNAL_SERVER_ERROR, - HTTP_STATUS_LENGTH_REQUIRED, - HTTP_STATUS_METHOD_NOT_ALLOWED, - HTTP_STATUS_MOVED_PERMANENTLY, - HTTP_STATUS_NOT_ACCEPTABLE, - HTTP_STATUS_NOT_FOUND, - HTTP_STATUS_NOT_IMPLEMENTED, - HTTP_STATUS_NOT_MODIFIED, - HTTP_STATUS_NO_CONTENT, - HTTP_STATUS_OK, - HTTP_STATUS_PARTIAL_CONTENT, - HTTP_STATUS_PAYMENT_REQUIRED, - HTTP_STATUS_PRECONDITION_FAILED, - HTTP_STATUS_PROXY_AUTH_REQUIRED, - HTTP_STATUS_REQUEST_TIMEOUT, - HTTP_STATUS_REQ_ENTITY_TOO_LARGE, - HTTP_STATUS_REQ_RANGE_NOT_SATISFIABLE, - HTTP_STATUS_REQ_URI_TOO_LONG, - HTTP_STATUS_SEE_OTHER, - HTTP_STATUS_SERVICE_UNAVAILABLE, - HTTP_STATUS_UNAUTHORIZED, - HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE - -export LCCSCF_ACCEPT_TLS_DOWNGRADE_REDIRECTS, - LCCSCF_ALLOW_EXPIRED, - LCCSCF_ALLOW_INSECURE, - LCCSCF_ALLOW_SELFSIGNED, - LCCSCF_CACHE_COOKIES, - LCCSCF_CONMON, - LCCSCF_H2_AUTH_BEARER, - LCCSCF_H2_HEXIFY_AUTH_TOKEN, - LCCSCF_H2_MANUAL_RXFLOW, - LCCSCF_H2_PRIOR_KNOWLEDGE, - LCCSCF_H2_QUIRK_NGHTTP2_END_STREAM, - LCCSCF_H2_QUIRK_OVERFLOWS_TXCR, - LCCSCF_HTTP_MULTIPART_MIME, - LCCSCF_HTTP_NO_FOLLOW_REDIRECT, - LCCSCF_HTTP_X_WWW_FORM_URLENCODED, - LCCSCF_IP_HIGH_RELIABILITY, - LCCSCF_IP_HIGH_THROUGHPUT, - LCCSCF_IP_LOW_COST, - LCCSCF_IP_LOW_LATENCY, - LCCSCF_MUXABLE_STREAM, - LCCSCF_PIPELINE, - LCCSCF_PRIORITIZE_READS, - LCCSCF_SECSTREAM_CLIENT, - LCCSCF_SECSTREAM_PROXY_LINK, - LCCSCF_SECSTREAM_PROXY_ONWARD, - LCCSCF_SKIP_SERVER_CERT_HOSTNAME_CHECK, - LCCSCF_USE_SSL, - LCCSCF_WAKE_SUSPEND__VALIDITY - -export LLLF_LOG_CONTEXT_AWARE, - LLLF_LOG_TIMESTAMP, - LLLF_SECRECY_BEARER, - LLLF_SECRECY_PII, - LLL_CLIENT, - LLL_COUNT, - LLL_DEBUG, - LLL_ERR, - LLL_EXT, - LLL_HEADER, - LLL_INFO, - LLL_LATENCY, - LLL_NOTICE, - LLL_PARSER, - LLL_THREAD, - LLL_USER, - LLL_WARN - -export LWSAHH_CODE_MASK, - LWSAHH_FLAG_NO_SERVER_NAME, - LWSAUTHM_BASIC_AUTH_CALLBACK, - LWSAUTHM_DEFAULT, - LWSHUMETH_COLON_PATH, - LWSHUMETH_CONNECT, - LWSHUMETH_DELETE, - LWSHUMETH_GET, - LWSHUMETH_HEAD, - LWSHUMETH_OPTIONS, - LWSHUMETH_PATCH, - LWSHUMETH_POST, - LWSHUMETH_PUT, - LWSMPRO_CALLBACK, - LWSMPRO_CGI, - LWSMPRO_FILE, - LWSMPRO_HTTP, - LWSMPRO_HTTPS, - LWSMPRO_REDIR_HTTP, - LWSMPRO_REDIR_HTTPS, - LWSTXCR_PEER_TO_US, - LWSTXCR_US_TO_PEER, - LWS_BUILD_HASH - -export LWS_CALLBACK_ADD_HEADERS, - LWS_CALLBACK_ADD_POLL_FD, - LWS_CALLBACK_CGI, - LWS_CALLBACK_CGI_PROCESS_ATTACH, - LWS_CALLBACK_CGI_STDIN_COMPLETED, - LWS_CALLBACK_CGI_STDIN_DATA, - LWS_CALLBACK_CGI_TERMINATED, - LWS_CALLBACK_CHANGE_MODE_POLL_FD, - LWS_CALLBACK_CHECK_ACCESS_RIGHTS, - LWS_CALLBACK_CHILD_CLOSING, - LWS_CALLBACK_CLIENT_APPEND_HANDSHAKE_HEADER, - LWS_CALLBACK_CLIENT_CLOSED, - LWS_CALLBACK_CLIENT_CONFIRM_EXTENSION_SUPPORTED, - LWS_CALLBACK_CLIENT_CONNECTION_ERROR, - LWS_CALLBACK_CLIENT_ESTABLISHED, - LWS_CALLBACK_CLIENT_FILTER_PRE_ESTABLISH, - LWS_CALLBACK_CLIENT_HTTP_BIND_PROTOCOL, - LWS_CALLBACK_CLIENT_HTTP_DROP_PROTOCOL, - LWS_CALLBACK_CLIENT_HTTP_REDIRECT, - LWS_CALLBACK_CLIENT_HTTP_WRITEABLE, - LWS_CALLBACK_CLIENT_RECEIVE, - LWS_CALLBACK_CLIENT_RECEIVE_PONG, - LWS_CALLBACK_CLIENT_WRITEABLE, - LWS_CALLBACK_CLOSED, - LWS_CALLBACK_CLOSED_CLIENT_HTTP, - LWS_CALLBACK_CLOSED_HTTP, - LWS_CALLBACK_COMPLETED_CLIENT_HTTP, - LWS_CALLBACK_CONFIRM_EXTENSION_OKAY, - LWS_CALLBACK_CONNECTING, - LWS_CALLBACK_DEL_POLL_FD, - LWS_CALLBACK_ESTABLISHED, - LWS_CALLBACK_ESTABLISHED_CLIENT_HTTP, - LWS_CALLBACK_EVENT_WAIT_CANCELLED, - LWS_CALLBACK_FILTER_HTTP_CONNECTION, - LWS_CALLBACK_FILTER_NETWORK_CONNECTION, - LWS_CALLBACK_FILTER_PROTOCOL_CONNECTION, - LWS_CALLBACK_GET_THREAD_ID, - LWS_CALLBACK_GS_EVENT, - LWS_CALLBACK_HTTP, - LWS_CALLBACK_HTTP_BIND_PROTOCOL, - LWS_CALLBACK_HTTP_BODY, - LWS_CALLBACK_HTTP_BODY_COMPLETION, - LWS_CALLBACK_HTTP_CONFIRM_UPGRADE, - LWS_CALLBACK_HTTP_DROP_PROTOCOL, - LWS_CALLBACK_HTTP_FILE_COMPLETION, - LWS_CALLBACK_HTTP_PMO, - LWS_CALLBACK_HTTP_WRITEABLE, - LWS_CALLBACK_LOCK_POLL, - LWS_CALLBACK_MQTT_ACK, - LWS_CALLBACK_MQTT_CLIENT_CLOSED, - LWS_CALLBACK_MQTT_CLIENT_ESTABLISHED, - LWS_CALLBACK_MQTT_CLIENT_RX, - LWS_CALLBACK_MQTT_CLIENT_WRITEABLE, - LWS_CALLBACK_MQTT_DROP_PROTOCOL, - LWS_CALLBACK_MQTT_IDLE, - LWS_CALLBACK_MQTT_NEW_CLIENT_INSTANTIATED, - LWS_CALLBACK_MQTT_RESEND, - LWS_CALLBACK_MQTT_SHADOW_TIMEOUT, - LWS_CALLBACK_MQTT_SUBSCRIBED, - LWS_CALLBACK_MQTT_UNSUBSCRIBED, - LWS_CALLBACK_MQTT_UNSUBSCRIBE_TIMEOUT, - LWS_CALLBACK_OPENSSL_LOAD_EXTRA_CLIENT_VERIFY_CERTS, - LWS_CALLBACK_OPENSSL_LOAD_EXTRA_SERVER_VERIFY_CERTS, - LWS_CALLBACK_OPENSSL_PERFORM_CLIENT_CERT_VERIFICATION, - LWS_CALLBACK_OPENSSL_PERFORM_SERVER_CERT_VERIFICATION, - LWS_CALLBACK_PROCESS_HTML, - LWS_CALLBACK_PROTOCOL_DESTROY, - LWS_CALLBACK_PROTOCOL_INIT, - LWS_CALLBACK_RAW_ADOPT, - LWS_CALLBACK_RAW_ADOPT_FILE, - LWS_CALLBACK_RAW_CLOSE, - LWS_CALLBACK_RAW_CLOSE_FILE, - LWS_CALLBACK_RAW_CONNECTED, - LWS_CALLBACK_RAW_FILE_BIND_PROTOCOL, - LWS_CALLBACK_RAW_FILE_DROP_PROTOCOL, - LWS_CALLBACK_RAW_PROXY_CLI_ADOPT, - LWS_CALLBACK_RAW_PROXY_CLI_BIND_PROTOCOL, - LWS_CALLBACK_RAW_PROXY_CLI_CLOSE, - LWS_CALLBACK_RAW_PROXY_CLI_DROP_PROTOCOL, - LWS_CALLBACK_RAW_PROXY_CLI_RX, - LWS_CALLBACK_RAW_PROXY_CLI_WRITEABLE, - LWS_CALLBACK_RAW_PROXY_SRV_ADOPT, - LWS_CALLBACK_RAW_PROXY_SRV_BIND_PROTOCOL, - LWS_CALLBACK_RAW_PROXY_SRV_CLOSE, - LWS_CALLBACK_RAW_PROXY_SRV_DROP_PROTOCOL, - LWS_CALLBACK_RAW_PROXY_SRV_RX, - LWS_CALLBACK_RAW_PROXY_SRV_WRITEABLE, - LWS_CALLBACK_RAW_RX, - LWS_CALLBACK_RAW_RX_FILE, - LWS_CALLBACK_RAW_SKT_BIND_PROTOCOL, - LWS_CALLBACK_RAW_SKT_DROP_PROTOCOL, - LWS_CALLBACK_RAW_WRITEABLE, - LWS_CALLBACK_RAW_WRITEABLE_FILE, - LWS_CALLBACK_RECEIVE, - LWS_CALLBACK_RECEIVE_CLIENT_HTTP, - LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ, - LWS_CALLBACK_RECEIVE_PONG, - LWS_CALLBACK_SERVER_NEW_CLIENT_INSTANTIATED, - LWS_CALLBACK_SERVER_WRITEABLE, - LWS_CALLBACK_SESSION_INFO, - LWS_CALLBACK_SSL_INFO, - LWS_CALLBACK_TIMER, - LWS_CALLBACK_UNLOCK_POLL, - LWS_CALLBACK_USER, - LWS_CALLBACK_VERIFY_BASIC_AUTHORIZATION, - LWS_CALLBACK_VHOST_CERT_AGING, - LWS_CALLBACK_VHOST_CERT_UPDATE, - LWS_CALLBACK_WSI_CREATE, - LWS_CALLBACK_WSI_DESTROY, - LWS_CALLBACK_WSI_TX_CREDIT_GET, - LWS_CALLBACK_WS_CLIENT_BIND_PROTOCOL, - LWS_CALLBACK_WS_CLIENT_DROP_PROTOCOL, - LWS_CALLBACK_WS_EXT_DEFAULTS, - LWS_CALLBACK_WS_PEER_INITIATED_CLOSE, - LWS_CALLBACK_WS_SERVER_BIND_PROTOCOL, - LWS_CALLBACK_WS_SERVER_DROP_PROTOCOL - -export LWS_CB_REASON_AUX_BF__CGI, - LWS_CB_REASON_AUX_BF__CGI_CHUNK_END, - LWS_CB_REASON_AUX_BF__CGI_HEADERS, - LWS_CB_REASON_AUX_BF__PROXY, - LWS_CB_REASON_AUX_BF__PROXY_HEADERS, - LWS_CB_REASON_AUX_BF__PROXY_TRANS_END - -export LWS_CLOSE_STATUS_ABNORMAL_CLOSE, - LWS_CLOSE_STATUS_CLIENT_TRANSACTION_DONE, - LWS_CLOSE_STATUS_EXTENSION_REQUIRED, - LWS_CLOSE_STATUS_GOINGAWAY, - LWS_CLOSE_STATUS_INVALID_PAYLOAD, - LWS_CLOSE_STATUS_MESSAGE_TOO_LARGE, - LWS_CLOSE_STATUS_NORMAL, - LWS_CLOSE_STATUS_NOSTATUS, - LWS_CLOSE_STATUS_NOSTATUS_CONTEXT_DESTROY, - LWS_CLOSE_STATUS_NO_STATUS, - LWS_CLOSE_STATUS_POLICY_VIOLATION, - LWS_CLOSE_STATUS_PROTOCOL_ERR, - LWS_CLOSE_STATUS_RESERVED, - LWS_CLOSE_STATUS_TLS_FAILURE, - LWS_CLOSE_STATUS_UNACCEPTABLE_OPCODE, - LWS_CLOSE_STATUS_UNEXPECTED_CONDITION - -export LWS_CUS_AUTH, - LWS_CUS_CHALLENGE, - LWS_CUS_CONFIRM, - LWS_CUS_CREATE_KEYS, - LWS_CUS_CREATE_REQ, - LWS_CUS_FAILED, - LWS_CUS_IDLE, - LWS_CUS_ISSUE, - LWS_CUS_REG, - LWS_CUS_REQ, - LWS_CUS_STARTING, - LWS_CUS_SUCCESS - -export LWS_EXT_CB_CLIENT_CONSTRUCT, - LWS_EXT_CB_CONSTRUCT, - LWS_EXT_CB_DESTROY, - LWS_EXT_CB_NAMED_OPTION_SET, - LWS_EXT_CB_OPTION_CONFIRM, - LWS_EXT_CB_OPTION_DEFAULT, - LWS_EXT_CB_OPTION_SET, - LWS_EXT_CB_PACKET_TX_PRESEND, - LWS_EXT_CB_PAYLOAD_RX, - LWS_EXT_CB_PAYLOAD_TX - -export LWS_GI, - LWS_H2_STREAM_SID, - LWS_ILLEGAL_HTTP_CONTENT_LEN, - LWS_INSTALL_DATADIR, - LWS_INSTALL_LIBDIR, - LWS_INVALID_FILE, - LWS_KI - -export LWS_LIBRARY_VERSION, - LWS_LIBRARY_VERSION_MAJOR, - LWS_LIBRARY_VERSION_MINOR, - LWS_LIBRARY_VERSION_NUMBER, - LWS_LIBRARY_VERSION_PATCH - -export LWS_LOGGING_BITFIELD_CLEAR, - LWS_LOGGING_BITFIELD_SET, - LWS_MAX_SMP, - LWS_MI, - LWS_MS_PER_SEC, - LWS_NS_PER_US, - LWS_OPENSSL_CLIENT_CERTS, - LWS_PI, - LWS_PLUGIN_API_MAGIC, - LWS_POLLERR, - LWS_POLLHUP, - LWS_POLLHUP_ERR, - LWS_POLLIN, - LWS_POLLOUT, - LWS_PRE, - LWS_PROTOCOL_LIST_TERM, - LWS_RECOMMENDED_MIN_HEADER_SPACE, - LWS_SEND_BUFFER_POST_PADDING, - LWS_SEND_BUFFER_PRE_PADDING - -export LWS_SERVER_OPTION_ADOPT_APPLY_LISTEN_ACCEPT_CONFIG, - LWS_SERVER_OPTION_ALLOW_HTTP_ON_HTTPS_LISTENER, - LWS_SERVER_OPTION_ALLOW_LISTEN_SHARE, - LWS_SERVER_OPTION_ALLOW_NON_SSL_ON_SSL_PORT, - LWS_SERVER_OPTION_CREATE_VHOST_SSL_CTX, - LWS_SERVER_OPTION_DISABLE_IPV6, - LWS_SERVER_OPTION_DISABLE_OS_CA_CERTS, - LWS_SERVER_OPTION_DISABLE_TLS_SESSION_CACHE, - LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT, - LWS_SERVER_OPTION_EXPLICIT_VHOSTS, - LWS_SERVER_OPTION_FAIL_UPON_UNABLE_TO_BIND, - LWS_SERVER_OPTION_FALLBACK_TO_APPLY_LISTEN_ACCEPT_CONFIG, - LWS_SERVER_OPTION_GLIB, - LWS_SERVER_OPTION_H2_JUST_FIX_WINDOW_UPDATE_OVERFLOW, - LWS_SERVER_OPTION_H2_PRIOR_KNOWLEDGE, - LWS_SERVER_OPTION_HTTP_HEADERS_SECURITY_BEST_PRACTICES_ENFORCE, - LWS_SERVER_OPTION_IGNORE_MISSING_CERT, - LWS_SERVER_OPTION_IPV6_V6ONLY_MODIFY, - LWS_SERVER_OPTION_IPV6_V6ONLY_VALUE, - LWS_SERVER_OPTION_JUST_USE_RAW_ORIGIN, - LWS_SERVER_OPTION_LIBEV, - LWS_SERVER_OPTION_LIBEVENT, - LWS_SERVER_OPTION_LIBUV, - LWS_SERVER_OPTION_NO_LWS_SYSTEM_STATES, - LWS_SERVER_OPTION_PEER_CERT_NOT_REQUIRED, - LWS_SERVER_OPTION_REDIRECT_HTTP_TO_HTTPS, - LWS_SERVER_OPTION_REQUIRE_VALID_OPENSSL_CLIENT_CERT, - LWS_SERVER_OPTION_SDEVENT, - LWS_SERVER_OPTION_SKIP_PROTOCOL_INIT, - LWS_SERVER_OPTION_SKIP_SERVER_CANONICAL_NAME, - LWS_SERVER_OPTION_SSL_ECDH, - LWS_SERVER_OPTION_SS_PROXY, - LWS_SERVER_OPTION_STS, - LWS_SERVER_OPTION_ULOOP, - LWS_SERVER_OPTION_UNIX_SOCK, - LWS_SERVER_OPTION_UV_NO_SIGSEGV_SIGFPE_SPIN, - LWS_SERVER_OPTION_VALIDATE_UTF8, - LWS_SERVER_OPTION_VHOST_UPG_STRICT_HOST_CHECK, - LWS_SERVER_OPTION_VH_H2_HALF_CLOSED_LONG_POLL - -export LWS_SESSION_TAG_LEN, - LWS_SIZEOFPTR, - LWS_SOCK_INVALID, - LWS_TI - -export LWS_TLS_CERT_INFO_AUTHORITY_KEY_ID, - LWS_TLS_CERT_INFO_AUTHORITY_KEY_ID_ISSUER, - LWS_TLS_CERT_INFO_AUTHORITY_KEY_ID_SERIAL, - LWS_TLS_CERT_INFO_COMMON_NAME, - LWS_TLS_CERT_INFO_DER_RAW, - LWS_TLS_CERT_INFO_ISSUER_NAME, - LWS_TLS_CERT_INFO_OPAQUE_PUBLIC_KEY, - LWS_TLS_CERT_INFO_SUBJECT_KEY_ID, - LWS_TLS_CERT_INFO_USAGE, - LWS_TLS_CERT_INFO_VALIDITY_FROM, - LWS_TLS_CERT_INFO_VALIDITY_TO, - LWS_TLS_CERT_INFO_VERIFIED, - LWS_TLS_REQ_ELEMENT_COMMON_NAME, - LWS_TLS_REQ_ELEMENT_COUNT, - LWS_TLS_REQ_ELEMENT_COUNTRY, - LWS_TLS_REQ_ELEMENT_EMAIL, - LWS_TLS_REQ_ELEMENT_LOCALITY, - LWS_TLS_REQ_ELEMENT_ORGANIZATION, - LWS_TLS_REQ_ELEMENT_STATE, - LWS_TLS_REQ_ELEMENT_SUBJECT_ALT_NAME, - LWS_TLS_SET_AUTH_PATH, - LWS_TLS_SET_CERT_PATH, - LWS_TLS_SET_DIR_URL, - LWS_TLS_SET_KEY_PATH, - LWS_TLS_TOTAL_COUNT - -export LWS_UFS_CLOSE, - LWS_UFS_CONTENT, - LWS_UFS_FINAL_CONTENT, - LWS_UFS_OPEN, - LWS_US_PER_MS, - LWS_US_PER_SEC - -export LWS_WRITE_BINARY, - LWS_WRITE_BUFLIST, - LWS_WRITE_CLIENT_IGNORE_XOR_MASK, - LWS_WRITE_CONTINUATION, - LWS_WRITE_H2_STREAM_END, - LWS_WRITE_HTTP, - LWS_WRITE_HTTP_FINAL, - LWS_WRITE_HTTP_HEADERS, - LWS_WRITE_HTTP_HEADERS_CONTINUATION, - LWS_WRITE_NO_FIN, - LWS_WRITE_PING, - LWS_WRITE_PONG, - LWS_WRITE_RAW, - LWS_WRITE_TEXT - -export WSI_INIT_TOKEN_MUXURL, - WSI_PARSING_COMPLETE - -export WSI_TOKEN_ACCEPT, - WSI_TOKEN_CHALLENGE, - WSI_TOKEN_COLON_PROTOCOL, - WSI_TOKEN_CONNECT, - WSI_TOKEN_CONNECTION, - WSI_TOKEN_COUNT, - WSI_TOKEN_DELETE_URI, - WSI_TOKEN_DRAFT, - WSI_TOKEN_DSS_SIGNATURE, - WSI_TOKEN_EXTENSIONS, - WSI_TOKEN_GET_URI, - WSI_TOKEN_HEAD_URI, - WSI_TOKEN_HOST, - WSI_TOKEN_HTTP, - WSI_TOKEN_HTTP1_0, - WSI_TOKEN_HTTP2_SETTINGS, - WSI_TOKEN_HTTP_ACCEPT, - WSI_TOKEN_HTTP_ACCEPT_CHARSET, - WSI_TOKEN_HTTP_ACCEPT_ENCODING, - WSI_TOKEN_HTTP_ACCEPT_LANGUAGE, - WSI_TOKEN_HTTP_ACCEPT_RANGES, - WSI_TOKEN_HTTP_ACCESS_CONTROL_ALLOW_ORIGIN, - WSI_TOKEN_HTTP_AC_REQUEST_HEADERS, - WSI_TOKEN_HTTP_AGE, - WSI_TOKEN_HTTP_ALLOW, - WSI_TOKEN_HTTP_AUTHORIZATION, - WSI_TOKEN_HTTP_CACHE_CONTROL, - WSI_TOKEN_HTTP_COLON_AUTHORITY, - WSI_TOKEN_HTTP_COLON_METHOD, - WSI_TOKEN_HTTP_COLON_PATH, - WSI_TOKEN_HTTP_COLON_SCHEME, - WSI_TOKEN_HTTP_COLON_STATUS, - WSI_TOKEN_HTTP_CONTENT_DISPOSITION, - WSI_TOKEN_HTTP_CONTENT_ENCODING, - WSI_TOKEN_HTTP_CONTENT_LANGUAGE, - WSI_TOKEN_HTTP_CONTENT_LENGTH, - WSI_TOKEN_HTTP_CONTENT_LOCATION, - WSI_TOKEN_HTTP_CONTENT_RANGE, - WSI_TOKEN_HTTP_CONTENT_TYPE, - WSI_TOKEN_HTTP_COOKIE, - WSI_TOKEN_HTTP_DATE, - WSI_TOKEN_HTTP_ETAG, - WSI_TOKEN_HTTP_EXPECT, - WSI_TOKEN_HTTP_EXPIRES, - WSI_TOKEN_HTTP_FROM, - WSI_TOKEN_HTTP_IF_MATCH, - WSI_TOKEN_HTTP_IF_MODIFIED_SINCE, - WSI_TOKEN_HTTP_IF_NONE_MATCH, - WSI_TOKEN_HTTP_IF_RANGE, - WSI_TOKEN_HTTP_IF_UNMODIFIED_SINCE, - WSI_TOKEN_HTTP_LAST_MODIFIED, - WSI_TOKEN_HTTP_LINK, - WSI_TOKEN_HTTP_LOCATION, - WSI_TOKEN_HTTP_MAX_FORWARDS, - WSI_TOKEN_HTTP_PRAGMA, - WSI_TOKEN_HTTP_PROXY_AUTHENTICATE, - WSI_TOKEN_HTTP_PROXY_AUTHORIZATION, - WSI_TOKEN_HTTP_RANGE, - WSI_TOKEN_HTTP_REFERER, - WSI_TOKEN_HTTP_REFRESH, - WSI_TOKEN_HTTP_RETRY_AFTER, - WSI_TOKEN_HTTP_SERVER, - WSI_TOKEN_HTTP_SET_COOKIE, - WSI_TOKEN_HTTP_STRICT_TRANSPORT_SECURITY, - WSI_TOKEN_HTTP_TRANSFER_ENCODING, - WSI_TOKEN_HTTP_URI_ARGS, - WSI_TOKEN_HTTP_USER_AGENT, - WSI_TOKEN_HTTP_VARY, - WSI_TOKEN_HTTP_VIA, - WSI_TOKEN_HTTP_WWW_AUTHENTICATE, - WSI_TOKEN_HTTP_X_REAL_IP, - WSI_TOKEN_KEY, - WSI_TOKEN_KEY1, - WSI_TOKEN_KEY2, - WSI_TOKEN_NAME_PART, - WSI_TOKEN_NONCE, - WSI_TOKEN_OPTIONS_URI, - WSI_TOKEN_ORIGIN, - WSI_TOKEN_PATCH_URI, - WSI_TOKEN_POST_URI, - WSI_TOKEN_PROTOCOL, - WSI_TOKEN_PROXY, - WSI_TOKEN_PUT_URI, - WSI_TOKEN_REPLAY_NONCE, - WSI_TOKEN_SKIPPING, - WSI_TOKEN_SKIPPING_SAW_CR, - WSI_TOKEN_SWORIGIN, - WSI_TOKEN_TE, - WSI_TOKEN_UNKNOWN_VALUE_PART, - WSI_TOKEN_UPGRADE, - WSI_TOKEN_VERSION, - WSI_TOKEN_X_AUTH_TOKEN, - WSI_TOKEN_X_FORWARDED_FOR +# __lws consts const LWS_WRITE_TEXT = 0 % UInt32 const LWS_WRITE_BINARY = 1 % UInt32 @@ -696,207 +186,6 @@ const LWS_EXT_CB_OPTION_SET = 24 % UInt32 const LWS_EXT_CB_OPTION_CONFIRM = 25 % UInt32 const LWS_EXT_CB_NAMED_OPTION_SET = 26 % UInt32 -const EXTARG_NONE = 0 % UInt32 -const EXTARG_DEC = 1 % UInt32 -const EXTARG_OPT_DEC = 2 % UInt32 - -const LWSMPRO_HTTP = 0 % UInt32 -const LWSMPRO_HTTPS = 1 % UInt32 -const LWSMPRO_FILE = 2 % UInt32 -const LWSMPRO_CGI = 3 % UInt32 -const LWSMPRO_REDIR_HTTP = 4 % UInt32 -const LWSMPRO_REDIR_HTTPS = 5 % UInt32 -const LWSMPRO_CALLBACK = 6 % UInt32 - -const LWSAUTHM_DEFAULT = 0 % UInt32 -const LWSAUTHM_BASIC_AUTH_CALLBACK = 268435456 % UInt32 - -const LCCSCF_USE_SSL = 1 % UInt32 -const LCCSCF_ALLOW_SELFSIGNED = 2 % UInt32 -const LCCSCF_SKIP_SERVER_CERT_HOSTNAME_CHECK = 4 % UInt32 -const LCCSCF_ALLOW_EXPIRED = 8 % UInt32 -const LCCSCF_ALLOW_INSECURE = 16 % UInt32 -const LCCSCF_H2_QUIRK_NGHTTP2_END_STREAM = 32 % UInt32 -const LCCSCF_H2_QUIRK_OVERFLOWS_TXCR = 64 % UInt32 -const LCCSCF_H2_AUTH_BEARER = 128 % UInt32 -const LCCSCF_H2_HEXIFY_AUTH_TOKEN = 256 % UInt32 -const LCCSCF_H2_MANUAL_RXFLOW = 512 % UInt32 -const LCCSCF_HTTP_MULTIPART_MIME = 1024 % UInt32 -const LCCSCF_HTTP_X_WWW_FORM_URLENCODED = 2048 % UInt32 -const LCCSCF_HTTP_NO_FOLLOW_REDIRECT = 4096 % UInt32 -const LCCSCF_PIPELINE = 65536 % UInt32 -const LCCSCF_MUXABLE_STREAM = 131072 % UInt32 -const LCCSCF_H2_PRIOR_KNOWLEDGE = 262144 % UInt32 -const LCCSCF_WAKE_SUSPEND__VALIDITY = 524288 % UInt32 -const LCCSCF_PRIORITIZE_READS = 1048576 % UInt32 -const LCCSCF_SECSTREAM_CLIENT = 2097152 % UInt32 -const LCCSCF_SECSTREAM_PROXY_LINK = 4194304 % UInt32 -const LCCSCF_SECSTREAM_PROXY_ONWARD = 8388608 % UInt32 -const LCCSCF_IP_LOW_LATENCY = 16777216 % UInt32 -const LCCSCF_IP_HIGH_THROUGHPUT = 33554432 % UInt32 -const LCCSCF_IP_HIGH_RELIABILITY = 67108864 % UInt32 -const LCCSCF_IP_LOW_COST = 134217728 % UInt32 -const LCCSCF_CONMON = 268435456 % UInt32 -const LCCSCF_ACCEPT_TLS_DOWNGRADE_REDIRECTS = 536870912 % UInt32 -const LCCSCF_CACHE_COOKIES = 1073741824 % UInt32 - -const HTTP_STATUS_CONTINUE = 100 % UInt32 -const HTTP_STATUS_OK = 200 % UInt32 -const HTTP_STATUS_NO_CONTENT = 204 % UInt32 -const HTTP_STATUS_PARTIAL_CONTENT = 206 % UInt32 -const HTTP_STATUS_MOVED_PERMANENTLY = 301 % UInt32 -const HTTP_STATUS_FOUND = 302 % UInt32 -const HTTP_STATUS_SEE_OTHER = 303 % UInt32 -const HTTP_STATUS_NOT_MODIFIED = 304 % UInt32 -const HTTP_STATUS_BAD_REQUEST = 400 % UInt32 -const HTTP_STATUS_UNAUTHORIZED = 401 % UInt32 -const HTTP_STATUS_PAYMENT_REQUIRED = 402 % UInt32 -const HTTP_STATUS_FORBIDDEN = 403 % UInt32 -const HTTP_STATUS_NOT_FOUND = 404 % UInt32 -const HTTP_STATUS_METHOD_NOT_ALLOWED = 405 % UInt32 -const HTTP_STATUS_NOT_ACCEPTABLE = 406 % UInt32 -const HTTP_STATUS_PROXY_AUTH_REQUIRED = 407 % UInt32 -const HTTP_STATUS_REQUEST_TIMEOUT = 408 % UInt32 -const HTTP_STATUS_CONFLICT = 409 % UInt32 -const HTTP_STATUS_GONE = 410 % UInt32 -const HTTP_STATUS_LENGTH_REQUIRED = 411 % UInt32 -const HTTP_STATUS_PRECONDITION_FAILED = 412 % UInt32 -const HTTP_STATUS_REQ_ENTITY_TOO_LARGE = 413 % UInt32 -const HTTP_STATUS_REQ_URI_TOO_LONG = 414 % UInt32 -const HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE = 415 % UInt32 -const HTTP_STATUS_REQ_RANGE_NOT_SATISFIABLE = 416 % UInt32 -const HTTP_STATUS_EXPECTATION_FAILED = 417 % UInt32 -const HTTP_STATUS_INTERNAL_SERVER_ERROR = 500 % UInt32 -const HTTP_STATUS_NOT_IMPLEMENTED = 501 % UInt32 -const HTTP_STATUS_BAD_GATEWAY = 502 % UInt32 -const HTTP_STATUS_SERVICE_UNAVAILABLE = 503 % UInt32 -const HTTP_STATUS_GATEWAY_TIMEOUT = 504 % UInt32 -const HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED = 505 % UInt32 - -const WSI_TOKEN_GET_URI = 0 % UInt32 -const WSI_TOKEN_POST_URI = 1 % UInt32 -const WSI_TOKEN_OPTIONS_URI = 2 % UInt32 -const WSI_TOKEN_HOST = 3 % UInt32 -const WSI_TOKEN_CONNECTION = 4 % UInt32 -const WSI_TOKEN_UPGRADE = 5 % UInt32 -const WSI_TOKEN_ORIGIN = 6 % UInt32 -const WSI_TOKEN_DRAFT = 7 % UInt32 -const WSI_TOKEN_CHALLENGE = 8 % UInt32 -const WSI_TOKEN_EXTENSIONS = 9 % UInt32 -const WSI_TOKEN_KEY1 = 10 % UInt32 -const WSI_TOKEN_KEY2 = 11 % UInt32 -const WSI_TOKEN_PROTOCOL = 12 % UInt32 -const WSI_TOKEN_ACCEPT = 13 % UInt32 -const WSI_TOKEN_NONCE = 14 % UInt32 -const WSI_TOKEN_HTTP = 15 % UInt32 -const WSI_TOKEN_HTTP2_SETTINGS = 16 % UInt32 -const WSI_TOKEN_HTTP_ACCEPT = 17 % UInt32 -const WSI_TOKEN_HTTP_AC_REQUEST_HEADERS = 18 % UInt32 -const WSI_TOKEN_HTTP_IF_MODIFIED_SINCE = 19 % UInt32 -const WSI_TOKEN_HTTP_IF_NONE_MATCH = 20 % UInt32 -const WSI_TOKEN_HTTP_ACCEPT_ENCODING = 21 % UInt32 -const WSI_TOKEN_HTTP_ACCEPT_LANGUAGE = 22 % UInt32 -const WSI_TOKEN_HTTP_PRAGMA = 23 % UInt32 -const WSI_TOKEN_HTTP_CACHE_CONTROL = 24 % UInt32 -const WSI_TOKEN_HTTP_AUTHORIZATION = 25 % UInt32 -const WSI_TOKEN_HTTP_COOKIE = 26 % UInt32 -const WSI_TOKEN_HTTP_CONTENT_LENGTH = 27 % UInt32 -const WSI_TOKEN_HTTP_CONTENT_TYPE = 28 % UInt32 -const WSI_TOKEN_HTTP_DATE = 29 % UInt32 -const WSI_TOKEN_HTTP_RANGE = 30 % UInt32 -const WSI_TOKEN_HTTP_REFERER = 31 % UInt32 -const WSI_TOKEN_KEY = 32 % UInt32 -const WSI_TOKEN_VERSION = 33 % UInt32 -const WSI_TOKEN_SWORIGIN = 34 % UInt32 -const WSI_TOKEN_HTTP_COLON_AUTHORITY = 35 % UInt32 -const WSI_TOKEN_HTTP_COLON_METHOD = 36 % UInt32 -const WSI_TOKEN_HTTP_COLON_PATH = 37 % UInt32 -const WSI_TOKEN_HTTP_COLON_SCHEME = 38 % UInt32 -const WSI_TOKEN_HTTP_COLON_STATUS = 39 % UInt32 -const WSI_TOKEN_HTTP_ACCEPT_CHARSET = 40 % UInt32 -const WSI_TOKEN_HTTP_ACCEPT_RANGES = 41 % UInt32 -const WSI_TOKEN_HTTP_ACCESS_CONTROL_ALLOW_ORIGIN = 42 % UInt32 -const WSI_TOKEN_HTTP_AGE = 43 % UInt32 -const WSI_TOKEN_HTTP_ALLOW = 44 % UInt32 -const WSI_TOKEN_HTTP_CONTENT_DISPOSITION = 45 % UInt32 -const WSI_TOKEN_HTTP_CONTENT_ENCODING = 46 % UInt32 -const WSI_TOKEN_HTTP_CONTENT_LANGUAGE = 47 % UInt32 -const WSI_TOKEN_HTTP_CONTENT_LOCATION = 48 % UInt32 -const WSI_TOKEN_HTTP_CONTENT_RANGE = 49 % UInt32 -const WSI_TOKEN_HTTP_ETAG = 50 % UInt32 -const WSI_TOKEN_HTTP_EXPECT = 51 % UInt32 -const WSI_TOKEN_HTTP_EXPIRES = 52 % UInt32 -const WSI_TOKEN_HTTP_FROM = 53 % UInt32 -const WSI_TOKEN_HTTP_IF_MATCH = 54 % UInt32 -const WSI_TOKEN_HTTP_IF_RANGE = 55 % UInt32 -const WSI_TOKEN_HTTP_IF_UNMODIFIED_SINCE = 56 % UInt32 -const WSI_TOKEN_HTTP_LAST_MODIFIED = 57 % UInt32 -const WSI_TOKEN_HTTP_LINK = 58 % UInt32 -const WSI_TOKEN_HTTP_LOCATION = 59 % UInt32 -const WSI_TOKEN_HTTP_MAX_FORWARDS = 60 % UInt32 -const WSI_TOKEN_HTTP_PROXY_AUTHENTICATE = 61 % UInt32 -const WSI_TOKEN_HTTP_PROXY_AUTHORIZATION = 62 % UInt32 -const WSI_TOKEN_HTTP_REFRESH = 63 % UInt32 -const WSI_TOKEN_HTTP_RETRY_AFTER = 64 % UInt32 -const WSI_TOKEN_HTTP_SERVER = 65 % UInt32 -const WSI_TOKEN_HTTP_SET_COOKIE = 66 % UInt32 -const WSI_TOKEN_HTTP_STRICT_TRANSPORT_SECURITY = 67 % UInt32 -const WSI_TOKEN_HTTP_TRANSFER_ENCODING = 68 % UInt32 -const WSI_TOKEN_HTTP_USER_AGENT = 69 % UInt32 -const WSI_TOKEN_HTTP_VARY = 70 % UInt32 -const WSI_TOKEN_HTTP_VIA = 71 % UInt32 -const WSI_TOKEN_HTTP_WWW_AUTHENTICATE = 72 % UInt32 -const WSI_TOKEN_PATCH_URI = 73 % UInt32 -const WSI_TOKEN_PUT_URI = 74 % UInt32 -const WSI_TOKEN_DELETE_URI = 75 % UInt32 -const WSI_TOKEN_HTTP_URI_ARGS = 76 % UInt32 -const WSI_TOKEN_PROXY = 77 % UInt32 -const WSI_TOKEN_HTTP_X_REAL_IP = 78 % UInt32 -const WSI_TOKEN_HTTP1_0 = 79 % UInt32 -const WSI_TOKEN_X_FORWARDED_FOR = 80 % UInt32 -const WSI_TOKEN_CONNECT = 81 % UInt32 -const WSI_TOKEN_HEAD_URI = 82 % UInt32 -const WSI_TOKEN_TE = 83 % UInt32 -const WSI_TOKEN_REPLAY_NONCE = 84 % UInt32 -const WSI_TOKEN_COLON_PROTOCOL = 85 % UInt32 -const WSI_TOKEN_X_AUTH_TOKEN = 86 % UInt32 -const WSI_TOKEN_DSS_SIGNATURE = 87 % UInt32 -const _WSI_TOKEN_CLIENT_SENT_PROTOCOLS = 88 % UInt32 -const _WSI_TOKEN_CLIENT_PEER_ADDRESS = 89 % UInt32 -const _WSI_TOKEN_CLIENT_URI = 90 % UInt32 -const _WSI_TOKEN_CLIENT_HOST = 91 % UInt32 -const _WSI_TOKEN_CLIENT_ORIGIN = 92 % UInt32 -const _WSI_TOKEN_CLIENT_METHOD = 93 % UInt32 -const _WSI_TOKEN_CLIENT_IFACE = 94 % UInt32 -const _WSI_TOKEN_CLIENT_ALPN = 95 % UInt32 -const WSI_TOKEN_COUNT = 96 % UInt32 -const WSI_TOKEN_NAME_PART = 97 % UInt32 -const WSI_TOKEN_UNKNOWN_VALUE_PART = 98 % UInt32 -const WSI_TOKEN_SKIPPING = 99 % UInt32 -const WSI_TOKEN_SKIPPING_SAW_CR = 100 % UInt32 -const WSI_PARSING_COMPLETE = 101 % UInt32 -const WSI_INIT_TOKEN_MUXURL = 102 % UInt32 - -const H2SET_HEADER_TABLE_SIZE = 1 % UInt32 -const H2SET_ENABLE_PUSH = 2 % UInt32 -const H2SET_MAX_CONCURRENT_STREAMS = 3 % UInt32 -const H2SET_INITIAL_WINDOW_SIZE = 4 % UInt32 -const H2SET_MAX_FRAME_SIZE = 5 % UInt32 -const H2SET_MAX_HEADER_LIST_SIZE = 6 % UInt32 -const H2SET_RESERVED7 = 7 % UInt32 -const H2SET_ENABLE_CONNECT_PROTOCOL = 8 % UInt32 -const H2SET_COUNT = 9 % UInt32 - -const LWSHUMETH_GET = 0 % UInt32 -const LWSHUMETH_POST = 1 % UInt32 -const LWSHUMETH_OPTIONS = 2 % UInt32 -const LWSHUMETH_PUT = 3 % UInt32 -const LWSHUMETH_PATCH = 4 % UInt32 -const LWSHUMETH_DELETE = 5 % UInt32 -const LWSHUMETH_CONNECT = 6 % UInt32 -const LWSHUMETH_HEAD = 7 % UInt32 -const LWSHUMETH_COLON_PATH = 8 % UInt32 - const LWS_UFS_CONTENT = 0 % UInt32 const LWS_UFS_FINAL_CONTENT = 1 % UInt32 const LWS_UFS_OPEN = 2 % UInt32 @@ -922,8 +211,8 @@ const LWS_LIBRARY_VERSION_MINOR = 3 const LWS_LIBRARY_VERSION_PATCH = 3 const LWS_LIBRARY_VERSION_NUMBER = LWS_LIBRARY_VERSION_MAJOR * 1000000 + LWS_LIBRARY_VERSION_MINOR * 1000 + LWS_LIBRARY_VERSION_PATCH const LWS_MAX_SMP = 1 -const LWS_BUILD_HASH = "v4.3.3" -const LWS_LIBRARY_VERSION = "4.3.3-v4.3.3" +const LWS_BUILD_HASH = "v4.4.0" +const LWS_LIBRARY_VERSION = "4.4.0-v4.4.0" const LWS_LOGGING_BITFIELD_CLEAR = 0 const LWS_LOGGING_BITFIELD_SET = 0 const LWS_OPENSSL_CLIENT_CERTS = "../share" @@ -958,26 +247,6 @@ const LWS_PI = UInt64(LWS_TI) * 1024 const LWS_INVALID_FILE = -1 const LWS_SOCK_INVALID = -1 -const CONTEXT_PORT_NO_LISTEN = -1 -const CONTEXT_PORT_NO_LISTEN_SERVER = -2 - -const LLL_ERR = 1 << 0 -const LLL_WARN = 1 << 1 -const LLL_NOTICE = 1 << 2 -const LLL_INFO = 1 << 3 -const LLL_DEBUG = 1 << 4 -const LLL_PARSER = 1 << 5 -const LLL_HEADER = 1 << 6 -const LLL_EXT = 1 << 7 -const LLL_CLIENT = 1 << 8 -const LLL_LATENCY = 1 << 9 -const LLL_USER = 1 << 10 -const LLL_THREAD = 1 << 11 -const LLL_COUNT = 12 -const LLLF_SECRECY_PII = 1 << 16 -const LLLF_SECRECY_BEARER = 1 << 17 -const LLLF_LOG_TIMESTAMP = 1 << 18 -const LLLF_LOG_CONTEXT_AWARE = 1 << 30 const LWS_CB_REASON_AUX_BF__CGI = 1 const LWS_CB_REASON_AUX_BF__PROXY = 2 @@ -1028,14 +297,37 @@ const LWS_SERVER_OPTION_SDEVENT = Clonglong(1) << 37 const LWS_SERVER_OPTION_ULOOP = Clonglong(1) << 38 const LWS_SERVER_OPTION_DISABLE_TLS_SESSION_CACHE = Clonglong(1) << 39 -const AUTH_MODE_MASK = 0xf0000000 const LWS_RECOMMENDED_MIN_HEADER_SPACE = 2048 -const LWSAHH_CODE_MASK = 1 << 16 - 1 -const LWSAHH_FLAG_NO_SERVER_NAME = 1 << 30 const LWS_H2_STREAM_SID = -1 const LWS_SEND_BUFFER_PRE_PADDING = LWS_PRE const LWS_SEND_BUFFER_POST_PADDING = 0 const LWS_WRITE_RAW = LWS_WRITE_HTTP -const LWSTXCR_US_TO_PEER = 0 -const LWSTXCR_PEER_TO_US = 1 const LWS_SESSION_TAG_LEN = 96 +const LWS_CONTEXT_NULL = Ptr{Cvoid}(C_NULL) + +const LWS_MPRO_HTTP = 0 % UInt32 +const LWS_MPRO_HTTPS = 1 % UInt32 +const LWS_MPRO_FILE = 2 % UInt32 +const LWS_MPRO_CGI = 3 % UInt32 +const LWS_MPRO_REDIR_HTTP = 4 % UInt32 +const LWS_MPRO_REDIR_HTTPS = 5 % UInt32 +const LWS_MPRO_CALLBACK = 6 % UInt32 + +const LWS_AUTHM_DEFAULT = 0 % UInt32 +const LWS_AUTHM_BASIC_AUTH_CALLBACK = 268435456 % UInt32 + +const LWS_HUMETH_GET = 0 % UInt32 +const LWS_HUMETH_POST = 1 % UInt32 +const LWS_HUMETH_OPTIONS = 2 % UInt32 +const LWS_HUMETH_PUT = 3 % UInt32 +const LWS_HUMETH_PATCH = 4 % UInt32 +const LWS_HUMETH_DELETE = 5 % UInt32 +const LWS_HUMETH_CONNECT = 6 % UInt32 +const LWS_HUMETH_HEAD = 7 % UInt32 +const LWS_HUMETH_COLON_PATH = 8 % UInt32 + +const LWS_AHH_CODE_MASK = 1 << 16 - 1 +const LWS_AHH_FLAG_NO_SERVER_NAME = 1 << 30 +const LWS_TXCR_US_TO_PEER = 0 +const LWS_TXCR_PEER_TO_US = 1 + diff --git a/src/external.jl b/src/external.jl index fc52c8d..a79eaa5 100644 --- a/src/external.jl +++ b/src/external.jl @@ -1,22 +1,29 @@ using Printf -export lwsl_notice, - lwsl_warn, - lwsl_info, - lwsl_debug, - lwsl_parser, - lwsl_header, - lwsl_ext, - lwsl_client, - lwsl_latency, - lwsl_thread, - lwsl_user - function _log(filter::Int, format::AbstractString, args...) log_str = Printf.format(Printf.Format(format), args...) return _lws_log(filter, log_str) end +const LLL_ERR = 1 << 0 +const LLL_WARN = 1 << 1 +const LLL_NOTICE = 1 << 2 +const LLL_INFO = 1 << 3 +const LLL_DEBUG = 1 << 4 +const LLL_PARSER = 1 << 5 +const LLL_HEADER = 1 << 6 +const LLL_EXT = 1 << 7 +const LLL_CLIENT = 1 << 8 +const LLL_LATENCY = 1 << 9 +const LLL_USER = 1 << 10 +const LLL_THREAD = 1 << 11 +const LLL_COUNT = 12 +const LLLF_SECRECY_PII = 1 << 16 +const LLLF_SECRECY_BEARER = 1 << 17 +const LLLF_LOG_TIMESTAMP = 1 << 18 +const LLLF_LOG_CONTEXT_AWARE = 1 << 30 +const AUTH_MODE_MASK = 0xf0000000 + lwsl_notice(args...) = _log(LLL_ERR, args...) lwsl_warn(args...) = _log(LLL_NOTICE, args...) lwsl_info(args...) = _log(LLL_INFO, args...) diff --git a/src/functions.jl b/src/functions.jl index 44e26cb..e313381 100644 --- a/src/functions.jl +++ b/src/functions.jl @@ -1,164 +1,4 @@ -# functions.jl - -export lws_add_http_common_headers, - lws_add_http_header_by_name, - lws_add_http_header_by_token, - lws_add_http_header_content_length, - lws_add_http_header_status, - lws_adjust_protocol_psds, - lws_callback_all_protocol, - lws_callback_all_protocol_vhost, - lws_callback_all_protocol_vhost_args, - lws_callback_http_dummy, - lws_callback_on_writable, - lws_callback_on_writable_all_protocol, - lws_callback_on_writable_all_protocol_vhost, - lws_callback_vhost_protocols, - lws_callback_vhost_protocols_vhost, - lws_cancel_service, - lws_cancel_service_pt, - lws_chunked_html_process, - lws_client_connect_via_info, - lws_client_http_body_pending, - lws_client_http_multipart, - lws_close_reason, - lws_context_deprecate, - lws_context_destroy, - lws_context_is_being_destroyed, - lws_context_is_deprecated, - lws_context_user, - lws_create_context, - lws_create_vhost, - lws_ext_parse_options, - lws_extension_callback_pm_deflate, - lws_finalize_http_header, - lws_finalize_startup, - lws_finalize_write_http_header, - lws_frame_is_binary, - lws_get_context, - lws_get_mimetype, - lws_get_peer_write_allowance, - lws_get_protocol, - lws_get_reserved_bits, - lws_get_socket_fd, - lws_get_urlarg_by_name, - lws_get_urlarg_by_name_safe, - lws_get_vhost, - lws_get_vhost_by_name, - lws_get_vhost_iface, - lws_get_vhost_name, - lws_get_vhost_port, - lws_get_vhost_user, - lws_h2_client_stream_long_poll_rxonly, - lws_h2_get_peer_txcredit_estimate, - lws_h2_update_peer_txcredit, - lws_handle_POLLOUT_event, - lws_hdr_copy, - lws_hdr_copy_fragment, - lws_hdr_custom_copy, - lws_hdr_custom_length, - lws_hdr_custom_name_foreach, - lws_hdr_fragment_length, - lws_hdr_total_length, - lws_http_basic_auth_gen, - lws_http_check_retry_after, - lws_http_client_http_response, - lws_http_client_read, - lws_http_compression_apply, - lws_http_cookie_get, - lws_http_date_parse_unix, - lws_http_date_render_from_unix, - lws_http_get_uri_and_method, - lws_http_headers_detach, - lws_http_is_redirected_to_get, - lws_http_mark_sse, - lws_http_redirect, - lws_http_transaction_completed, - lws_init_vhost_client_ssl, - lws_is_be, - lws_is_final_fragment, - lws_is_first_fragment, - lws_json_dump_context, - lws_json_dump_vhost, - lws_log_emit_cx_file, - lws_log_prepend_context, - lws_log_prepend_vhost, - lws_log_prepend_wsi, - lws_log_use_cx_file, - lws_partial_buffered, - lws_plugins_destroy, - lws_plugins_init, - lws_protocol_get, - lws_protocol_init, - lws_protocol_vh_priv_get, - lws_protocol_vh_priv_zalloc, - lws_pvo_get_str, - lws_pvo_search, - lws_raw_transaction_completed, - lws_return_http_status, - lws_send_pipe_choked, - lws_serve_http_file, - lws_serve_http_file_fragment, - lws_service, - lws_service_adjust_timeout, - lws_service_fd, - lws_service_fd_tsi, - lws_service_tsi, - lws_set_extension_option, - lws_set_log_level, - lws_set_proxy, - lws_set_socks, - lws_spa_create, - lws_spa_create_via_info, - lws_spa_destroy, - lws_spa_finalize, - lws_spa_get_length, - lws_spa_get_string, - lws_spa_process, - lws_tls_acme_sni_cert_create, - lws_tls_acme_sni_csr_create, - lws_tls_cert_updated, - lws_tls_client_vhost_extra_cert_mem, - lws_tls_peer_cert_info, - lws_tls_session_dump_load, - lws_tls_session_dump_save, - lws_tls_session_is_reused, - lws_tls_vhost_cert_info, - lws_token_to_string, - lws_urldecode, - lws_urlencode, - lws_vh_tag, - lws_vhd_find_by_pvo, - lws_vhost_destroy, - lws_vhost_name_to_protocol, - lws_vhost_user, - lws_write, - lws_write_ws_flags, - lws_wsi_tag, - lws_wsi_tx_credit, - lws_x509_create, - lws_x509_destroy, - lws_x509_info, - lws_x509_parse_from_pem, - lws_x509_verify, - lwsl_context_get_cx, - lwsl_emit_stderr, - lwsl_emit_stderr_notimestamp, - lwsl_emit_syslog, - lwsl_hexdump, - lwsl_hexdump_level, - lwsl_hexdump_level_cx, - lwsl_refcount_cx, - lwsl_timestamp, - lwsl_vhost_get_cx, - lwsl_visible, - lwsl_wsi_get_cx, - lwsws_get_config_globals, - lwsws_get_config_vhosts, - lws_sul_schedule, - lws_retry_sul_schedule, - lws_retry_sul_schedule_retry_wsi, - lws_remaining_packet_payload +#__ functions function lwsl_context_get_cx(cx) ccall((:lwsl_context_get_cx, libwebsockets), Ptr{LwsLogCx}, (Ptr{LwsContext},), cx) @@ -276,8 +116,8 @@ function lws_partial_buffered(wsi) ccall((:lws_partial_buffered, libwebsockets), Cint, (Ptr{Lws},), wsi) end -function lws_frame_is_binary(wsi) - ccall((:lws_frame_is_binary, libwebsockets), Cint, (Ptr{Lws},), wsi) +function lws_frame_is_binary(wsi)::Bool + ccall((:lws_frame_is_binary, libwebsockets), Cint, (Ptr{Lws},), wsi) != 0 end function lws_set_extension_option(wsi, ext_name, opt_name, opt_val) @@ -811,3 +651,23 @@ end function lws_set_timer_usecs(wsi, usecs) ccall((:lws_rx_flow_control, libwebsockets), Cvoid, (Ptr{Lws}, Clong), wsi, usecs) end + +function lws_parse_uri(p::Ptr{Cchar}, prot::Ref{Ptr{Cchar}}, ads::Ref{Ptr{Cchar}}, port::Ref{Cint}, path::Ref{Ptr{Cchar}}) + ccall((:lws_parse_uri, libwebsockets), Cint, (Ptr{Cchar}, Ref{Ptr{Cchar}}, Ref{Ptr{Cchar}}, Ref{Cint}, Ref{Ptr{Cchar}}), p, prot, ads, port, path) +end + +function lws_get_opaque_user_data(wsi::Ptr{Lws})::Ptr{Cvoid} + ccall((:lws_get_opaque_user_data, libwebsockets), Ptr{Cvoid}, (Ptr{Lws},), wsi) +end + +function lws_set_opaque_user_data(wsi::Ptr{Lws}, p::Ptr{Cvoid}) + ccall((:lws_set_opaque_user_data, libwebsockets), Cvoid, (Ptr{Lws}, Ptr{Cvoid}), wsi, p) +end + +function lws_uv_initloop(context::Ptr{LwsContext}, loop::Ptr{Cvoid}, tsi::Cint)::Cint + ccall((:lws_uv_initloop, libwebsockets), Cint, (Ptr{LwsContext}, Ptr{Cvoid}, Cint), context, loop, tsi) +end + +function lws_set_protocol(wsi::Ptr{Lws}, proto::Ptr{LwsProtocols}) + ccall((:lws_set_protocol, libwebsockets), Cvoid, (Ptr{Lws}, Ptr{LwsProtocols}), wsi, proto) +end diff --git a/src/types.jl b/src/types.jl index c809c67..73e874a 100644 --- a/src/types.jl +++ b/src/types.jl @@ -1,53 +1,4 @@ -# types.jl - -export Lws, - LwsAc, - LwsAcmeCertAgingArgs, - LwsClientConnectInfo, - LwsContext, - LwsContextCreationInfo, - LwsDsh, - LwsEventLoopOps, - LwsExtOptionArg, - LwsExtOptions, - LwsExtension, - LwsHttpMount, - LwsLogCx, - LwsLogCxUnion, - LwsMetricPolicy, - LwsPlatFileOps, - LwsPlugin, - LwsPluginEvlib, - LwsPluginHeader, - LwsPluginProtocol, - LwsPluginUnion, - LwsPollargs, - LwsPollfd, - LwsProcessHtmlArgs, - LwsProcessHtmlState, - LwsProtocolVhostOptions, - LwsProtocols, - LwsSequencer, - LwsSpa, - LwsSpaCreateInfo, - LwsSsPlugin, - LwsSsPolicy, - LwsSslInfo, - LwsTlsCertInfoResults, - LwsTlsSessionDump, - LwsTokenLimits, - LwsTokens, - LwsVhost, - LwsWritePassthru, - LwsX509Cert, - LwsSslCtxSt, - LwsSystemOpts, - LwsRetryBo, - LwsDll2, - LwsStateNotifyLink, - LwsSortedUsecList, - LwsTransportClientOps, - LwsTransportProxyOps +# __types struct LwsContext end struct LwsVhost end diff --git a/test/runtests.jl b/test/runtests.jl index 0d64144..37fa187 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -8,6 +8,9 @@ mutable struct UserData done::Bool end +const CONTEXT_PORT_NO_LISTEN = -1 +const CONTEXT_PORT_NO_LISTEN_SERVER = -2 + function http_callback(wsi::Ptr{Cvoid}, reason::Cint, user::Ptr{Cvoid}, data::Ptr{UInt8}, len::Csize_t)::Cint if reason == LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ && user != C_NULL user_ctx = unsafe_pointer_to_objref(user)