plat-optee and boringssl adaptations

This commit is contained in:
Andy Green 2017-01-17 07:01:02 +08:00
parent e680fb9193
commit 51c96d8c2a
35 changed files with 903 additions and 380 deletions

2
.gitignore vendored
View file

@ -1,5 +1,4 @@
#Ignore build files #Ignore build files
Makefile
config.h config.h
config.log config.log
config.status config.status
@ -23,6 +22,7 @@ win32port/zlib/Release*/
*.suo *.suo
*.su *.su
*.m4 *.m4
*.a
missing missing
depcomp depcomp
install-sh install-sh

View file

@ -109,6 +109,7 @@ option(LWS_WITH_GENERIC_SESSIONS "With the Generic Sessions plugin" OFF)
option(LWS_WITH_SQLITE3 "Require SQLITE3 support" OFF) option(LWS_WITH_SQLITE3 "Require SQLITE3 support" OFF)
option(LWS_WITH_SMTP "Provide SMTP support" OFF) option(LWS_WITH_SMTP "Provide SMTP support" OFF)
option(LWS_WITH_ESP8266 "Build for ESP8266" OFF) option(LWS_WITH_ESP8266 "Build for ESP8266" OFF)
option(LWS_PLAT_OPTEE "Build for OPTEE" OFF)
option(LWS_WITH_NO_LOGS "Disable all logging from being compiled in" OFF) option(LWS_WITH_NO_LOGS "Disable all logging from being compiled in" OFF)
option(LWS_STATIC_PIC "Build the static version of the library with position-independent code" OFF) option(LWS_STATIC_PIC "Build the static version of the library with position-independent code" OFF)
option(LWS_WITH_RANGES "Support http ranges (RFC7233)" ON) option(LWS_WITH_RANGES "Support http ranges (RFC7233)" ON)
@ -603,8 +604,13 @@ else()
list(APPEND SOURCES list(APPEND SOURCES
lib/lws-plat-esp8266.c) lib/lws-plat-esp8266.c)
else() else()
list(APPEND SOURCES if (LWS_PLAT_OPTEE)
lib/lws-plat-unix.c) list(APPEND SOURCES
lib/lws-plat-optee.c)
else()
list(APPEND SOURCES
lib/lws-plat-unix.c)
endif()
endif() endif()
endif() endif()
endif() endif()
@ -1649,6 +1655,7 @@ message(" LWS_WITH_SMTP = ${LWS_WITH_SMTP}")
message(" LWS_WITH_GENERIC_SESSIONS = ${LWS_WITH_GENERIC_SESSIONS}") message(" LWS_WITH_GENERIC_SESSIONS = ${LWS_WITH_GENERIC_SESSIONS}")
message(" LWS_STATIC_PIC = ${LWS_STATIC_PIC}") message(" LWS_STATIC_PIC = ${LWS_STATIC_PIC}")
message(" LWS_WITH_RANGES = ${LWS_WITH_RANGES}") message(" LWS_WITH_RANGES = ${LWS_WITH_RANGES}")
message(" LWS_PLAT_OPTEE = ${LWS_PLAT_OPTEE}")
message("---------------------------------------------------------------------") message("---------------------------------------------------------------------")

View file

@ -13,7 +13,7 @@ create elaborate clean scripts to get a clean source tree, instead you
simply remove your build directory. simply remove your build directory.
Libwebsockets has been tested to build successfully on the following platforms Libwebsockets has been tested to build successfully on the following platforms
with SSL support (both OpenSSL/wolfSSL): with SSL support (for OpenSSL/wolfSSL/BoringSSL):
- Windows (Visual Studio) - Windows (Visual Studio)
- Windows (MinGW) - Windows (MinGW)
@ -265,8 +265,18 @@ and cd into it
8) yotta build 8) yotta build
@section cmco Setting compile options @section optee Building for OP-TEE
OP-TEE is a "Secure World" Trusted Execution Environment.
Although lws is only part of the necessary picture to have an https-enabled
TA, it does support OP-TEE as a platform and if you provide the other
pieces, does work very well.
Select it in cmake with `-DLWS_PLAT_OPTEE=1`
@section cmco Setting compile options
To set compile time flags you can either use one of the CMake gui applications To set compile time flags you can either use one of the CMake gui applications
or do it via the command line. or do it via the command line.

32
cross-aarch64.cmake Normal file
View file

@ -0,0 +1,32 @@
#
# CMake Toolchain file for crosscompiling on ARM.
#
# This can be used when running cmake in the following way:
# cd build/
# cmake .. -DCMAKE_TOOLCHAIN_FILE=../cross-arm-linux-gnueabihf.cmake
#
# Target operating system name.
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
# Name of C compiler.
set(CMAKE_C_COMPILER "aarch64-linux-gnu-gcc")
set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++")
#-nostdlib
SET(CMAKE_C_FLAGS "-DGCC_VER=\"\\\"$(GCC_VER)\\\"\" -DARM64=1 -D__LP64__=1 -Os -g3 -fpie -mstrict-align -DOPTEE_DEV_KIT=../../../optee_os/out/arm-plat-hikey/export-ta_arm64/include -fPIC -ffunction-sections -fdata-sections" CACHE STRING "" FORCE)
# Where to look for the target environment. (More paths can be added here)
set(CMAKE_FIND_ROOT_PATH "/projects/aist-tb/arm64-tc/")
# Adjust the default behavior of the FIND_XXX() commands:
# search programs in the host environment only.
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# Search headers and libraries in the target environment only.
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

View file

@ -196,6 +196,9 @@ $(document).ready(function(){initNavTree('globals_eval.html','');});
<li>LWS_CALLBACK_OPENSSL_PERFORM_CLIENT_CERT_VERIFICATION <li>LWS_CALLBACK_OPENSSL_PERFORM_CLIENT_CERT_VERIFICATION
: <a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae5ad65d779b7eab32ab67ceff91a3bac">libwebsockets.h</a> : <a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae5ad65d779b7eab32ab67ceff91a3bac">libwebsockets.h</a>
</li> </li>
<li>LWS_CALLBACK_OPENSSL_PERFORM_SERVER_CERT_VERIFICATION
: <a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a17620dd6cb920b9b6daeae63575be08b">libwebsockets.h</a>
</li>
<li>LWS_CALLBACK_PROTOCOL_DESTROY <li>LWS_CALLBACK_PROTOCOL_DESTROY
: <a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a54269ca88508e6efd3afdb9d360a9caa">libwebsockets.h</a> : <a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a54269ca88508e6efd3afdb9d360a9caa">libwebsockets.h</a>
</li> </li>

View file

@ -231,6 +231,9 @@ $(document).ready(function(){initNavTree('globals_l.html','');});
<li>LWS_CALLBACK_OPENSSL_PERFORM_CLIENT_CERT_VERIFICATION <li>LWS_CALLBACK_OPENSSL_PERFORM_CLIENT_CERT_VERIFICATION
: <a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae5ad65d779b7eab32ab67ceff91a3bac">libwebsockets.h</a> : <a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae5ad65d779b7eab32ab67ceff91a3bac">libwebsockets.h</a>
</li> </li>
<li>LWS_CALLBACK_OPENSSL_PERFORM_SERVER_CERT_VERIFICATION
: <a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a17620dd6cb920b9b6daeae63575be08b">libwebsockets.h</a>
</li>
<li>LWS_CALLBACK_PROTOCOL_DESTROY <li>LWS_CALLBACK_PROTOCOL_DESTROY
: <a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a54269ca88508e6efd3afdb9d360a9caa">libwebsockets.h</a> : <a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a54269ca88508e6efd3afdb9d360a9caa">libwebsockets.h</a>
</li> </li>

View file

@ -119,7 +119,7 @@ LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><
<p><code>#include &lt;<a class="el" href="libwebsockets_8h.html">lib/libwebsockets.h</a>&gt;</code></p> <p><code>#include &lt;<a class="el" href="libwebsockets_8h.html">lib/libwebsockets.h</a>&gt;</code></p>
<p>enum lws_client_connect_ssl_connection_flags - flags that may be used with struct <a class="el" href="structlws__client__connect__info.html">lws_client_connect_info</a> ssl_connection member to control if and how SSL checks apply to the client connection being created </p> <p>enum lws_client_connect_ssl_connection_flags - flags that may be used with struct <a class="el" href="structlws__client__connect__info.html">lws_client_connect_info</a> ssl_connection member to control if and how SSL checks apply to the client connection being created </p>
<div class="fragment"><div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160; {</div><div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160; LCCSCF_USE_SSL = (1 &lt;&lt; 0),</div><div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160; LCCSCF_ALLOW_SELFSIGNED = (1 &lt;&lt; 1),</div><div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160; LCCSCF_SKIP_SERVER_CERT_HOSTNAME_CHECK = (1 &lt;&lt; 2),</div><div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160; LCCSCF_ALLOW_EXPIRED = (1 &lt;&lt; 3)</div><div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160;};</div></div><!-- fragment --> <div class="fragment"><div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160; {</div><div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>&#160; LCCSCF_USE_SSL = (1 &lt;&lt; 0),</div><div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160; LCCSCF_ALLOW_SELFSIGNED = (1 &lt;&lt; 1),</div><div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160; LCCSCF_SKIP_SERVER_CERT_HOSTNAME_CHECK = (1 &lt;&lt; 2),</div><div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160; LCCSCF_ALLOW_EXPIRED = (1 &lt;&lt; 3)</div><div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160;};</div></div><!-- fragment -->
</div> </div>
</div> </div>
<h2 class="groupheader">Function Documentation</h2> <h2 class="groupheader">Function Documentation</h2>

File diff suppressed because one or more lines are too long

View file

@ -242,9 +242,9 @@ Functions</h2></td></tr>
<tr><td class="fieldname"><a id="ggacc9f55936dc165257a2e1f7d47bce89ea5265abe3e1c3f64412f2affe7bffd880"></a>EXTARG_OPT_DEC&#160;</td><td class="fielddoc"><p>may have an optional decimal argument </p> <tr><td class="fieldname"><a id="ggacc9f55936dc165257a2e1f7d47bce89ea5265abe3e1c3f64412f2affe7bffd880"></a>EXTARG_OPT_DEC&#160;</td><td class="fielddoc"><p>may have an optional decimal argument </p>
</td></tr> </td></tr>
</table> </table>
<div class="fragment"><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; {</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; <a class="code" href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89eaabcf56c456c1ff6e81dc82586a16f14c">EXTARG_NONE</a>, </div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; <a class="code" href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89ea1c86adf924c8786a12bee9687094673e">EXTARG_DEC</a>, </div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; <a class="code" href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89ea5265abe3e1c3f64412f2affe7bffd880">EXTARG_OPT_DEC</a> </div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; <span class="comment">/* Add new things just above here ---^</span></div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;<span class="comment"> * This is part of the ABI, don&#39;t needlessly break compatibility */</span></div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;};</div><div class="ttc" id="group__extensions_html_ggacc9f55936dc165257a2e1f7d47bce89ea5265abe3e1c3f64412f2affe7bffd880"><div class="ttname"><a href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89ea5265abe3e1c3f64412f2affe7bffd880">EXTARG_OPT_DEC</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1099</div></div> <div class="fragment"><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160; {</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; <a class="code" href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89eaabcf56c456c1ff6e81dc82586a16f14c">EXTARG_NONE</a>, </div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160; <a class="code" href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89ea1c86adf924c8786a12bee9687094673e">EXTARG_DEC</a>, </div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160; <a class="code" href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89ea5265abe3e1c3f64412f2affe7bffd880">EXTARG_OPT_DEC</a> </div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; <span class="comment">/* Add new things just above here ---^</span></div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;<span class="comment"> * This is part of the ABI, don&#39;t needlessly break compatibility */</span></div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;};</div><div class="ttc" id="group__extensions_html_ggacc9f55936dc165257a2e1f7d47bce89ea5265abe3e1c3f64412f2affe7bffd880"><div class="ttname"><a href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89ea5265abe3e1c3f64412f2affe7bffd880">EXTARG_OPT_DEC</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1129</div></div>
<div class="ttc" id="group__extensions_html_ggacc9f55936dc165257a2e1f7d47bce89eaabcf56c456c1ff6e81dc82586a16f14c"><div class="ttname"><a href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89eaabcf56c456c1ff6e81dc82586a16f14c">EXTARG_NONE</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1097</div></div> <div class="ttc" id="group__extensions_html_ggacc9f55936dc165257a2e1f7d47bce89eaabcf56c456c1ff6e81dc82586a16f14c"><div class="ttname"><a href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89eaabcf56c456c1ff6e81dc82586a16f14c">EXTARG_NONE</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1127</div></div>
<div class="ttc" id="group__extensions_html_ggacc9f55936dc165257a2e1f7d47bce89ea1c86adf924c8786a12bee9687094673e"><div class="ttname"><a href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89ea1c86adf924c8786a12bee9687094673e">EXTARG_DEC</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1098</div></div> <div class="ttc" id="group__extensions_html_ggacc9f55936dc165257a2e1f7d47bce89ea1c86adf924c8786a12bee9687094673e"><div class="ttname"><a href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89ea1c86adf924c8786a12bee9687094673e">EXTARG_DEC</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1128</div></div>
</div><!-- fragment --> </div><!-- fragment -->
</div> </div>
</div> </div>

View file

@ -156,9 +156,9 @@ Functions</h2></td></tr>
<tr><td class="fieldname"><a id="gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83"></a>LWS_UFS_OPEN&#160;</td><td class="fielddoc"><p>a new file is starting to arrive </p> <tr><td class="fieldname"><a id="gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83"></a>LWS_UFS_OPEN&#160;</td><td class="fielddoc"><p>a new file is starting to arrive </p>
</td></tr> </td></tr>
</table> </table>
<div class="fragment"><div class="line"><a name="l02884"></a><span class="lineno"> 2884</span>&#160; {</div><div class="line"><a name="l02885"></a><span class="lineno"> 2885</span>&#160; <a class="code" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f">LWS_UFS_CONTENT</a>,</div><div class="line"><a name="l02887"></a><span class="lineno"> 2887</span>&#160; <a class="code" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7">LWS_UFS_FINAL_CONTENT</a>,</div><div class="line"><a name="l02889"></a><span class="lineno"> 2889</span>&#160; <a class="code" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83">LWS_UFS_OPEN</a></div><div class="line"><a name="l02891"></a><span class="lineno"> 2891</span>&#160;};</div><div class="ttc" id="group__form-parsing_html_gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7"><div class="ttname"><a href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7">LWS_UFS_FINAL_CONTENT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:2887</div></div> <div class="fragment"><div class="line"><a name="l02914"></a><span class="lineno"> 2914</span>&#160; {</div><div class="line"><a name="l02915"></a><span class="lineno"> 2915</span>&#160; <a class="code" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f">LWS_UFS_CONTENT</a>,</div><div class="line"><a name="l02917"></a><span class="lineno"> 2917</span>&#160; <a class="code" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7">LWS_UFS_FINAL_CONTENT</a>,</div><div class="line"><a name="l02919"></a><span class="lineno"> 2919</span>&#160; <a class="code" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83">LWS_UFS_OPEN</a></div><div class="line"><a name="l02921"></a><span class="lineno"> 2921</span>&#160;};</div><div class="ttc" id="group__form-parsing_html_gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7"><div class="ttname"><a href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7">LWS_UFS_FINAL_CONTENT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:2917</div></div>
<div class="ttc" id="group__form-parsing_html_gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83"><div class="ttname"><a href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83">LWS_UFS_OPEN</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:2889</div></div> <div class="ttc" id="group__form-parsing_html_gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83"><div class="ttname"><a href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83">LWS_UFS_OPEN</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:2919</div></div>
<div class="ttc" id="group__form-parsing_html_gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f"><div class="ttname"><a href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f">LWS_UFS_CONTENT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:2885</div></div> <div class="ttc" id="group__form-parsing_html_gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f"><div class="ttname"><a href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f">LWS_UFS_CONTENT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:2915</div></div>
</div><!-- fragment --> </div><!-- fragment -->
</div> </div>
</div> </div>

View file

@ -116,8 +116,8 @@ Enumerations</h2></td></tr>
<tr><td class="fieldname"><a id="ggaa93946b3d921072209d5cd8cdfa5332ead908cdc5689c5d22c9d3c8934e94dcde"></a>LWSGSE_DELETED&#160;</td><td class="fielddoc"><p>an existing user was deleted </p> <tr><td class="fieldname"><a id="ggaa93946b3d921072209d5cd8cdfa5332ead908cdc5689c5d22c9d3c8934e94dcde"></a>LWSGSE_DELETED&#160;</td><td class="fielddoc"><p>an existing user was deleted </p>
</td></tr> </td></tr>
</table> </table>
<div class="fragment"><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160; {</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; <a class="code" href="group__generic-sessions.html#ggaa93946b3d921072209d5cd8cdfa5332ea596010a165bf13473c5eea3a34cd4308">LWSGSE_CREATED</a>, </div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160; <a class="code" href="group__generic-sessions.html#ggaa93946b3d921072209d5cd8cdfa5332ead908cdc5689c5d22c9d3c8934e94dcde">LWSGSE_DELETED</a> </div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;};</div><div class="ttc" id="group__generic-sessions_html_ggaa93946b3d921072209d5cd8cdfa5332ead908cdc5689c5d22c9d3c8934e94dcde"><div class="ttname"><a href="group__generic-sessions.html#ggaa93946b3d921072209d5cd8cdfa5332ead908cdc5689c5d22c9d3c8934e94dcde">LWSGSE_DELETED</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1460</div></div> <div class="fragment"><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160; {</div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160; <a class="code" href="group__generic-sessions.html#ggaa93946b3d921072209d5cd8cdfa5332ea596010a165bf13473c5eea3a34cd4308">LWSGSE_CREATED</a>, </div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160; <a class="code" href="group__generic-sessions.html#ggaa93946b3d921072209d5cd8cdfa5332ead908cdc5689c5d22c9d3c8934e94dcde">LWSGSE_DELETED</a> </div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;};</div><div class="ttc" id="group__generic-sessions_html_ggaa93946b3d921072209d5cd8cdfa5332ead908cdc5689c5d22c9d3c8934e94dcde"><div class="ttname"><a href="group__generic-sessions.html#ggaa93946b3d921072209d5cd8cdfa5332ead908cdc5689c5d22c9d3c8934e94dcde">LWSGSE_DELETED</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1490</div></div>
<div class="ttc" id="group__generic-sessions_html_ggaa93946b3d921072209d5cd8cdfa5332ea596010a165bf13473c5eea3a34cd4308"><div class="ttname"><a href="group__generic-sessions.html#ggaa93946b3d921072209d5cd8cdfa5332ea596010a165bf13473c5eea3a34cd4308">LWSGSE_CREATED</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1459</div></div> <div class="ttc" id="group__generic-sessions_html_ggaa93946b3d921072209d5cd8cdfa5332ea596010a165bf13473c5eea3a34cd4308"><div class="ttname"><a href="group__generic-sessions.html#ggaa93946b3d921072209d5cd8cdfa5332ea596010a165bf13473c5eea3a34cd4308">LWSGSE_CREATED</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1489</div></div>
</div><!-- fragment --> </div><!-- fragment -->
</div> </div>
</div> </div>
@ -145,10 +145,10 @@ Enumerations</h2></td></tr>
<tr><td class="fieldname"><a id="gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a2cd8fb86e3b85c106e7711c03f0ddd0a"></a>LWSGS_AUTH_FORGOT_FLOW&#160;</td><td class="fielddoc"><p>he just completed "forgot password" flow </p> <tr><td class="fieldname"><a id="gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a2cd8fb86e3b85c106e7711c03f0ddd0a"></a>LWSGS_AUTH_FORGOT_FLOW&#160;</td><td class="fielddoc"><p>he just completed "forgot password" flow </p>
</td></tr> </td></tr>
</table> </table>
<div class="fragment"><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160; {</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160; <a class="code" href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a81e63075115dedd150265d81b8f7fa57">LWSGS_AUTH_LOGGED_IN</a> = 1, </div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160; <a class="code" href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a0657a9e846814781b128c397fe4b10bf">LWSGS_AUTH_ADMIN</a> = 2, </div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160; <a class="code" href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a5a607e4668d20cadada62c4b8007f887">LWSGS_AUTH_VERIFIED</a> = 4, </div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160; <a class="code" href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a2cd8fb86e3b85c106e7711c03f0ddd0a">LWSGS_AUTH_FORGOT_FLOW</a> = 8, </div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160;};</div><div class="ttc" id="group__generic-sessions_html_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a5a607e4668d20cadada62c4b8007f887"><div class="ttname"><a href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a5a607e4668d20cadada62c4b8007f887">LWSGS_AUTH_VERIFIED</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1443</div></div> <div class="fragment"><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160; {</div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160; <a class="code" href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a81e63075115dedd150265d81b8f7fa57">LWSGS_AUTH_LOGGED_IN</a> = 1, </div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160; <a class="code" href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a0657a9e846814781b128c397fe4b10bf">LWSGS_AUTH_ADMIN</a> = 2, </div><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160; <a class="code" href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a5a607e4668d20cadada62c4b8007f887">LWSGS_AUTH_VERIFIED</a> = 4, </div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160; <a class="code" href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a2cd8fb86e3b85c106e7711c03f0ddd0a">LWSGS_AUTH_FORGOT_FLOW</a> = 8, </div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;};</div><div class="ttc" id="group__generic-sessions_html_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a5a607e4668d20cadada62c4b8007f887"><div class="ttname"><a href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a5a607e4668d20cadada62c4b8007f887">LWSGS_AUTH_VERIFIED</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1473</div></div>
<div class="ttc" id="group__generic-sessions_html_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a2cd8fb86e3b85c106e7711c03f0ddd0a"><div class="ttname"><a href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a2cd8fb86e3b85c106e7711c03f0ddd0a">LWSGS_AUTH_FORGOT_FLOW</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1444</div></div> <div class="ttc" id="group__generic-sessions_html_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a2cd8fb86e3b85c106e7711c03f0ddd0a"><div class="ttname"><a href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a2cd8fb86e3b85c106e7711c03f0ddd0a">LWSGS_AUTH_FORGOT_FLOW</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1474</div></div>
<div class="ttc" id="group__generic-sessions_html_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a0657a9e846814781b128c397fe4b10bf"><div class="ttname"><a href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a0657a9e846814781b128c397fe4b10bf">LWSGS_AUTH_ADMIN</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1442</div></div> <div class="ttc" id="group__generic-sessions_html_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a0657a9e846814781b128c397fe4b10bf"><div class="ttname"><a href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a0657a9e846814781b128c397fe4b10bf">LWSGS_AUTH_ADMIN</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1472</div></div>
<div class="ttc" id="group__generic-sessions_html_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a81e63075115dedd150265d81b8f7fa57"><div class="ttname"><a href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a81e63075115dedd150265d81b8f7fa57">LWSGS_AUTH_LOGGED_IN</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1441</div></div> <div class="ttc" id="group__generic-sessions_html_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a81e63075115dedd150265d81b8f7fa57"><div class="ttname"><a href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a81e63075115dedd150265d81b8f7fa57">LWSGS_AUTH_LOGGED_IN</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1471</div></div>
</div><!-- fragment --> </div><!-- fragment -->
</div> </div>
</div> </div>

View file

@ -124,13 +124,13 @@ Functions</h2></td></tr>
<tr><td class="fieldname"><a id="gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce"></a>LWS_WRITE_CLIENT_IGNORE_XOR_MASK&#160;</td><td class="fielddoc"><p>client packet payload goes out on wire unmunged only useful for security tests since normal servers cannot decode the content if used </p> <tr><td class="fieldname"><a id="gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce"></a>LWS_WRITE_CLIENT_IGNORE_XOR_MASK&#160;</td><td class="fielddoc"><p>client packet payload goes out on wire unmunged only useful for security tests since normal servers cannot decode the content if used </p>
</td></tr> </td></tr>
</table> </table>
<div class="fragment"><div class="line"><a name="l03231"></a><span class="lineno"> 3231</span>&#160; {</div><div class="line"><a name="l03232"></a><span class="lineno"> 3232</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db">LWS_WRITE_TEXT</a> = 0,</div><div class="line"><a name="l03236"></a><span class="lineno"> 3236</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2">LWS_WRITE_BINARY</a> = 1,</div><div class="line"><a name="l03239"></a><span class="lineno"> 3239</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826">LWS_WRITE_CONTINUATION</a> = 2,</div><div class="line"><a name="l03242"></a><span class="lineno"> 3242</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e">LWS_WRITE_HTTP</a> = 3,</div><div class="line"><a name="l03245"></a><span class="lineno"> 3245</span>&#160; <span class="comment">/* LWS_WRITE_CLOSE is handled by lws_close_reason() */</span></div><div class="line"><a name="l03246"></a><span class="lineno"> 3246</span>&#160; LWS_WRITE_PING = 5,</div><div class="line"><a name="l03247"></a><span class="lineno"> 3247</span>&#160; LWS_WRITE_PONG = 6,</div><div class="line"><a name="l03248"></a><span class="lineno"> 3248</span>&#160;</div><div class="line"><a name="l03249"></a><span class="lineno"> 3249</span>&#160; <span class="comment">/* Same as write_http but we know this write ends the transaction */</span></div><div class="line"><a name="l03250"></a><span class="lineno"> 3250</span>&#160; LWS_WRITE_HTTP_FINAL = 7,</div><div class="line"><a name="l03251"></a><span class="lineno"> 3251</span>&#160;</div><div class="line"><a name="l03252"></a><span class="lineno"> 3252</span>&#160; <span class="comment">/* HTTP2 */</span></div><div class="line"><a name="l03253"></a><span class="lineno"> 3253</span>&#160;</div><div class="line"><a name="l03254"></a><span class="lineno"> 3254</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917">LWS_WRITE_HTTP_HEADERS</a> = 8,</div><div class="line"><a name="l03261"></a><span class="lineno"> 3261</span>&#160; <span class="comment">/****** add new things just above ---^ ******/</span></div><div class="line"><a name="l03262"></a><span class="lineno"> 3262</span>&#160;</div><div class="line"><a name="l03263"></a><span class="lineno"> 3263</span>&#160; <span class="comment">/* flags */</span></div><div class="line"><a name="l03264"></a><span class="lineno"> 3264</span>&#160;</div><div class="line"><a name="l03265"></a><span class="lineno"> 3265</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3">LWS_WRITE_NO_FIN</a> = 0x40,</div><div class="line"><a name="l03268"></a><span class="lineno"> 3268</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce">LWS_WRITE_CLIENT_IGNORE_XOR_MASK</a> = 0x80</div><div class="line"><a name="l03272"></a><span class="lineno"> 3272</span>&#160;};</div><div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e">LWS_WRITE_HTTP</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3242</div></div> <div class="fragment"><div class="line"><a name="l03261"></a><span class="lineno"> 3261</span>&#160; {</div><div class="line"><a name="l03262"></a><span class="lineno"> 3262</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db">LWS_WRITE_TEXT</a> = 0,</div><div class="line"><a name="l03266"></a><span class="lineno"> 3266</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2">LWS_WRITE_BINARY</a> = 1,</div><div class="line"><a name="l03269"></a><span class="lineno"> 3269</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826">LWS_WRITE_CONTINUATION</a> = 2,</div><div class="line"><a name="l03272"></a><span class="lineno"> 3272</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e">LWS_WRITE_HTTP</a> = 3,</div><div class="line"><a name="l03275"></a><span class="lineno"> 3275</span>&#160; <span class="comment">/* LWS_WRITE_CLOSE is handled by lws_close_reason() */</span></div><div class="line"><a name="l03276"></a><span class="lineno"> 3276</span>&#160; LWS_WRITE_PING = 5,</div><div class="line"><a name="l03277"></a><span class="lineno"> 3277</span>&#160; LWS_WRITE_PONG = 6,</div><div class="line"><a name="l03278"></a><span class="lineno"> 3278</span>&#160;</div><div class="line"><a name="l03279"></a><span class="lineno"> 3279</span>&#160; <span class="comment">/* Same as write_http but we know this write ends the transaction */</span></div><div class="line"><a name="l03280"></a><span class="lineno"> 3280</span>&#160; LWS_WRITE_HTTP_FINAL = 7,</div><div class="line"><a name="l03281"></a><span class="lineno"> 3281</span>&#160;</div><div class="line"><a name="l03282"></a><span class="lineno"> 3282</span>&#160; <span class="comment">/* HTTP2 */</span></div><div class="line"><a name="l03283"></a><span class="lineno"> 3283</span>&#160;</div><div class="line"><a name="l03284"></a><span class="lineno"> 3284</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917">LWS_WRITE_HTTP_HEADERS</a> = 8,</div><div class="line"><a name="l03291"></a><span class="lineno"> 3291</span>&#160; <span class="comment">/****** add new things just above ---^ ******/</span></div><div class="line"><a name="l03292"></a><span class="lineno"> 3292</span>&#160;</div><div class="line"><a name="l03293"></a><span class="lineno"> 3293</span>&#160; <span class="comment">/* flags */</span></div><div class="line"><a name="l03294"></a><span class="lineno"> 3294</span>&#160;</div><div class="line"><a name="l03295"></a><span class="lineno"> 3295</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3">LWS_WRITE_NO_FIN</a> = 0x40,</div><div class="line"><a name="l03298"></a><span class="lineno"> 3298</span>&#160; <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce">LWS_WRITE_CLIENT_IGNORE_XOR_MASK</a> = 0x80</div><div class="line"><a name="l03302"></a><span class="lineno"> 3302</span>&#160;};</div><div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e">LWS_WRITE_HTTP</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3272</div></div>
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3">LWS_WRITE_NO_FIN</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3265</div></div> <div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3">LWS_WRITE_NO_FIN</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3295</div></div>
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db">LWS_WRITE_TEXT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3232</div></div> <div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db">LWS_WRITE_TEXT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3262</div></div>
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2">LWS_WRITE_BINARY</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3236</div></div> <div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2">LWS_WRITE_BINARY</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3266</div></div>
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce">LWS_WRITE_CLIENT_IGNORE_XOR_MASK</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3268</div></div> <div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce">LWS_WRITE_CLIENT_IGNORE_XOR_MASK</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3298</div></div>
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826">LWS_WRITE_CONTINUATION</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3239</div></div> <div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826">LWS_WRITE_CONTINUATION</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3269</div></div>
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917">LWS_WRITE_HTTP_HEADERS</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3254</div></div> <div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917">LWS_WRITE_HTTP_HEADERS</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3284</div></div>
</div><!-- fragment --> </div><!-- fragment -->
</div> </div>
</div> </div>

View file

@ -149,15 +149,15 @@ Functions</h2></td></tr>
<tr><td class="fieldname"><a id="gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5"></a>LGSSMTP_SENT_QUIT&#160;</td><td class="fielddoc"><p>sent the session quit </p> <tr><td class="fieldname"><a id="gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5"></a>LGSSMTP_SENT_QUIT&#160;</td><td class="fielddoc"><p>sent the session quit </p>
</td></tr> </td></tr>
</table> </table>
<div class="fragment"><div class="line"><a name="l04228"></a><span class="lineno"> 4228</span>&#160; {</div><div class="line"><a name="l04229"></a><span class="lineno"> 4229</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c">LGSSMTP_IDLE</a>, </div><div class="line"><a name="l04230"></a><span class="lineno"> 4230</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933">LGSSMTP_CONNECTING</a>, </div><div class="line"><a name="l04231"></a><span class="lineno"> 4231</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d">LGSSMTP_CONNECTED</a>, </div><div class="line"><a name="l04232"></a><span class="lineno"> 4232</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad">LGSSMTP_SENT_HELO</a>, </div><div class="line"><a name="l04233"></a><span class="lineno"> 4233</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab">LGSSMTP_SENT_FROM</a>, </div><div class="line"><a name="l04234"></a><span class="lineno"> 4234</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83">LGSSMTP_SENT_TO</a>, </div><div class="line"><a name="l04235"></a><span class="lineno"> 4235</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14">LGSSMTP_SENT_DATA</a>, </div><div class="line"><a name="l04236"></a><span class="lineno"> 4236</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69">LGSSMTP_SENT_BODY</a>, </div><div class="line"><a name="l04237"></a><span class="lineno"> 4237</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5">LGSSMTP_SENT_QUIT</a>, </div><div class="line"><a name="l04238"></a><span class="lineno"> 4238</span>&#160;};</div><div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d">LGSSMTP_CONNECTED</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4231</div></div> <div class="fragment"><div class="line"><a name="l04258"></a><span class="lineno"> 4258</span>&#160; {</div><div class="line"><a name="l04259"></a><span class="lineno"> 4259</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c">LGSSMTP_IDLE</a>, </div><div class="line"><a name="l04260"></a><span class="lineno"> 4260</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933">LGSSMTP_CONNECTING</a>, </div><div class="line"><a name="l04261"></a><span class="lineno"> 4261</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d">LGSSMTP_CONNECTED</a>, </div><div class="line"><a name="l04262"></a><span class="lineno"> 4262</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad">LGSSMTP_SENT_HELO</a>, </div><div class="line"><a name="l04263"></a><span class="lineno"> 4263</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab">LGSSMTP_SENT_FROM</a>, </div><div class="line"><a name="l04264"></a><span class="lineno"> 4264</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83">LGSSMTP_SENT_TO</a>, </div><div class="line"><a name="l04265"></a><span class="lineno"> 4265</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14">LGSSMTP_SENT_DATA</a>, </div><div class="line"><a name="l04266"></a><span class="lineno"> 4266</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69">LGSSMTP_SENT_BODY</a>, </div><div class="line"><a name="l04267"></a><span class="lineno"> 4267</span>&#160; <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5">LGSSMTP_SENT_QUIT</a>, </div><div class="line"><a name="l04268"></a><span class="lineno"> 4268</span>&#160;};</div><div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d">LGSSMTP_CONNECTED</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4261</div></div>
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69">LGSSMTP_SENT_BODY</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4236</div></div> <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69">LGSSMTP_SENT_BODY</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4266</div></div>
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c">LGSSMTP_IDLE</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4229</div></div> <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c">LGSSMTP_IDLE</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4259</div></div>
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933">LGSSMTP_CONNECTING</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4230</div></div> <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933">LGSSMTP_CONNECTING</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4260</div></div>
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83">LGSSMTP_SENT_TO</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4234</div></div> <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83">LGSSMTP_SENT_TO</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4264</div></div>
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab">LGSSMTP_SENT_FROM</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4233</div></div> <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab">LGSSMTP_SENT_FROM</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4263</div></div>
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5">LGSSMTP_SENT_QUIT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4237</div></div> <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5">LGSSMTP_SENT_QUIT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4267</div></div>
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad">LGSSMTP_SENT_HELO</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4232</div></div> <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad">LGSSMTP_SENT_HELO</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4262</div></div>
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14">LGSSMTP_SENT_DATA</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4235</div></div> <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14">LGSSMTP_SENT_DATA</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4265</div></div>
</div><!-- fragment --> </div><!-- fragment -->
</div> </div>
</div> </div>

File diff suppressed because one or more lines are too long

View file

@ -43,6 +43,7 @@ var group__usercb =
[ "LWS_CALLBACK_WS_PEER_INITIATED_CLOSE", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ac3fc5bbb55e69f90396526287ee84a51", null ], [ "LWS_CALLBACK_WS_PEER_INITIATED_CLOSE", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ac3fc5bbb55e69f90396526287ee84a51", null ],
[ "LWS_CALLBACK_HTTP_PMO", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa5cc921b7697743017a533822a3d556a", null ], [ "LWS_CALLBACK_HTTP_PMO", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa5cc921b7697743017a533822a3d556a", null ],
[ "LWS_CALLBACK_CLIENT_HTTP_WRITEABLE", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aeb0cec65ec82a713cd01e9ca9aeeb5e6", null ], [ "LWS_CALLBACK_CLIENT_HTTP_WRITEABLE", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aeb0cec65ec82a713cd01e9ca9aeeb5e6", null ],
[ "LWS_CALLBACK_OPENSSL_PERFORM_SERVER_CERT_VERIFICATION", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a17620dd6cb920b9b6daeae63575be08b", null ],
[ "LWS_CALLBACK_USER", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a982579753e70e59a9ea13ce628ac891a", null ] [ "LWS_CALLBACK_USER", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a982579753e70e59a9ea13ce628ac891a", null ]
] ] ] ]
]; ];

View file

@ -123,13 +123,13 @@ Enumerations</h2></td></tr>
<tr><td class="fieldname"><a id="gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da"></a>LWSMPRO_CALLBACK&#160;</td><td class="fielddoc"><p>hand by named protocol's callback </p> <tr><td class="fieldname"><a id="gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da"></a>LWSMPRO_CALLBACK&#160;</td><td class="fielddoc"><p>hand by named protocol's callback </p>
</td></tr> </td></tr>
</table> </table>
<div class="fragment"><div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160; {</div><div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0">LWSMPRO_HTTP</a> = 0, </div><div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1">LWSMPRO_HTTPS</a> = 1, </div><div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2">LWSMPRO_FILE</a> = 2, </div><div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69">LWSMPRO_CGI</a> = 3, </div><div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970">LWSMPRO_REDIR_HTTP</a> = 4, </div><div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67">LWSMPRO_REDIR_HTTPS</a> = 5, </div><div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da">LWSMPRO_CALLBACK</a> = 6, </div><div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160;};</div><div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69">LWSMPRO_CGI</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1967</div></div> <div class="fragment"><div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160; {</div><div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0">LWSMPRO_HTTP</a> = 0, </div><div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1">LWSMPRO_HTTPS</a> = 1, </div><div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2">LWSMPRO_FILE</a> = 2, </div><div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69">LWSMPRO_CGI</a> = 3, </div><div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970">LWSMPRO_REDIR_HTTP</a> = 4, </div><div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67">LWSMPRO_REDIR_HTTPS</a> = 5, </div><div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160; <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da">LWSMPRO_CALLBACK</a> = 6, </div><div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160;};</div><div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69">LWSMPRO_CGI</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1997</div></div>
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1">LWSMPRO_HTTPS</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1965</div></div> <div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1">LWSMPRO_HTTPS</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1995</div></div>
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2">LWSMPRO_FILE</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1966</div></div> <div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2">LWSMPRO_FILE</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1996</div></div>
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970">LWSMPRO_REDIR_HTTP</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1968</div></div> <div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970">LWSMPRO_REDIR_HTTP</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1998</div></div>
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67">LWSMPRO_REDIR_HTTPS</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1969</div></div> <div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67">LWSMPRO_REDIR_HTTPS</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1999</div></div>
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0">LWSMPRO_HTTP</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1964</div></div> <div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0">LWSMPRO_HTTP</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1994</div></div>
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da">LWSMPRO_CALLBACK</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1970</div></div> <div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da">LWSMPRO_CALLBACK</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:2000</div></div>
</div><!-- fragment --> </div><!-- fragment -->
</div> </div>
</div> </div>

View file

@ -287,6 +287,7 @@ Enumerations</h2></td></tr>
<br /> <br />
&#160;&#160;<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa5cc921b7697743017a533822a3d556a">LWS_CALLBACK_HTTP_PMO</a> = 56, &#160;&#160;<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa5cc921b7697743017a533822a3d556a">LWS_CALLBACK_HTTP_PMO</a> = 56,
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aeb0cec65ec82a713cd01e9ca9aeeb5e6">LWS_CALLBACK_CLIENT_HTTP_WRITEABLE</a> = 57, <a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aeb0cec65ec82a713cd01e9ca9aeeb5e6">LWS_CALLBACK_CLIENT_HTTP_WRITEABLE</a> = 57,
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a17620dd6cb920b9b6daeae63575be08b">LWS_CALLBACK_OPENSSL_PERFORM_SERVER_CERT_VERIFICATION</a> = 58,
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a982579753e70e59a9ea13ce628ac891a">LWS_CALLBACK_USER</a> = 1000 <a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a982579753e70e59a9ea13ce628ac891a">LWS_CALLBACK_USER</a> = 1000
<br /> <br />
}</td></tr> }</td></tr>

View file

@ -113,6 +113,7 @@ var libwebsockets_8h =
[ "LWS_CALLBACK_GS_EVENT", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7af6cf80e57aae8ba0a57a5c456b1fe026", null ], [ "LWS_CALLBACK_GS_EVENT", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7af6cf80e57aae8ba0a57a5c456b1fe026", null ],
[ "LWS_CALLBACK_HTTP_PMO", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa5cc921b7697743017a533822a3d556a", null ], [ "LWS_CALLBACK_HTTP_PMO", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa5cc921b7697743017a533822a3d556a", null ],
[ "LWS_CALLBACK_CLIENT_HTTP_WRITEABLE", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aeb0cec65ec82a713cd01e9ca9aeeb5e6", null ], [ "LWS_CALLBACK_CLIENT_HTTP_WRITEABLE", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aeb0cec65ec82a713cd01e9ca9aeeb5e6", null ],
[ "LWS_CALLBACK_OPENSSL_PERFORM_SERVER_CERT_VERIFICATION", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a17620dd6cb920b9b6daeae63575be08b", null ],
[ "LWS_CALLBACK_USER", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a982579753e70e59a9ea13ce628ac891a", null ] [ "LWS_CALLBACK_USER", "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a982579753e70e59a9ea13ce628ac891a", null ]
] ], ] ],
[ "lws_cgi_hdr_state", "libwebsockets_8h.html#a42394a38f08a97420c98127358cfeedb", [ [ "lws_cgi_hdr_state", "libwebsockets_8h.html#a42394a38f08a97420c98127358cfeedb", [

File diff suppressed because one or more lines are too long

View file

@ -136,8 +136,8 @@ var NAVTREEINDEX =
"annotated.html", "annotated.html",
"group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5a4933347a821e73c3f1e13fb6bfc7ad93", "group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5a4933347a821e73c3f1e13fb6bfc7ad93",
"group__service.html#ga29c246707997ab7a466aa709aecd2d7b", "group__service.html#ga29c246707997ab7a466aa709aecd2d7b",
"group__wsstatus.html#ga08e9ee165fca503fd9427d55cfecac37", "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985af90cb98d983ad3d4c79df9b6f3d4a4d2",
"structlws__extension.html#afa21f3b3c8c2c9212a276c52b680c3af" "structlws__extension.html#a1e5018c883d85176f5c2152176843f9e"
]; ];
var SYNCONMSG = 'click to disable panel synchronisation'; var SYNCONMSG = 'click to disable panel synchronisation';

View file

@ -178,8 +178,8 @@ var NAVTREEINDEX0 =
"group__callback-when-writeable.html#ga8570860e191b62db264f2bac67354ea8":[11,0,0,0,61], "group__callback-when-writeable.html#ga8570860e191b62db264f2bac67354ea8":[11,0,0,0,61],
"group__callback-when-writeable.html#ga941caaa468bc507b1cae52275f58800d":[9,1,2], "group__callback-when-writeable.html#ga941caaa468bc507b1cae52275f58800d":[9,1,2],
"group__callback-when-writeable.html#ga941caaa468bc507b1cae52275f58800d":[11,0,0,0,59], "group__callback-when-writeable.html#ga941caaa468bc507b1cae52275f58800d":[11,0,0,0,59],
"group__callback-when-writeable.html#gaa709e02a10558753c851e58f1e2c16ba":[9,1,7],
"group__callback-when-writeable.html#gaa709e02a10558753c851e58f1e2c16ba":[11,0,0,0,107], "group__callback-when-writeable.html#gaa709e02a10558753c851e58f1e2c16ba":[11,0,0,0,107],
"group__callback-when-writeable.html#gaa709e02a10558753c851e58f1e2c16ba":[9,1,7],
"group__callback-when-writeable.html#gaad3d524a84d2be08ac85153bc158504b":[11,0,0,0,58], "group__callback-when-writeable.html#gaad3d524a84d2be08ac85153bc158504b":[11,0,0,0,58],
"group__callback-when-writeable.html#gabbe4655c7eeb3eb1671b2323ec6b3107":[9,1,3], "group__callback-when-writeable.html#gabbe4655c7eeb3eb1671b2323ec6b3107":[9,1,3],
"group__callback-when-writeable.html#gabbe4655c7eeb3eb1671b2323ec6b3107":[11,0,0,0,60], "group__callback-when-writeable.html#gabbe4655c7eeb3eb1671b2323ec6b3107":[11,0,0,0,60],
@ -223,10 +223,10 @@ var NAVTREEINDEX0 =
"group__context-and-vhost.html#ga41c2d763f78cc248df3b9f8645dbd2a5":[9,4,3], "group__context-and-vhost.html#ga41c2d763f78cc248df3b9f8645dbd2a5":[9,4,3],
"group__context-and-vhost.html#ga7e9d5405547a457d86e0b4f0ae2bb1c4":[9,4,12], "group__context-and-vhost.html#ga7e9d5405547a457d86e0b4f0ae2bb1c4":[9,4,12],
"group__context-and-vhost.html#ga7e9d5405547a457d86e0b4f0ae2bb1c4":[11,0,0,0,151], "group__context-and-vhost.html#ga7e9d5405547a457d86e0b4f0ae2bb1c4":[11,0,0,0,151],
"group__context-and-vhost.html#ga8db03e19a372e34ac25cf21af894a02c":[11,0,0,0,169],
"group__context-and-vhost.html#ga8db03e19a372e34ac25cf21af894a02c":[9,4,13], "group__context-and-vhost.html#ga8db03e19a372e34ac25cf21af894a02c":[9,4,13],
"group__context-and-vhost.html#ga8ee0314028755f1ddfa9428e09b4fddb":[9,4,5], "group__context-and-vhost.html#ga8db03e19a372e34ac25cf21af894a02c":[11,0,0,0,169],
"group__context-and-vhost.html#ga8ee0314028755f1ddfa9428e09b4fddb":[11,0,0,0,76], "group__context-and-vhost.html#ga8ee0314028755f1ddfa9428e09b4fddb":[11,0,0,0,76],
"group__context-and-vhost.html#ga8ee0314028755f1ddfa9428e09b4fddb":[9,4,5],
"group__context-and-vhost.html#ga94e6cc2223c4eec316b13bcebc3628b6":[9,4,11], "group__context-and-vhost.html#ga94e6cc2223c4eec316b13bcebc3628b6":[9,4,11],
"group__context-and-vhost.html#ga94e6cc2223c4eec316b13bcebc3628b6":[11,0,0,0,124], "group__context-and-vhost.html#ga94e6cc2223c4eec316b13bcebc3628b6":[11,0,0,0,124],
"group__context-and-vhost.html#ga98d88c9080fd89c37114363a6474ea73":[9,4,14], "group__context-and-vhost.html#ga98d88c9080fd89c37114363a6474ea73":[9,4,14],

View file

@ -156,8 +156,8 @@ var NAVTREEINDEX1 =
"group__http.html#ga8fbf01e473ac421fc33ad9f8da8b8a25":[9,6,7], "group__http.html#ga8fbf01e473ac421fc33ad9f8da8b8a25":[9,6,7],
"group__http.html#gac8a4a71240857dc6b2ed70456b6923f4":[11,0,0,0,137], "group__http.html#gac8a4a71240857dc6b2ed70456b6923f4":[11,0,0,0,137],
"group__http.html#gac8a4a71240857dc6b2ed70456b6923f4":[9,6,9], "group__http.html#gac8a4a71240857dc6b2ed70456b6923f4":[9,6,9],
"group__http.html#gad27aed6c66a41b2b89ffe4da2a309e8a":[11,0,0,0,117],
"group__http.html#gad27aed6c66a41b2b89ffe4da2a309e8a":[9,6,8], "group__http.html#gad27aed6c66a41b2b89ffe4da2a309e8a":[9,6,8],
"group__http.html#gad27aed6c66a41b2b89ffe4da2a309e8a":[11,0,0,0,117],
"group__httpft.html":[9,6,2], "group__httpft.html":[9,6,2],
"group__httpft.html#ga29e1123f6d56cd777b3e5bf9ca40f9e5":[11,0,0,0,142], "group__httpft.html#ga29e1123f6d56cd777b3e5bf9ca40f9e5":[11,0,0,0,142],
"group__httpft.html#gab393a06d3d2722af4c3f8b06842c80d7":[11,0,0,0,141], "group__httpft.html#gab393a06d3d2722af4c3f8b06842c80d7":[11,0,0,0,141],
@ -205,8 +205,8 @@ var NAVTREEINDEX1 =
"group__misc.html#ga9f37d0e357de2ab4170723fcdb665d21":[9,8,10], "group__misc.html#ga9f37d0e357de2ab4170723fcdb665d21":[9,8,10],
"group__misc.html#gaa194584fff9698f3b280658f770ccd0f":[11,0,0,0,172], "group__misc.html#gaa194584fff9698f3b280658f770ccd0f":[11,0,0,0,172],
"group__misc.html#gaa194584fff9698f3b280658f770ccd0f":[9,8,11], "group__misc.html#gaa194584fff9698f3b280658f770ccd0f":[9,8,11],
"group__misc.html#gab321ed812f46f6dc7ef9e3ca6f00cf1b":[9,8,9],
"group__misc.html#gab321ed812f46f6dc7ef9e3ca6f00cf1b":[11,0,0,0,148], "group__misc.html#gab321ed812f46f6dc7ef9e3ca6f00cf1b":[11,0,0,0,148],
"group__misc.html#gab321ed812f46f6dc7ef9e3ca6f00cf1b":[9,8,9],
"group__misc.html#gac6abfc0b2bd5b2f09281a4432bb2f5f0":[9,8,4], "group__misc.html#gac6abfc0b2bd5b2f09281a4432bb2f5f0":[9,8,4],
"group__misc.html#gac6abfc0b2bd5b2f09281a4432bb2f5f0":[11,0,0,0,98], "group__misc.html#gac6abfc0b2bd5b2f09281a4432bb2f5f0":[11,0,0,0,98],
"group__misc.html#gacae4d7b6a8d22e4c2d82ff8b12c1e234":[9,8,1], "group__misc.html#gacae4d7b6a8d22e4c2d82ff8b12c1e234":[9,8,1],
@ -216,8 +216,8 @@ var NAVTREEINDEX1 =
"group__net.html":[9,9], "group__net.html":[9,9],
"group__net.html#ga092e5f473b3347f03ffeef8a950080f3":[9,9,1], "group__net.html#ga092e5f473b3347f03ffeef8a950080f3":[9,9,1],
"group__net.html#ga092e5f473b3347f03ffeef8a950080f3":[11,0,0,0,101], "group__net.html#ga092e5f473b3347f03ffeef8a950080f3":[11,0,0,0,101],
"group__net.html#ga869d8bdffb0f2a7ce08e3ce10d6be3d8":[9,9,3],
"group__net.html#ga869d8bdffb0f2a7ce08e3ce10d6be3d8":[11,0,0,0,119], "group__net.html#ga869d8bdffb0f2a7ce08e3ce10d6be3d8":[11,0,0,0,119],
"group__net.html#ga869d8bdffb0f2a7ce08e3ce10d6be3d8":[9,9,3],
"group__net.html#gad01014fed09759741b6d23afccfdaacc":[9,9,2], "group__net.html#gad01014fed09759741b6d23afccfdaacc":[9,9,2],
"group__net.html#gad01014fed09759741b6d23afccfdaacc":[11,0,0,0,102], "group__net.html#gad01014fed09759741b6d23afccfdaacc":[11,0,0,0,102],
"group__net.html#gad0df22db2be9fc65a667a1e83f9a92a4":[9,9,0], "group__net.html#gad0df22db2be9fc65a667a1e83f9a92a4":[9,9,0],
@ -225,8 +225,8 @@ var NAVTREEINDEX1 =
"group__pur.html":[9,12], "group__pur.html":[9,12],
"group__pur.html#ga9cc82f06e5ae7e71458626d7a39a5865":[11,0,0,0,161], "group__pur.html#ga9cc82f06e5ae7e71458626d7a39a5865":[11,0,0,0,161],
"group__pur.html#ga9cc82f06e5ae7e71458626d7a39a5865":[9,12,1], "group__pur.html#ga9cc82f06e5ae7e71458626d7a39a5865":[9,12,1],
"group__pur.html#gab15187efcfa256b7c928562c182b92a3":[11,0,0,0,125],
"group__pur.html#gab15187efcfa256b7c928562c182b92a3":[9,12,0], "group__pur.html#gab15187efcfa256b7c928562c182b92a3":[9,12,0],
"group__pur.html#gab15187efcfa256b7c928562c182b92a3":[11,0,0,0,125],
"group__sending-data.html":[9,13], "group__sending-data.html":[9,13],
"group__sending-data.html#ga98b099cf8c1c7e38ad78501f270e193d":[9,13,0], "group__sending-data.html#ga98b099cf8c1c7e38ad78501f270e193d":[9,13,0],
"group__sending-data.html#ga98b099cf8c1c7e38ad78501f270e193d":[11,0,0,0,36], "group__sending-data.html#ga98b099cf8c1c7e38ad78501f270e193d":[11,0,0,0,36],
@ -245,8 +245,8 @@ var NAVTREEINDEX1 =
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e":[9,13,0,3], "group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e":[9,13,0,3],
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e":[11,0,0,0,36,3], "group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e":[11,0,0,0,36,3],
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dae7d8a025a65524652fe9e24c2654c935":[11,0,0,0,36,6], "group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dae7d8a025a65524652fe9e24c2654c935":[11,0,0,0,36,6],
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2":[11,0,0,0,36,1],
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2":[9,13,0,1], "group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2":[9,13,0,1],
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2":[11,0,0,0,36,1],
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917":[9,13,0,4], "group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917":[9,13,0,4],
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917":[11,0,0,0,36,7], "group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917":[11,0,0,0,36,7],
"group__service.html":[9,0] "group__service.html":[9,0]

View file

@ -24,43 +24,43 @@ var NAVTREEINDEX2 =
"group__smtp.html":[9,14], "group__smtp.html":[9,14],
"group__smtp.html#ga116be79bf44f9dc2a97f46e051fe4dc0":[9,14,1], "group__smtp.html#ga116be79bf44f9dc2a97f46e051fe4dc0":[9,14,1],
"group__smtp.html#ga116be79bf44f9dc2a97f46e051fe4dc0":[11,0,0,0,38], "group__smtp.html#ga116be79bf44f9dc2a97f46e051fe4dc0":[11,0,0,0,38],
"group__smtp.html#ga25298a5afc1074e13b2d5711a86432b2":[11,0,0,0,84],
"group__smtp.html#ga25298a5afc1074e13b2d5711a86432b2":[9,14,3], "group__smtp.html#ga25298a5afc1074e13b2d5711a86432b2":[9,14,3],
"group__smtp.html#ga5e535e346d92a9daf00be33abf79d4eb":[11,0,0,0,83], "group__smtp.html#ga25298a5afc1074e13b2d5711a86432b2":[11,0,0,0,84],
"group__smtp.html#ga5e535e346d92a9daf00be33abf79d4eb":[9,14,2], "group__smtp.html#ga5e535e346d92a9daf00be33abf79d4eb":[9,14,2],
"group__smtp.html#ga5e535e346d92a9daf00be33abf79d4eb":[11,0,0,0,83],
"group__smtp.html#ga77fc9b56a1bb39484844981ec375fc29":[9,14,4], "group__smtp.html#ga77fc9b56a1bb39484844981ec375fc29":[9,14,4],
"group__smtp.html#ga77fc9b56a1bb39484844981ec375fc29":[11,0,0,0,85], "group__smtp.html#ga77fc9b56a1bb39484844981ec375fc29":[11,0,0,0,85],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad":[9,14,1,3], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad":[9,14,1,3],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad":[11,0,0,0,38,3], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad":[11,0,0,0,38,3],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c":[9,14,1,0], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c":[9,14,1,0],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c":[11,0,0,0,38,0], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c":[11,0,0,0,38,0],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5":[11,0,0,0,38,8],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5":[9,14,1,8], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5":[9,14,1,8],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69":[9,14,1,7], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5":[11,0,0,0,38,8],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69":[11,0,0,0,38,7], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69":[11,0,0,0,38,7],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14":[11,0,0,0,38,6], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69":[9,14,1,7],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14":[9,14,1,6], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14":[9,14,1,6],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14":[11,0,0,0,38,6],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab":[9,14,1,4], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab":[9,14,1,4],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab":[11,0,0,0,38,4], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab":[11,0,0,0,38,4],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83":[9,14,1,5], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83":[9,14,1,5],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83":[11,0,0,0,38,5], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83":[11,0,0,0,38,5],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d":[9,14,1,2], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d":[9,14,1,2],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d":[11,0,0,0,38,2], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d":[11,0,0,0,38,2],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933":[9,14,1,1],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933":[11,0,0,0,38,1], "group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933":[11,0,0,0,38,1],
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933":[9,14,1,1],
"group__sock-adopt.html":[9,15], "group__sock-adopt.html":[9,15],
"group__sock-adopt.html#ga18747e81ff49df2076e7cd4f131f967c":[11,0,0,0,52], "group__sock-adopt.html#ga18747e81ff49df2076e7cd4f131f967c":[11,0,0,0,52],
"group__sock-adopt.html#ga18747e81ff49df2076e7cd4f131f967c":[9,15,2], "group__sock-adopt.html#ga18747e81ff49df2076e7cd4f131f967c":[9,15,2],
"group__sock-adopt.html#ga5ed5fd251ac0ed46798af341c33bf067":[11,0,0,0,53],
"group__sock-adopt.html#ga5ed5fd251ac0ed46798af341c33bf067":[9,15,3], "group__sock-adopt.html#ga5ed5fd251ac0ed46798af341c33bf067":[9,15,3],
"group__sock-adopt.html#ga5ed5fd251ac0ed46798af341c33bf067":[11,0,0,0,53],
"group__sock-adopt.html#gab2d045df0f81afe00891aaed312d552b":[11,0,0,0,51], "group__sock-adopt.html#gab2d045df0f81afe00891aaed312d552b":[11,0,0,0,51],
"group__sock-adopt.html#gab2d045df0f81afe00891aaed312d552b":[9,15,1], "group__sock-adopt.html#gab2d045df0f81afe00891aaed312d552b":[9,15,1],
"group__sock-adopt.html#gabe71b7462afb21c767bdc67334f305af":[11,0,0,0,50],
"group__sock-adopt.html#gabe71b7462afb21c767bdc67334f305af":[9,15,0], "group__sock-adopt.html#gabe71b7462afb21c767bdc67334f305af":[9,15,0],
"group__sock-adopt.html#gabe71b7462afb21c767bdc67334f305af":[11,0,0,0,50],
"group__timeout.html":[9,3], "group__timeout.html":[9,3],
"group__timeout.html#ga2c0aa4b9c3c55bae7b35cbfac3246c87":[11,0,0,0,39], "group__timeout.html#ga2c0aa4b9c3c55bae7b35cbfac3246c87":[11,0,0,0,39],
"group__timeout.html#gaced9f9237f6172fed9f730a2af51345a":[11,0,0,0,152],
"group__timeout.html#gaced9f9237f6172fed9f730a2af51345a":[9,3,0], "group__timeout.html#gaced9f9237f6172fed9f730a2af51345a":[9,3,0],
"group__timeout.html#gaced9f9237f6172fed9f730a2af51345a":[11,0,0,0,152],
"group__timeout.html#gga2c0aa4b9c3c55bae7b35cbfac3246c87a0d6b956db11acb6d263af3ea054a914e":[11,0,0,0,39,12], "group__timeout.html#gga2c0aa4b9c3c55bae7b35cbfac3246c87a0d6b956db11acb6d263af3ea054a914e":[11,0,0,0,39,12],
"group__timeout.html#gga2c0aa4b9c3c55bae7b35cbfac3246c87a0eef059426f37d00b75142d4dc3e25e3":[11,0,0,0,39,3], "group__timeout.html#gga2c0aa4b9c3c55bae7b35cbfac3246c87a0eef059426f37d00b75142d4dc3e25e3":[11,0,0,0,39,3],
"group__timeout.html#gga2c0aa4b9c3c55bae7b35cbfac3246c87a1104c39d0177378713a9332ab7a9d7fe":[11,0,0,0,39,4], "group__timeout.html#gga2c0aa4b9c3c55bae7b35cbfac3246c87a1104c39d0177378713a9332ab7a9d7fe":[11,0,0,0,39,4],
@ -90,8 +90,8 @@ var NAVTREEINDEX2 =
"group__usercb.html#gad4fcb82e68d60ffacca61a3f783a0a2f":[9,16,0], "group__usercb.html#gad4fcb82e68d60ffacca61a3f783a0a2f":[9,16,0],
"group__usercb.html#gad62860e19975ba4c4af401c3cdb6abf7":[11,0,0,0,23], "group__usercb.html#gad62860e19975ba4c4af401c3cdb6abf7":[11,0,0,0,23],
"group__usercb.html#gad62860e19975ba4c4af401c3cdb6abf7":[9,16,1], "group__usercb.html#gad62860e19975ba4c4af401c3cdb6abf7":[9,16,1],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a026502768778b8d79d62dd0fe4375fc6":[11,0,0,0,23,17],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a026502768778b8d79d62dd0fe4375fc6":[9,16,1,17], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a026502768778b8d79d62dd0fe4375fc6":[9,16,1,17],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a026502768778b8d79d62dd0fe4375fc6":[11,0,0,0,23,17],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a0418587d5083bb4850faa438648496ba":[11,0,0,0,23,49], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a0418587d5083bb4850faa438648496ba":[11,0,0,0,23,49],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a06006e98d27e1e884364d88317f83493":[11,0,0,0,23,22], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a06006e98d27e1e884364d88317f83493":[11,0,0,0,23,22],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a06006e98d27e1e884364d88317f83493":[9,16,1,22], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a06006e98d27e1e884364d88317f83493":[9,16,1,22],
@ -99,33 +99,35 @@ var NAVTREEINDEX2 =
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a0e9e3dd667c0c42cdbe1a3d921f4fd79":[9,16,1,36], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a0e9e3dd667c0c42cdbe1a3d921f4fd79":[9,16,1,36],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a136a7cec11c3afd13245623bd84e76c9":[11,0,0,0,23,9], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a136a7cec11c3afd13245623bd84e76c9":[11,0,0,0,23,9],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a136a7cec11c3afd13245623bd84e76c9":[9,16,1,9], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a136a7cec11c3afd13245623bd84e76c9":[9,16,1,9],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a17620dd6cb920b9b6daeae63575be08b":[11,0,0,0,23,58],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a17620dd6cb920b9b6daeae63575be08b":[9,16,1,41],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a182a4a14c3278784505cea6d516a8308":[11,0,0,0,23,47], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a182a4a14c3278784505cea6d516a8308":[11,0,0,0,23,47],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a1ce5b22039ca37ee224d00047596ea46":[11,0,0,0,23,26], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a1ce5b22039ca37ee224d00047596ea46":[11,0,0,0,23,26],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a1ce5b22039ca37ee224d00047596ea46":[9,16,1,26], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a1ce5b22039ca37ee224d00047596ea46":[9,16,1,26],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a1df60f314710236f9b53efbf468da768":[11,0,0,0,23,33], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a1df60f314710236f9b53efbf468da768":[11,0,0,0,23,33],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a1df60f314710236f9b53efbf468da768":[9,16,1,33], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a1df60f314710236f9b53efbf468da768":[9,16,1,33],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a23b90b5e5146e760bc3123ae1fd2a6e5":[11,0,0,0,23,40], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a23b90b5e5146e760bc3123ae1fd2a6e5":[11,0,0,0,23,40],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a24d39bf1cfc0bad9d92da9ac1717e439":[9,16,1,0],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a24d39bf1cfc0bad9d92da9ac1717e439":[11,0,0,0,23,0], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a24d39bf1cfc0bad9d92da9ac1717e439":[11,0,0,0,23,0],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a24d39bf1cfc0bad9d92da9ac1717e439":[9,16,1,0],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2db02fc6e1c17ab62b52109d1aa9d738":[11,0,0,0,23,7], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2db02fc6e1c17ab62b52109d1aa9d738":[11,0,0,0,23,7],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2db02fc6e1c17ab62b52109d1aa9d738":[9,16,1,7], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2db02fc6e1c17ab62b52109d1aa9d738":[9,16,1,7],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2fce9a8608220f32abbf1422a5498804":[11,0,0,0,23,14], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2fce9a8608220f32abbf1422a5498804":[11,0,0,0,23,14],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2fce9a8608220f32abbf1422a5498804":[9,16,1,14], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2fce9a8608220f32abbf1422a5498804":[9,16,1,14],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a390da3639296660a78cc1a5dcb19037e":[9,16,1,25],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a390da3639296660a78cc1a5dcb19037e":[11,0,0,0,23,25], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a390da3639296660a78cc1a5dcb19037e":[11,0,0,0,23,25],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a390da3639296660a78cc1a5dcb19037e":[9,16,1,25],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a45d538082dec32dbecfe9d9a05ddfecd":[11,0,0,0,23,50], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a45d538082dec32dbecfe9d9a05ddfecd":[11,0,0,0,23,50],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a48a9590e5e18c7920282e094a0bfd9d8":[9,16,1,4],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a48a9590e5e18c7920282e094a0bfd9d8":[11,0,0,0,23,4], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a48a9590e5e18c7920282e094a0bfd9d8":[11,0,0,0,23,4],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a492c1b1c0ac0ed980042ee732fe2990c":[11,0,0,0,23,6], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a48a9590e5e18c7920282e094a0bfd9d8":[9,16,1,4],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a492c1b1c0ac0ed980042ee732fe2990c":[9,16,1,6], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a492c1b1c0ac0ed980042ee732fe2990c":[9,16,1,6],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a492c1b1c0ac0ed980042ee732fe2990c":[11,0,0,0,23,6],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a54269ca88508e6efd3afdb9d360a9caa":[11,0,0,0,23,28], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a54269ca88508e6efd3afdb9d360a9caa":[11,0,0,0,23,28],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a54269ca88508e6efd3afdb9d360a9caa":[9,16,1,28], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a54269ca88508e6efd3afdb9d360a9caa":[9,16,1,28],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a659539cfa65c66e0d813113b09900d31":[11,0,0,0,23,42], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a659539cfa65c66e0d813113b09900d31":[11,0,0,0,23,42],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a6a09ee9c01c4a233aedbe6697e29cc01":[11,0,0,0,23,44], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a6a09ee9c01c4a233aedbe6697e29cc01":[11,0,0,0,23,44],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a75199176c82c1a56e4a6bbf1cc30c12c":[9,16,1,18],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a75199176c82c1a56e4a6bbf1cc30c12c":[11,0,0,0,23,18], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a75199176c82c1a56e4a6bbf1cc30c12c":[11,0,0,0,23,18],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7e12418eec9bce85735e6460176ab604":[9,16,1,3], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a75199176c82c1a56e4a6bbf1cc30c12c":[9,16,1,18],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7e12418eec9bce85735e6460176ab604":[11,0,0,0,23,3], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7e12418eec9bce85735e6460176ab604":[11,0,0,0,23,3],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7e12418eec9bce85735e6460176ab604":[9,16,1,3],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7ec8e2e9557ee02a4fc9f7dec7e2babc":[11,0,0,0,23,11], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7ec8e2e9557ee02a4fc9f7dec7e2babc":[11,0,0,0,23,11],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7ec8e2e9557ee02a4fc9f7dec7e2babc":[9,16,1,11], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7ec8e2e9557ee02a4fc9f7dec7e2babc":[9,16,1,11],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a838b18d255c1b94a533287ba302a2eba":[9,16,1,5], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a838b18d255c1b94a533287ba302a2eba":[9,16,1,5],
@ -135,10 +137,10 @@ var NAVTREEINDEX2 =
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a89862929a72bff65257ca1d51a0fce4d":[11,0,0,0,23,52], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a89862929a72bff65257ca1d51a0fce4d":[11,0,0,0,23,52],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a8e8b2e6dbeac76d8d126947d2166a514":[11,0,0,0,23,10], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a8e8b2e6dbeac76d8d126947d2166a514":[11,0,0,0,23,10],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a8e8b2e6dbeac76d8d126947d2166a514":[9,16,1,10], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a8e8b2e6dbeac76d8d126947d2166a514":[9,16,1,10],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a909cc2a7018864b0b71abacc4058fd8f":[9,16,1,24],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a909cc2a7018864b0b71abacc4058fd8f":[11,0,0,0,23,24], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a909cc2a7018864b0b71abacc4058fd8f":[11,0,0,0,23,24],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a982579753e70e59a9ea13ce628ac891a":[11,0,0,0,23,58], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a909cc2a7018864b0b71abacc4058fd8f":[9,16,1,24],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a982579753e70e59a9ea13ce628ac891a":[9,16,1,41], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a982579753e70e59a9ea13ce628ac891a":[11,0,0,0,23,59],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a982579753e70e59a9ea13ce628ac891a":[9,16,1,42],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa46f705dcf97502e95627ffde614f98b":[11,0,0,0,23,37], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa46f705dcf97502e95627ffde614f98b":[11,0,0,0,23,37],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa46f705dcf97502e95627ffde614f98b":[9,16,1,37], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa46f705dcf97502e95627ffde614f98b":[9,16,1,37],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa536e574a642ff3ab9e12bff7ba2c6a2":[9,16,1,2], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa536e574a642ff3ab9e12bff7ba2c6a2":[9,16,1,2],
@ -167,28 +169,28 @@ var NAVTREEINDEX2 =
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aca834dc035b7f7486f9ce40fde54fe9e":[9,16,1,30], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aca834dc035b7f7486f9ce40fde54fe9e":[9,16,1,30],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7accd8753672d319a30b4b4c2fb775e84d":[11,0,0,0,23,20], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7accd8753672d319a30b4b4c2fb775e84d":[11,0,0,0,23,20],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7accd8753672d319a30b4b4c2fb775e84d":[9,16,1,20], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7accd8753672d319a30b4b4c2fb775e84d":[9,16,1,20],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad5d34583e3556e153eda91620b48cc49":[9,16,1,27],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad5d34583e3556e153eda91620b48cc49":[11,0,0,0,23,27], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad5d34583e3556e153eda91620b48cc49":[11,0,0,0,23,27],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad5d34583e3556e153eda91620b48cc49":[9,16,1,27],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad724974204d51d688f569c5d387b967d":[11,0,0,0,23,43], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad724974204d51d688f569c5d387b967d":[11,0,0,0,23,43],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad87774f1c7784cf632e1e2f5b51036e1":[11,0,0,0,23,48], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad87774f1c7784cf632e1e2f5b51036e1":[11,0,0,0,23,48],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad8c6207b0c4e732f3d507f0fb79370e8":[9,16,1,1], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad8c6207b0c4e732f3d507f0fb79370e8":[9,16,1,1],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad8c6207b0c4e732f3d507f0fb79370e8":[11,0,0,0,23,1], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad8c6207b0c4e732f3d507f0fb79370e8":[11,0,0,0,23,1],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7adfb41c92e2522712207ef7f2462b5e34":[11,0,0,0,23,31], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7adfb41c92e2522712207ef7f2462b5e34":[11,0,0,0,23,31],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7adfb41c92e2522712207ef7f2462b5e34":[9,16,1,31], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7adfb41c92e2522712207ef7f2462b5e34":[9,16,1,31],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae4986291b7a810fe290851d73bebeb1c":[11,0,0,0,23,21],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae4986291b7a810fe290851d73bebeb1c":[9,16,1,21], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae4986291b7a810fe290851d73bebeb1c":[9,16,1,21],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae5ad65d779b7eab32ab67ceff91a3bac":[11,0,0,0,23,23], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae4986291b7a810fe290851d73bebeb1c":[11,0,0,0,23,21],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae5ad65d779b7eab32ab67ceff91a3bac":[9,16,1,23], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae5ad65d779b7eab32ab67ceff91a3bac":[9,16,1,23],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae8d1de0bb56e03aa58cb4d44b18edd2e":[9,16,1,12], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae5ad65d779b7eab32ab67ceff91a3bac":[11,0,0,0,23,23],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae8d1de0bb56e03aa58cb4d44b18edd2e":[11,0,0,0,23,12], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae8d1de0bb56e03aa58cb4d44b18edd2e":[11,0,0,0,23,12],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae8d1de0bb56e03aa58cb4d44b18edd2e":[9,16,1,12],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae9734e1d7af2abf291665ce9e4a728d3":[11,0,0,0,23,19], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae9734e1d7af2abf291665ce9e4a728d3":[11,0,0,0,23,19],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae9734e1d7af2abf291665ce9e4a728d3":[9,16,1,19], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae9734e1d7af2abf291665ce9e4a728d3":[9,16,1,19],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aeb0cec65ec82a713cd01e9ca9aeeb5e6":[11,0,0,0,23,57], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aeb0cec65ec82a713cd01e9ca9aeeb5e6":[11,0,0,0,23,57],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aeb0cec65ec82a713cd01e9ca9aeeb5e6":[9,16,1,40], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aeb0cec65ec82a713cd01e9ca9aeeb5e6":[9,16,1,40],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7af6cf80e57aae8ba0a57a5c456b1fe026":[11,0,0,0,23,55], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7af6cf80e57aae8ba0a57a5c456b1fe026":[11,0,0,0,23,55],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7afc4b2f72cc9e424a750b506ce0cc4310":[11,0,0,0,23,51], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7afc4b2f72cc9e424a750b506ce0cc4310":[11,0,0,0,23,51],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7afd8fd77a1cc9405fcb4f26915d7f2d01":[9,16,1,29],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7afd8fd77a1cc9405fcb4f26915d7f2d01":[11,0,0,0,23,29], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7afd8fd77a1cc9405fcb4f26915d7f2d01":[11,0,0,0,23,29],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7afd8fd77a1cc9405fcb4f26915d7f2d01":[9,16,1,29],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7afedadfb3cde37a8ea4c84ed535f26d09":[11,0,0,0,23,16], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7afedadfb3cde37a8ea4c84ed535f26d09":[11,0,0,0,23,16],
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7afedadfb3cde37a8ea4c84ed535f26d09":[9,16,1,16], "group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7afedadfb3cde37a8ea4c84ed535f26d09":[9,16,1,16],
"group__uv.html":[9,22], "group__uv.html":[9,22],
@ -219,21 +221,21 @@ var NAVTREEINDEX2 =
"group__wsclose.html":[9,17], "group__wsclose.html":[9,17],
"group__wsclose.html#gaa1c863415d1783cd8de7938aa6efa262":[9,17,1], "group__wsclose.html#gaa1c863415d1783cd8de7938aa6efa262":[9,17,1],
"group__wsclose.html#gaa1c863415d1783cd8de7938aa6efa262":[11,0,0,0,74], "group__wsclose.html#gaa1c863415d1783cd8de7938aa6efa262":[11,0,0,0,74],
"group__wsclose.html#gae399c571df32ba532c0ca67da9284985":[11,0,0,0,26],
"group__wsclose.html#gae399c571df32ba532c0ca67da9284985":[9,17,0], "group__wsclose.html#gae399c571df32ba532c0ca67da9284985":[9,17,0],
"group__wsclose.html#gae399c571df32ba532c0ca67da9284985":[11,0,0,0,26],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a1bb501d212fa4d57053db681b1dfab98":[11,0,0,0,26,3], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a1bb501d212fa4d57053db681b1dfab98":[11,0,0,0,26,3],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a1bb501d212fa4d57053db681b1dfab98":[9,17,0,2], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a1bb501d212fa4d57053db681b1dfab98":[9,17,0,2],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a2e1f0113494a58e762eed3d22e7080d8":[11,0,0,0,26,10],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a2e1f0113494a58e762eed3d22e7080d8":[9,17,0,9], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a2e1f0113494a58e762eed3d22e7080d8":[9,17,0,9],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a2e1f0113494a58e762eed3d22e7080d8":[11,0,0,0,26,10],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a32c38edab10d1379febac0c479ab2e9c":[11,0,0,0,26,14], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a32c38edab10d1379febac0c479ab2e9c":[11,0,0,0,26,14],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a3ffa38d5081b85fb739e02a747ccf2c4":[9,17,0,0],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a3ffa38d5081b85fb739e02a747ccf2c4":[11,0,0,0,26,1], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a3ffa38d5081b85fb739e02a747ccf2c4":[11,0,0,0,26,1],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a462c99b05459df700919cfd3f53c8276":[9,17,0,3], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a3ffa38d5081b85fb739e02a747ccf2c4":[9,17,0,0],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a462c99b05459df700919cfd3f53c8276":[11,0,0,0,26,4], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a462c99b05459df700919cfd3f53c8276":[11,0,0,0,26,4],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a462c99b05459df700919cfd3f53c8276":[9,17,0,3],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a4b8a3b7ce6f731e5248e4b0fb64a5044":[9,17,0,5], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a4b8a3b7ce6f731e5248e4b0fb64a5044":[9,17,0,5],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a4b8a3b7ce6f731e5248e4b0fb64a5044":[11,0,0,0,26,6], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a4b8a3b7ce6f731e5248e4b0fb64a5044":[11,0,0,0,26,6],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a68b3d34bebd88547dcfa5cadba0acd6c":[11,0,0,0,26,7],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a68b3d34bebd88547dcfa5cadba0acd6c":[9,17,0,6], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a68b3d34bebd88547dcfa5cadba0acd6c":[9,17,0,6],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a68b3d34bebd88547dcfa5cadba0acd6c":[11,0,0,0,26,7],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a7aef2da0062da606eeb35aaca5cf9050":[11,0,0,0,26,8], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a7aef2da0062da606eeb35aaca5cf9050":[11,0,0,0,26,8],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a7aef2da0062da606eeb35aaca5cf9050":[9,17,0,7], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a7aef2da0062da606eeb35aaca5cf9050":[9,17,0,7],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a9737a68759e739856b150ff9dfa30218":[11,0,0,0,26,2], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a9737a68759e739856b150ff9dfa30218":[11,0,0,0,26,2],
@ -247,7 +249,5 @@ var NAVTREEINDEX2 =
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985ad09e68295eabdddcba4e332fbea70ae5":[9,17,0,8], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985ad09e68295eabdddcba4e332fbea70ae5":[9,17,0,8],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985ad2b477a91c8445bf34ecd43977f9b390":[9,17,0,12], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985ad2b477a91c8445bf34ecd43977f9b390":[9,17,0,12],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985ad2b477a91c8445bf34ecd43977f9b390":[11,0,0,0,26,13], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985ad2b477a91c8445bf34ecd43977f9b390":[11,0,0,0,26,13],
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985af90cb98d983ad3d4c79df9b6f3d4a4d2":[11,0,0,0,26,5], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985af90cb98d983ad3d4c79df9b6f3d4a4d2":[9,17,0,4]
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985af90cb98d983ad3d4c79df9b6f3d4a4d2":[9,17,0,4],
"group__wsstatus.html":[9,18]
}; };

View file

@ -1,19 +1,21 @@
var NAVTREEINDEX3 = var NAVTREEINDEX3 =
{ {
"group__wsstatus.html#ga08e9ee165fca503fd9427d55cfecac37":[11,0,0,0,121], "group__wsclose.html#ggae399c571df32ba532c0ca67da9284985af90cb98d983ad3d4c79df9b6f3d4a4d2":[11,0,0,0,26,5],
"group__wsstatus.html":[9,18],
"group__wsstatus.html#ga08e9ee165fca503fd9427d55cfecac37":[9,18,3], "group__wsstatus.html#ga08e9ee165fca503fd9427d55cfecac37":[9,18,3],
"group__wsstatus.html#ga08e9ee165fca503fd9427d55cfecac37":[11,0,0,0,121],
"group__wsstatus.html#ga26a140623d202dd2bf2004deb6994baa":[11,0,0,0,122], "group__wsstatus.html#ga26a140623d202dd2bf2004deb6994baa":[11,0,0,0,122],
"group__wsstatus.html#ga26a140623d202dd2bf2004deb6994baa":[9,18,4], "group__wsstatus.html#ga26a140623d202dd2bf2004deb6994baa":[9,18,4],
"group__wsstatus.html#ga2bb3655329b4651cd06f79ee3a764421":[11,0,0,0,140], "group__wsstatus.html#ga2bb3655329b4651cd06f79ee3a764421":[11,0,0,0,140],
"group__wsstatus.html#ga2bb3655329b4651cd06f79ee3a764421":[9,18,6], "group__wsstatus.html#ga2bb3655329b4651cd06f79ee3a764421":[9,18,6],
"group__wsstatus.html#ga3df5045656dfb6b0e63a38de2dca79d2":[9,18,1], "group__wsstatus.html#ga3df5045656dfb6b0e63a38de2dca79d2":[9,18,1],
"group__wsstatus.html#ga3df5045656dfb6b0e63a38de2dca79d2":[11,0,0,0,106], "group__wsstatus.html#ga3df5045656dfb6b0e63a38de2dca79d2":[11,0,0,0,106],
"group__wsstatus.html#ga4ad226d5e01024b4046f4a5a37199aa1":[9,18,2],
"group__wsstatus.html#ga4ad226d5e01024b4046f4a5a37199aa1":[11,0,0,0,120], "group__wsstatus.html#ga4ad226d5e01024b4046f4a5a37199aa1":[11,0,0,0,120],
"group__wsstatus.html#ga4ad226d5e01024b4046f4a5a37199aa1":[9,18,2],
"group__wsstatus.html#gaccd9c59336efad8af0554f79cc5966fd":[11,0,0,0,93], "group__wsstatus.html#gaccd9c59336efad8af0554f79cc5966fd":[11,0,0,0,93],
"group__wsstatus.html#gaccd9c59336efad8af0554f79cc5966fd":[9,18,0], "group__wsstatus.html#gaccd9c59336efad8af0554f79cc5966fd":[9,18,0],
"group__wsstatus.html#gaeca4afc94b1f026034f99cbba37e2f85":[9,18,5],
"group__wsstatus.html#gaeca4afc94b1f026034f99cbba37e2f85":[11,0,0,0,131], "group__wsstatus.html#gaeca4afc94b1f026034f99cbba37e2f85":[11,0,0,0,131],
"group__wsstatus.html#gaeca4afc94b1f026034f99cbba37e2f85":[9,18,5],
"hierarchy.html":[10,2], "hierarchy.html":[10,2],
"index.html":[], "index.html":[],
"index.html":[0], "index.html":[0],
@ -247,7 +249,5 @@ var NAVTREEINDEX3 =
"structlws__ext__options.html":[9,5,0], "structlws__ext__options.html":[9,5,0],
"structlws__ext__options.html#a1769e4a9805bbdda227821e9578ddc7e":[9,5,0,0], "structlws__ext__options.html#a1769e4a9805bbdda227821e9578ddc7e":[9,5,0,0],
"structlws__ext__options.html#a7c4dbd62dbeba63a9d50d2306bd1cc61":[9,5,0,1], "structlws__ext__options.html#a7c4dbd62dbeba63a9d50d2306bd1cc61":[9,5,0,1],
"structlws__extension.html":[9,5,2], "structlws__extension.html":[9,5,2]
"structlws__extension.html#a1e5018c883d85176f5c2152176843f9e":[9,5,2,2],
"structlws__extension.html#a36b06c213aedb02bf9a402651751855b":[9,5,2,1]
}; };

View file

@ -1,5 +1,7 @@
var NAVTREEINDEX4 = var NAVTREEINDEX4 =
{ {
"structlws__extension.html#a1e5018c883d85176f5c2152176843f9e":[9,5,2,2],
"structlws__extension.html#a36b06c213aedb02bf9a402651751855b":[9,5,2,1],
"structlws__extension.html#afa21f3b3c8c2c9212a276c52b680c3af":[9,5,2,0], "structlws__extension.html#afa21f3b3c8c2c9212a276c52b680c3af":[9,5,2,0],
"structlws__gs__event__args.html":[9,10,0,3], "structlws__gs__event__args.html":[9,10,0,3],
"structlws__gs__event__args.html#a2bec693d8a43730d487004a44326178b":[9,10,0,3,2], "structlws__gs__event__args.html#a2bec693d8a43730d487004a44326178b":[9,10,0,3,2],
@ -73,10 +75,10 @@ var NAVTREEINDEX4 =
"structlws__protocol__vhost__options.html#a0640a92513c70ee6b9b295a9ad1658e7":[9,4,0,0,3], "structlws__protocol__vhost__options.html#a0640a92513c70ee6b9b295a9ad1658e7":[9,4,0,0,3],
"structlws__protocol__vhost__options.html#abc714ddb4171756fc8196e9823a1e21c":[9,4,0,0,1], "structlws__protocol__vhost__options.html#abc714ddb4171756fc8196e9823a1e21c":[9,4,0,0,1],
"structlws__protocol__vhost__options.html#abc714ddb4171756fc8196e9823a1e21c":[9,4,2,1], "structlws__protocol__vhost__options.html#abc714ddb4171756fc8196e9823a1e21c":[9,4,2,1],
"structlws__protocol__vhost__options.html#acf9db77f8eb64cd4e314be9b43d8a8b9":[9,4,0,0,0],
"structlws__protocol__vhost__options.html#acf9db77f8eb64cd4e314be9b43d8a8b9":[9,4,2,0], "structlws__protocol__vhost__options.html#acf9db77f8eb64cd4e314be9b43d8a8b9":[9,4,2,0],
"structlws__protocol__vhost__options.html#afd99fbc90be51ea2465b550c2ec47822":[9,4,2,2], "structlws__protocol__vhost__options.html#acf9db77f8eb64cd4e314be9b43d8a8b9":[9,4,0,0,0],
"structlws__protocol__vhost__options.html#afd99fbc90be51ea2465b550c2ec47822":[9,4,0,0,2], "structlws__protocol__vhost__options.html#afd99fbc90be51ea2465b550c2ec47822":[9,4,0,0,2],
"structlws__protocol__vhost__options.html#afd99fbc90be51ea2465b550c2ec47822":[9,4,2,2],
"structlws__protocols.html":[9,10,1], "structlws__protocols.html":[9,10,1],
"structlws__protocols.html#a0d1d4996d81b2f5e125bcec981e461c5":[9,10,1,4], "structlws__protocols.html#a0d1d4996d81b2f5e125bcec981e461c5":[9,10,1,4],
"structlws__protocols.html#a0e63edb457a613c3fa4271e0a8f19624":[9,10,1,2], "structlws__protocols.html#a0e63edb457a613c3fa4271e0a8f19624":[9,10,1,2],
@ -94,8 +96,8 @@ var NAVTREEINDEX4 =
"structlws__token__limits.html#a6ec712306cbf8585bce7a56758a3ceff":[9,6,4,1,0], "structlws__token__limits.html#a6ec712306cbf8585bce7a56758a3ceff":[9,6,4,1,0],
"structlws__tokens.html":[9,6,4,0], "structlws__tokens.html":[9,6,4,0],
"structlws__tokens.html":[9,6,6], "structlws__tokens.html":[9,6,6],
"structlws__tokens.html#a855b7375d1d58516c0ecd4b60e9a7766":[9,6,4,0,1],
"structlws__tokens.html#a855b7375d1d58516c0ecd4b60e9a7766":[9,6,6,1], "structlws__tokens.html#a855b7375d1d58516c0ecd4b60e9a7766":[9,6,6,1],
"structlws__tokens.html#a855b7375d1d58516c0ecd4b60e9a7766":[9,6,4,0,1],
"structlws__tokens.html#a9f3635412bc71a5cb78e9862b55f10cd":[9,6,4,0,0], "structlws__tokens.html#a9f3635412bc71a5cb78e9862b55f10cd":[9,6,4,0,0],
"structlws__tokens.html#a9f3635412bc71a5cb78e9862b55f10cd":[9,6,6,0], "structlws__tokens.html#a9f3635412bc71a5cb78e9862b55f10cd":[9,6,6,0],
"structlwsgw__hash.html":[9,10,0,1], "structlwsgw__hash.html":[9,10,0,1],

View file

@ -113,8 +113,9 @@ lws_client_connect_2(struct lws *wsi)
} else } else
#endif #endif
{ {
struct addrinfo ai, *res, *result; struct addrinfo ai, *res, *result = NULL;
void *p = NULL; void *p = NULL;
unsigned char *p1;
memset (&ai, 0, sizeof ai); memset (&ai, 0, sizeof ai);
ai.ai_family = PF_UNSPEC; ai.ai_family = PF_UNSPEC;
@ -134,16 +135,20 @@ lws_client_connect_2(struct lws *wsi)
p = &((struct sockaddr_in *)res->ai_addr)->sin_addr; p = &((struct sockaddr_in *)res->ai_addr)->sin_addr;
break; break;
} }
res = res->ai_next; res = res->ai_next;
} }
if (!p) { if (!p) {
lwsl_err("Couldn't identify address\n"); lwsl_err("Couldn't identify address\n");
freeaddrinfo(result); freeaddrinfo(result);
cce = "unable to lookup address";
goto oom4; goto oom4;
} }
p1 = p;
lwsl_err("getaddrinfo %s -> %d.%d.%d.%d\n", ads,
p1[0], p1[1], p1[2], p1[3]);
server_addr4.sin_family = AF_INET; server_addr4.sin_family = AF_INET;
server_addr4.sin_addr = *((struct in_addr *)p); server_addr4.sin_addr = *((struct in_addr *)p);
bzero(&server_addr4.sin_zero, 8); bzero(&server_addr4.sin_zero, 8);
@ -161,6 +166,7 @@ lws_client_connect_2(struct lws *wsi)
if (!lws_socket_is_valid(wsi->sock)) { if (!lws_socket_is_valid(wsi->sock)) {
lwsl_warn("Unable to open socket\n"); lwsl_warn("Unable to open socket\n");
cce = "unable to open socket";
goto oom4; goto oom4;
} }
@ -198,8 +204,10 @@ lws_client_connect_2(struct lws *wsi)
AWAITING_TIMEOUT); AWAITING_TIMEOUT);
n = lws_socket_bind(wsi->vhost, wsi->sock, 0, wsi->vhost->iface); n = lws_socket_bind(wsi->vhost, wsi->sock, 0, wsi->vhost->iface);
if (n < 0) if (n < 0) {
cce = "unable to bind socket";
goto failed; goto failed;
}
} }
#ifdef LWS_USE_IPV6 #ifdef LWS_USE_IPV6
@ -224,21 +232,26 @@ lws_client_connect_2(struct lws *wsi)
lwsl_client("nonblocking connect retry (errno = %d)\n", lwsl_client("nonblocking connect retry (errno = %d)\n",
LWS_ERRNO); LWS_ERRNO);
if (lws_plat_check_connection_error(wsi)) if (lws_plat_check_connection_error(wsi)) {
cce = "socket connect failed";
goto failed; goto failed;
}
/* /*
* must do specifically a POLLOUT poll to hear * must do specifically a POLLOUT poll to hear
* about the connect completion * about the connect completion
*/ */
if (lws_change_pollfd(wsi, 0, LWS_POLLOUT)) if (lws_change_pollfd(wsi, 0, LWS_POLLOUT)) {
cce = "POLLOUT set failed";
goto failed; goto failed;
}
return wsi; return wsi;
} }
if (LWS_ERRNO != LWS_EISCONN) { if (LWS_ERRNO != LWS_EISCONN) {
lwsl_debug("Connect failed errno=%d\n", LWS_ERRNO); lwsl_notice("Connect failed errno=%d\n", LWS_ERRNO);
cce = "connect failed";
goto failed; goto failed;
} }
} }
@ -264,6 +277,7 @@ lws_client_connect_2(struct lws *wsi)
MSG_NOSIGNAL); MSG_NOSIGNAL);
if (n < 0) { if (n < 0) {
lwsl_debug("ERROR writing to proxy socket\n"); lwsl_debug("ERROR writing to proxy socket\n");
cce = "proxy write failed";
goto failed; goto failed;
} }
@ -294,8 +308,10 @@ lws_client_connect_2(struct lws *wsi)
pfd.revents = LWS_POLLIN; pfd.revents = LWS_POLLIN;
n = lws_service_fd(context, &pfd); n = lws_service_fd(context, &pfd);
if (n < 0) if (n < 0) {
cce = "first service failed";
goto failed; goto failed;
}
if (n) /* returns 1 on failure after closing wsi */ if (n) /* returns 1 on failure after closing wsi */
return NULL; return NULL;
@ -305,8 +321,9 @@ oom4:
/* we're closing, losing some rx is OK */ /* we're closing, losing some rx is OK */
if (wsi->u.hdr.ah) if (wsi->u.hdr.ah)
wsi->u.hdr.ah->rxpos = wsi->u.hdr.ah->rxlen; wsi->u.hdr.ah->rxpos = wsi->u.hdr.ah->rxlen;
if (wsi->mode == LWSCM_HTTP_CLIENT ||
if (wsi->mode == LWSCM_HTTP_CLIENT) { wsi->mode == LWSCM_HTTP_CLIENT_ACCEPTED ||
wsi->mode == LWSCM_WSCL_WAITING_CONNECT) {
wsi->vhost->protocols[0].callback(wsi, wsi->vhost->protocols[0].callback(wsi,
LWS_CALLBACK_CLIENT_CONNECTION_ERROR, LWS_CALLBACK_CLIENT_CONNECTION_ERROR,
wsi->user_space, (void *)cce, strlen(cce)); wsi->user_space, (void *)cce, strlen(cce));
@ -314,13 +331,18 @@ oom4:
} }
/* take care that we might be inserted in fds already */ /* take care that we might be inserted in fds already */
if (wsi->position_in_fds_table != -1) if (wsi->position_in_fds_table != -1)
goto failed; goto failed1;
lws_header_table_detach(wsi, 0); lws_header_table_detach(wsi, 0);
lws_free(wsi); lws_free(wsi);
return NULL; return NULL;
failed: failed:
wsi->vhost->protocols[0].callback(wsi,
LWS_CALLBACK_CLIENT_CONNECTION_ERROR,
wsi->user_space, (void *)cce, strlen(cce));
wsi->already_did_cce = 1;
failed1:
lws_close_free_wsi(wsi, LWS_CLOSE_STATUS_NOSTATUS); lws_close_free_wsi(wsi, LWS_CLOSE_STATUS_NOSTATUS);
return NULL; return NULL;

View file

@ -346,7 +346,12 @@ static void
strtolower(char *s) strtolower(char *s)
{ {
while (*s) { while (*s) {
#ifdef LWS_PLAT_OPTEE
int tolower_optee(int c);
*s = tolower_optee((int)*s);
#else
*s = tolower((int)*s); *s = tolower((int)*s);
#endif
s++; s++;
} }
} }

View file

@ -137,7 +137,7 @@ lws_protocol_init(struct lws_context *context)
memset(&wsi, 0, sizeof(wsi)); memset(&wsi, 0, sizeof(wsi));
wsi.context = context; wsi.context = context;
lwsl_notice("%s\n", __func__); lwsl_info("%s\n", __func__);
while (vh) { while (vh) {
wsi.vhost = vh; wsi.vhost = vh;
@ -308,6 +308,10 @@ static const struct lws_protocols protocols_dummy[] = {
{ NULL, NULL, 0, 0 } /* terminator */ { NULL, NULL, 0, 0 } /* terminator */
}; };
#ifdef LWS_PLAT_OPTEE
#undef LWS_HAVE_GETENV
#endif
LWS_VISIBLE struct lws_vhost * LWS_VISIBLE struct lws_vhost *
lws_create_vhost(struct lws_context *context, lws_create_vhost(struct lws_context *context,
struct lws_context_creation_info *info) struct lws_context_creation_info *info)
@ -514,13 +518,10 @@ lws_create_vhost(struct lws_context *context,
} else } else
vh->log_fd = (int)LWS_INVALID_FILE; vh->log_fd = (int)LWS_INVALID_FILE;
#endif #endif
if (lws_context_init_server_ssl(info, vh)) if (lws_context_init_server_ssl(info, vh))
goto bail; goto bail;
if (lws_context_init_client_ssl(info, vh)) if (lws_context_init_client_ssl(info, vh))
goto bail; goto bail;
if (lws_context_init_server(info, vh)) if (lws_context_init_server(info, vh))
goto bail; goto bail;
@ -531,7 +532,6 @@ lws_create_vhost(struct lws_context *context,
} }
vh1 = &(*vh1)->vhost_next; vh1 = &(*vh1)->vhost_next;
}; };
/* for the case we are adding a vhost much later, after server init */ /* for the case we are adding a vhost much later, after server init */
if (context->protocol_init_done) if (context->protocol_init_done)
@ -571,6 +571,9 @@ lws_create_context(struct lws_context_creation_info *info)
lwsl_notice("Initial logging level %d\n", log_level); lwsl_notice("Initial logging level %d\n", log_level);
lwsl_notice("Libwebsockets version: %s\n", library_version); lwsl_notice("Libwebsockets version: %s\n", library_version);
#if defined(GCC_VER)
lwsl_notice("Compiled with %s\n", GCC_VER);
#endif
#if LWS_POSIX #if LWS_POSIX
#ifdef LWS_USE_IPV6 #ifdef LWS_USE_IPV6
if (!lws_check_opt(info->options, LWS_SERVER_OPTION_DISABLE_IPV6)) if (!lws_check_opt(info->options, LWS_SERVER_OPTION_DISABLE_IPV6))
@ -580,8 +583,10 @@ lws_create_context(struct lws_context_creation_info *info)
#else #else
lwsl_notice("IPV6 not compiled in\n"); lwsl_notice("IPV6 not compiled in\n");
#endif #endif
#ifndef LWS_PLAT_OPTEE
lws_feature_status_libev(info); lws_feature_status_libev(info);
lws_feature_status_libuv(info); lws_feature_status_libuv(info);
#endif
#endif #endif
lwsl_info(" LWS_DEF_HEADER_LEN : %u\n", LWS_DEF_HEADER_LEN); lwsl_info(" LWS_DEF_HEADER_LEN : %u\n", LWS_DEF_HEADER_LEN);
lwsl_info(" LWS_MAX_PROTOCOLS : %u\n", LWS_MAX_PROTOCOLS); lwsl_info(" LWS_MAX_PROTOCOLS : %u\n", LWS_MAX_PROTOCOLS);

View file

@ -39,8 +39,12 @@
#endif #endif
int log_level = LLL_ERR | LLL_WARN | LLL_NOTICE; int log_level = LLL_ERR | LLL_WARN | LLL_NOTICE;
static void (*lwsl_emit)(int level, const char *line) = lwsl_emit_stderr; static void (*lwsl_emit)(int level, const char *line)
#ifndef LWS_PLAT_OPTEE
= lwsl_emit_stderr
#endif
;
#ifndef LWS_PLAT_OPTEE
static const char * const log_level_names[] = { static const char * const log_level_names[] = {
"ERR", "ERR",
"WARN", "WARN",
@ -53,6 +57,7 @@ static const char * const log_level_names[] = {
"CLIENT", "CLIENT",
"LATENCY", "LATENCY",
}; };
#endif
void void
lws_free_wsi(struct lws *wsi) lws_free_wsi(struct lws *wsi)
@ -644,6 +649,7 @@ interface_to_sa(struct lws_vhost *vh, const char *ifname, struct sockaddr_in *ad
} }
#endif #endif
#ifndef LWS_PLAT_OPTEE
#if LWS_POSIX #if LWS_POSIX
static int static int
lws_get_addresses(struct lws_vhost *vh, void *ads, char *name, lws_get_addresses(struct lws_vhost *vh, void *ads, char *name,
@ -729,6 +735,7 @@ lws_get_addresses(struct lws_vhost *vh, void *ads, char *name,
} }
#endif #endif
LWS_VISIBLE const char * LWS_VISIBLE const char *
lws_get_peer_simple(struct lws *wsi, char *name, int namelen) lws_get_peer_simple(struct lws *wsi, char *name, int namelen)
{ {
@ -770,11 +777,13 @@ lws_get_peer_simple(struct lws *wsi, char *name, int namelen)
#endif #endif
#endif #endif
} }
#endif
LWS_VISIBLE void LWS_VISIBLE void
lws_get_peer_addresses(struct lws *wsi, lws_sockfd_type fd, char *name, lws_get_peer_addresses(struct lws *wsi, lws_sockfd_type fd, char *name,
int name_len, char *rip, int rip_len) int name_len, char *rip, int rip_len)
{ {
#ifndef LWS_PLAT_OPTEE
#if LWS_POSIX #if LWS_POSIX
socklen_t len; socklen_t len;
#ifdef LWS_USE_IPV6 #ifdef LWS_USE_IPV6
@ -810,14 +819,15 @@ lws_get_peer_addresses(struct lws *wsi, lws_sockfd_type fd, char *name,
bail: bail:
lws_latency(context, wsi, "lws_get_peer_addresses", ret, 1); lws_latency(context, wsi, "lws_get_peer_addresses", ret, 1);
#else #endif
#endif
(void)wsi; (void)wsi;
(void)fd; (void)fd;
(void)name; (void)name;
(void)name_len; (void)name_len;
(void)rip; (void)rip;
(void)rip_len; (void)rip_len;
#endif
} }
LWS_EXTERN void * LWS_EXTERN void *
@ -1129,6 +1139,7 @@ lws_ensure_user_space(struct lws *wsi)
LWS_VISIBLE int LWS_VISIBLE int
lwsl_timestamp(int level, char *p, int len) lwsl_timestamp(int level, char *p, int len)
{ {
#ifndef LWS_PLAT_OPTEE
time_t o_now = time(NULL); time_t o_now = time(NULL);
unsigned long long now; unsigned long long now;
struct tm *ptm = NULL; struct tm *ptm = NULL;
@ -1166,10 +1177,11 @@ lwsl_timestamp(int level, char *p, int len)
(int)(now % 10000), log_level_names[n]); (int)(now % 10000), log_level_names[n]);
return n; return n;
} }
#endif
return 0; return 0;
} }
#ifndef LWS_PLAT_OPTEE
LWS_VISIBLE void lwsl_emit_stderr(int level, const char *line) LWS_VISIBLE void lwsl_emit_stderr(int level, const char *line)
{ {
#if !defined(LWS_WITH_ESP8266) #if !defined(LWS_WITH_ESP8266)
@ -1179,6 +1191,7 @@ LWS_VISIBLE void lwsl_emit_stderr(int level, const char *line)
fprintf(stderr, "%s%s", buf, line); fprintf(stderr, "%s%s", buf, line);
#endif #endif
} }
#endif
LWS_VISIBLE void _lws_logv(int filter, const char *format, va_list vl) LWS_VISIBLE void _lws_logv(int filter, const char *format, va_list vl)
{ {
@ -1511,7 +1524,9 @@ lws_socket_bind(struct lws_vhost *vhost, lws_sockfd_type sockfd, int port,
struct sockaddr_in6 serv_addr6; struct sockaddr_in6 serv_addr6;
#endif #endif
struct sockaddr_in serv_addr4; struct sockaddr_in serv_addr4;
#ifndef LWS_PLAT_OPTEE
socklen_t len = sizeof(struct sockaddr); socklen_t len = sizeof(struct sockaddr);
#endif
int n; int n;
struct sockaddr_in sin; struct sockaddr_in sin;
struct sockaddr *v; struct sockaddr *v;
@ -1612,9 +1627,11 @@ lws_socket_bind(struct lws_vhost *vhost, lws_sockfd_type sockfd, int port,
return -1; return -1;
} }
#ifndef LWS_PLAT_OPTEE
if (getsockname(sockfd, (struct sockaddr *)&sin, &len) == -1) if (getsockname(sockfd, (struct sockaddr *)&sin, &len) == -1)
lwsl_warn("getsockname: %s\n", strerror(LWS_ERRNO)); lwsl_warn("getsockname: %s\n", strerror(LWS_ERRNO));
else else
#endif
port = ntohs(sin.sin_port); port = ntohs(sin.sin_port);
#endif #endif

View file

@ -166,7 +166,7 @@ struct sockaddr_in;
#define LWS_INLINE inline #define LWS_INLINE inline
#define LWS_O_RDONLY O_RDONLY #define LWS_O_RDONLY O_RDONLY
#if !defined(MBED_OPERATORS) && !defined(LWS_WITH_ESP8266) #if !defined(MBED_OPERATORS) && !defined(LWS_WITH_ESP8266) && !defined(OPTEE_TA)
#include <poll.h> #include <poll.h>
#include <netdb.h> #include <netdb.h>
#define LWS_INVALID_FILE -1 #define LWS_INVALID_FILE -1
@ -216,9 +216,11 @@ struct sockaddr_in;
#ifdef _WIN32 #ifdef _WIN32
#define random rand #define random rand
#else #else
#if !defined(OPTEE_TA)
#include <sys/time.h> #include <sys/time.h>
#include <unistd.h> #include <unistd.h>
#endif #endif
#endif
#ifdef LWS_OPENSSL_SUPPORT #ifdef LWS_OPENSSL_SUPPORT

328
lib/lws-plat-optee.c Normal file
View file

@ -0,0 +1,328 @@
#include "private-libwebsockets.h"
/*
* included from libwebsockets.c for OPTEE builds
*/
void TEE_GenerateRandom(void *randomBuffer, uint32_t randomBufferLen);
unsigned long long time_in_microseconds(void)
{
return ((unsigned long long)time(NULL)) * 1000000;
}
#if 0
LWS_VISIBLE int
lws_get_random(struct lws_context *context, void *buf, int len)
{
TEE_GenerateRandom(buf, len);
return len;
}
#endif
LWS_VISIBLE int
lws_send_pipe_choked(struct lws *wsi)
{
#if 0
struct lws_pollfd fds;
/* treat the fact we got a truncated send pending as if we're choked */
if (wsi->trunc_len)
return 1;
fds.fd = wsi->sock;
fds.events = POLLOUT;
fds.revents = 0;
if (poll(&fds, 1, 0) != 1)
return 1;
if ((fds.revents & POLLOUT) == 0)
return 1;
#endif
/* okay to send another packet without blocking */
return 0;
}
LWS_VISIBLE int
lws_poll_listen_fd(struct lws_pollfd *fd)
{
// return poll(fd, 1, 0);
return 0;
}
LWS_VISIBLE void
lws_cancel_service_pt(struct lws *wsi)
{
#if 0
struct lws_context_per_thread *pt = &wsi->context->pt[(int)wsi->tsi];
char buf = 0;
if (write(pt->dummy_pipe_fds[1], &buf, sizeof(buf)) != 1)
lwsl_err("Cannot write to dummy pipe");
#endif
}
LWS_VISIBLE void
lws_cancel_service(struct lws_context *context)
{
#if 0
struct lws_context_per_thread *pt = &context->pt[0];
char buf = 0, m = context->count_threads;
while (m--) {
if (write(pt->dummy_pipe_fds[1], &buf, sizeof(buf)) != 1)
lwsl_err("Cannot write to dummy pipe");
pt++;
}
#endif
}
#if 0
LWS_VISIBLE void lwsl_emit_syslog(int level, const char *line)
{
IMSG("%d: %s\n", level, line);
}
#endif
LWS_VISIBLE LWS_EXTERN int
_lws_plat_service_tsi(struct lws_context *context, int timeout_ms, int tsi)
{
struct lws_context_per_thread *pt;
int n = -1, m, c;
//char buf;
/* stay dead once we are dead */
if (!context || !context->vhost_list)
return 1;
pt = &context->pt[tsi];
if (timeout_ms < 0)
goto faked_service;
if (!context->service_tid_detected) {
struct lws _lws;
memset(&_lws, 0, sizeof(_lws));
_lws.context = context;
context->service_tid_detected =
context->vhost_list->protocols[0].callback(
&_lws, LWS_CALLBACK_GET_THREAD_ID, NULL, NULL, 0);
}
context->service_tid = context->service_tid_detected;
/*
* is there anybody with pending stuff that needs service forcing?
*/
if (!lws_service_adjust_timeout(context, 1, tsi)) {
lwsl_notice("%s: doing forced service\n", __func__);
/* -1 timeout means just do forced service */
_lws_plat_service_tsi(context, -1, pt->tid);
/* still somebody left who wants forced service? */
if (!lws_service_adjust_timeout(context, 1, pt->tid))
/* yes... come back again quickly */
timeout_ms = 0;
}
#if 1
n = poll(pt->fds, pt->fds_count, timeout_ms);
#ifdef LWS_OPENSSL_SUPPORT
if (!pt->rx_draining_ext_list &&
!lws_ssl_anybody_has_buffered_read_tsi(context, tsi) && !n) {
#else
if (!pt->rx_draining_ext_list && !n) /* poll timeout */ {
#endif
lws_service_fd_tsi(context, NULL, tsi);
return 0;
}
#endif
faked_service:
m = lws_service_flag_pending(context, tsi);
if (m)
c = -1; /* unknown limit */
else
if (n < 0) {
if (LWS_ERRNO != LWS_EINTR)
return -1;
return 0;
} else
c = n;
/* any socket with events to service? */
for (n = 0; n < pt->fds_count && c; n++) {
if (!pt->fds[n].revents)
continue;
c--;
#if 0
if (pt->fds[n].fd == pt->dummy_pipe_fds[0]) {
if (read(pt->fds[n].fd, &buf, 1) != 1)
lwsl_err("Cannot read from dummy pipe.");
continue;
}
#endif
m = lws_service_fd_tsi(context, &pt->fds[n], tsi);
if (m < 0)
return -1;
/* if something closed, retry this slot */
if (m)
n--;
}
return 0;
}
LWS_VISIBLE int
lws_plat_check_connection_error(struct lws *wsi)
{
return 0;
}
LWS_VISIBLE int
lws_plat_service(struct lws_context *context, int timeout_ms)
{
return _lws_plat_service_tsi(context, timeout_ms, 0);
}
LWS_VISIBLE int
lws_plat_set_socket_options(struct lws_vhost *vhost, int fd)
{
return 0;
}
LWS_VISIBLE void
lws_plat_drop_app_privileges(struct lws_context_creation_info *info)
{
}
LWS_VISIBLE int
lws_plat_context_early_init(void)
{
return 0;
}
LWS_VISIBLE void
lws_plat_context_early_destroy(struct lws_context *context)
{
}
LWS_VISIBLE void
lws_plat_context_late_destroy(struct lws_context *context)
{
if (context->lws_lookup)
lws_free(context->lws_lookup);
}
/* cast a struct sockaddr_in6 * into addr for ipv6 */
LWS_VISIBLE int
lws_interface_to_sa(int ipv6, const char *ifname, struct sockaddr_in *addr,
size_t addrlen)
{
return -1;
}
LWS_VISIBLE void
lws_plat_insert_socket_into_fds(struct lws_context *context, struct lws *wsi)
{
struct lws_context_per_thread *pt = &context->pt[(int)wsi->tsi];
pt->fds[pt->fds_count++].revents = 0;
}
LWS_VISIBLE void
lws_plat_delete_socket_from_fds(struct lws_context *context,
struct lws *wsi, int m)
{
struct lws_context_per_thread *pt = &context->pt[(int)wsi->tsi];
pt->fds_count--;
}
LWS_VISIBLE void
lws_plat_service_periodic(struct lws_context *context)
{
}
LWS_VISIBLE int
lws_plat_change_pollfd(struct lws_context *context,
struct lws *wsi, struct lws_pollfd *pfd)
{
return 0;
}
LWS_VISIBLE const char *
lws_plat_inet_ntop(int af, const void *src, char *dst, int cnt)
{
//return inet_ntop(af, src, dst, cnt);
return "lws_plat_inet_ntop";
}
static lws_filefd_type
_lws_plat_file_open(struct lws *wsi, const char *filename,
unsigned long *filelen, int flags)
{
return 0;
}
static int
_lws_plat_file_close(struct lws *wsi, lws_filefd_type fd)
{
return 0;
}
unsigned long
_lws_plat_file_seek_cur(struct lws *wsi, lws_filefd_type fd, long offset)
{
return 0;
}
static int
_lws_plat_file_read(struct lws *wsi, lws_filefd_type fd, unsigned long *amount,
unsigned char *buf, unsigned long len)
{
return 0;
}
static int
_lws_plat_file_write(struct lws *wsi, lws_filefd_type fd, unsigned long *amount,
unsigned char *buf, unsigned long len)
{
return 0;
}
LWS_VISIBLE int
lws_plat_init(struct lws_context *context,
struct lws_context_creation_info *info)
{
/* master context has the global fd lookup array */
context->lws_lookup = lws_zalloc(sizeof(struct lws *) *
context->max_fds);
if (context->lws_lookup == NULL) {
lwsl_err("OOM on lws_lookup array for %d connections\n",
context->max_fds);
return 1;
}
lwsl_notice(" mem: platform fd map: %5u bytes\n",
sizeof(struct lws *) * context->max_fds);
context->fops.open = _lws_plat_file_open;
context->fops.close = _lws_plat_file_close;
context->fops.seek_cur = _lws_plat_file_seek_cur;
context->fops.read = _lws_plat_file_read;
context->fops.write = _lws_plat_file_write;
#ifdef LWS_WITH_PLUGINS
if (info->plugin_dirs)
lws_plat_plugins_init(context, info->plugin_dirs);
#endif
return 0;
}

View file

@ -366,10 +366,10 @@ lws_service_timeout_check(struct lws *wsi, unsigned int sec)
/* no need to log normal idle keepalive timeout */ /* no need to log normal idle keepalive timeout */
if (wsi->pending_timeout != PENDING_TIMEOUT_HTTP_KEEPALIVE_IDLE) if (wsi->pending_timeout != PENDING_TIMEOUT_HTTP_KEEPALIVE_IDLE)
lwsl_notice("wsi %p: TIMEDOUT WAITING on %d (did hdr %d, ah %p, wl %d, pfd events %d)\n", lwsl_notice("wsi %p: TIMEDOUT WAITING on %d (did hdr %d, ah %p, wl %d, pfd events %d) %llu vs %llu\n",
(void *)wsi, wsi->pending_timeout, (void *)wsi, wsi->pending_timeout,
wsi->hdr_parsing_completed, wsi->u.hdr.ah, wsi->hdr_parsing_completed, wsi->u.hdr.ah,
pt->ah_wait_list_length, n); pt->ah_wait_list_length, n, (unsigned long long)sec, (unsigned long long)wsi->pending_timeout_limit);
//#endif //#endif
/* /*
* Since he failed a timeout, he already had a chance to do * Since he failed a timeout, he already had a chance to do
@ -546,8 +546,10 @@ lws_http_client_read(struct lws *wsi, char **buf, int *len)
/* allow the source to signal he has data again next time */ /* allow the source to signal he has data again next time */
lws_change_pollfd(wsi, 0, LWS_POLLIN); lws_change_pollfd(wsi, 0, LWS_POLLIN);
if (rlen == LWS_SSL_CAPABLE_ERROR) if (rlen == LWS_SSL_CAPABLE_ERROR) {
lwsl_notice("%s: SSL capable error\n", __func__);
return -1; return -1;
}
if (rlen <= 0) if (rlen <= 0)
return 0; return 0;
@ -568,14 +570,18 @@ spin_chunks:
break; break;
} }
n = char_to_hex((*buf)[0]); n = char_to_hex((*buf)[0]);
if (n < 0) if (n < 0) {
lwsl_debug("chunking failure\n");
return -1; return -1;
}
wsi->chunk_remaining <<= 4; wsi->chunk_remaining <<= 4;
wsi->chunk_remaining |= n; wsi->chunk_remaining |= n;
break; break;
case ELCP_CR: case ELCP_CR:
if ((*buf)[0] != '\x0a') if ((*buf)[0] != '\x0a') {
lwsl_debug("chunking failure\n");
return -1; return -1;
}
wsi->chunk_parser = ELCP_CONTENT; wsi->chunk_parser = ELCP_CONTENT;
lwsl_info("chunk %d\n", wsi->chunk_remaining); lwsl_info("chunk %d\n", wsi->chunk_remaining);
if (wsi->chunk_remaining) if (wsi->chunk_remaining)
@ -587,8 +593,11 @@ spin_chunks:
break; break;
case ELCP_POST_CR: case ELCP_POST_CR:
if ((*buf)[0] != '\x0d') if ((*buf)[0] != '\x0d') {
lwsl_debug("chunking failure\n");
return -1; return -1;
}
wsi->chunk_parser = ELCP_POST_LF; wsi->chunk_parser = ELCP_POST_LF;
break; break;
@ -626,8 +635,11 @@ spin_chunks:
#endif #endif
if (user_callback_handle_rxflow(wsi->protocol->callback, if (user_callback_handle_rxflow(wsi->protocol->callback,
wsi, LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ, wsi, LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ,
wsi->user_space, *buf, n)) wsi->user_space, *buf, n)) {
lwsl_debug("%s: LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ returned -1\n", __func__);
return -1; return -1;
}
if (wsi->chunked && wsi->chunk_remaining) { if (wsi->chunked && wsi->chunk_remaining) {
(*buf) += n; (*buf) += n;
@ -652,11 +664,15 @@ spin_chunks:
completed: completed:
if (user_callback_handle_rxflow(wsi->protocol->callback, if (user_callback_handle_rxflow(wsi->protocol->callback,
wsi, LWS_CALLBACK_COMPLETED_CLIENT_HTTP, wsi, LWS_CALLBACK_COMPLETED_CLIENT_HTTP,
wsi->user_space, NULL, 0)) wsi->user_space, NULL, 0)) {
lwsl_debug("Completed call returned -1\n");
return -1; return -1;
}
if (lws_http_transaction_completed_client(wsi)) if (lws_http_transaction_completed_client(wsi)) {
lwsl_notice("%s: transaction completed says -1\n", __func__);
return -1; return -1;
}
return 0; return 0;
} }
@ -695,12 +711,14 @@ lws_service_fd_tsi(struct lws_context *context, struct lws_pollfd *pollfd, int t
lws_plat_service_periodic(context); lws_plat_service_periodic(context);
/* retire unused deprecated context */ /* retire unused deprecated context */
#ifndef LWS_PLAT_OPTEE
#if LWS_POSIX && !defined(_WIN32) #if LWS_POSIX && !defined(_WIN32)
if (context->deprecated && !context->count_wsi_allocated) { if (context->deprecated && !context->count_wsi_allocated) {
lwsl_notice("%s: ending deprecated context\n", __func__); lwsl_notice("%s: ending deprecated context\n", __func__);
kill(getpid(), SIGINT); kill(getpid(), SIGINT);
return 0; return 0;
} }
#endif
#endif #endif
/* global timeout check once per second */ /* global timeout check once per second */
@ -992,8 +1010,10 @@ drain:
if (user_callback_handle_rxflow( if (user_callback_handle_rxflow(
wsi->protocol->callback, wsi->protocol->callback,
wsi, LWS_CALLBACK_RECEIVE_CLIENT_HTTP, wsi, LWS_CALLBACK_RECEIVE_CLIENT_HTTP,
wsi->user_space, NULL, 0)) wsi->user_space, NULL, 0)) {
lwsl_debug("LWS_CALLBACK_RECEIVE_CLIENT_HTTP closed it\n");
goto close_and_handled; goto close_and_handled;
}
} }
#endif #endif
/* /*
@ -1113,8 +1133,10 @@ drain:
break; break;
#else #else
if ((pollfd->revents & LWS_POLLOUT) && if ((pollfd->revents & LWS_POLLOUT) &&
lws_handle_POLLOUT_event(wsi, pollfd)) lws_handle_POLLOUT_event(wsi, pollfd)) {
lwsl_debug("POLLOUT event closed it\n");
goto close_and_handled; goto close_and_handled;
}
n = lws_client_socket_service(context, wsi, pollfd); n = lws_client_socket_service(context, wsi, pollfd);
if (n) if (n)

View file

@ -216,6 +216,7 @@ lws_ssl_client_connect1(struct lws *wsi)
n = SSL_connect(wsi->ssl); n = SSL_connect(wsi->ssl);
#endif #endif
#endif #endif
lws_latency(context, wsi, lws_latency(context, wsi,
"SSL_connect LWSCM_WSCL_ISSUE_HANDSHAKE", n, n > 0); "SSL_connect LWSCM_WSCL_ISSUE_HANDSHAKE", n, n > 0);
@ -245,6 +246,17 @@ some_wait:
return 0; /* no error */ return 0; /* no error */
} }
{
struct lws_context_per_thread *pt = &context->pt[(int)wsi->tsi];
char *p = (char *)&pt->serv_buf[0];
char *sb = p;
lwsl_err("ssl hs1 error, X509_V_ERR = %d: %s\n",
n, ERR_error_string(n, sb));
lws_ssl_elaborate_error();
}
n = -1; n = -1;
} }
@ -298,6 +310,8 @@ lws_ssl_client_connect2(struct lws *wsi)
n = SSL_connect(wsi->ssl); n = SSL_connect(wsi->ssl);
#endif #endif
#endif #endif
lwsl_notice("%s: SSL_connect says %d\n", __func__, n);
lws_latency(context, wsi, lws_latency(context, wsi,
"SSL_connect LWSCM_WSCL_WAITING_SSL", n, n > 0); "SSL_connect LWSCM_WSCL_WAITING_SSL", n, n > 0);
@ -305,6 +319,8 @@ lws_ssl_client_connect2(struct lws *wsi)
n = lws_ssl_get_error(wsi, n); n = lws_ssl_get_error(wsi, n);
if (n == SSL_ERROR_WANT_READ) { if (n == SSL_ERROR_WANT_READ) {
lwsl_info("SSL_connect WANT_READ... retrying\n");
wsi->mode = LWSCM_WSCL_WAITING_SSL; wsi->mode = LWSCM_WSCL_WAITING_SSL;
return 0; /* no error */ return 0; /* no error */
@ -330,6 +346,7 @@ lws_ssl_client_connect2(struct lws *wsi)
return 0; /* no error */ return 0; /* no error */
} }
n = -1; n = -1;
} }
@ -376,6 +393,8 @@ lws_ssl_client_connect2(struct lws *wsi)
n == X509_V_ERR_CERT_HAS_EXPIRED) && n == X509_V_ERR_CERT_HAS_EXPIRED) &&
wsi->use_ssl & LCCSCF_ALLOW_EXPIRED) { wsi->use_ssl & LCCSCF_ALLOW_EXPIRED) {
lwsl_notice("accepting expired certificate\n"); lwsl_notice("accepting expired certificate\n");
} else if (n == X509_V_ERR_CERT_NOT_YET_VALID) {
lwsl_notice("Cert is from the future... probably our clock... accepting...\n");
} else { } else {
lwsl_err("server's cert didn't look good, X509_V_ERR = %d: %s\n", lwsl_err("server's cert didn't look good, X509_V_ERR = %d: %s\n",
n, ERR_error_string(n, sb)); n, ERR_error_string(n, sb));
@ -468,11 +487,13 @@ int lws_context_init_client_ssl(struct lws_context_creation_info *info,
} else } else
if (!SSL_CTX_load_verify_locations( if (!SSL_CTX_load_verify_locations(
vhost->ssl_client_ctx, info->ssl_ca_filepath, vhost->ssl_client_ctx, info->ssl_ca_filepath,
NULL)) NULL)) {
lwsl_err( lwsl_err(
"Unable to load SSL Client certs " "Unable to load SSL Client certs "
"file from %s -- client ssl isn't " "file from %s -- client ssl isn't "
"going to work", info->ssl_ca_filepath); "going to work", info->ssl_ca_filepath);
lws_ssl_elaborate_error();
}
else else
lwsl_info("loaded ssl_ca_filepath\n"); lwsl_info("loaded ssl_ca_filepath\n");
@ -483,29 +504,31 @@ int lws_context_init_client_ssl(struct lws_context_creation_info *info,
/* support for client-side certificate authentication */ /* support for client-side certificate authentication */
if (info->ssl_cert_filepath) { if (info->ssl_cert_filepath) {
lwsl_notice("%s: doing cert filepath\n", __func__);
n = SSL_CTX_use_certificate_chain_file(vhost->ssl_client_ctx, n = SSL_CTX_use_certificate_chain_file(vhost->ssl_client_ctx,
info->ssl_cert_filepath); info->ssl_cert_filepath);
if (n != 1) { if (n < 1) {
lwsl_err("problem getting cert '%s' %lu: %s\n", lwsl_err("problem %d getting cert '%s'\n", n,
info->ssl_cert_filepath, info->ssl_cert_filepath);
ERR_get_error(), lws_ssl_elaborate_error();
ERR_error_string(ERR_get_error(),
(char *)vhost->context->pt[0].serv_buf));
return 1; return 1;
} }
lwsl_notice("Loaded client cert %s\n", info->ssl_cert_filepath);
} }
if (info->ssl_private_key_filepath) { if (info->ssl_private_key_filepath) {
lwsl_notice("%s: doing private key filepath\n", __func__);
lws_ssl_bind_passphrase(vhost->ssl_client_ctx, info); lws_ssl_bind_passphrase(vhost->ssl_client_ctx, info);
/* set the private key from KeyFile */ /* set the private key from KeyFile */
if (SSL_CTX_use_PrivateKey_file(vhost->ssl_client_ctx, if (SSL_CTX_use_PrivateKey_file(vhost->ssl_client_ctx,
info->ssl_private_key_filepath, SSL_FILETYPE_PEM) != 1) { info->ssl_private_key_filepath, SSL_FILETYPE_PEM) != 1) {
lwsl_err("use_PrivateKey_file '%s' %lu: %s\n", lwsl_err("use_PrivateKey_file '%s'\n",
info->ssl_private_key_filepath, info->ssl_private_key_filepath);
ERR_get_error(), lws_ssl_elaborate_error();
ERR_error_string(ERR_get_error(),
(char *)vhost->context->pt[0].serv_buf));
return 1; return 1;
} }
lwsl_notice("Loaded client cert private key %s\n",
info->ssl_private_key_filepath);
/* verify private key */ /* verify private key */
if (!SSL_CTX_check_private_key(vhost->ssl_client_ctx)) { if (!SSL_CTX_check_private_key(vhost->ssl_client_ctx)) {

View file

@ -103,8 +103,12 @@ char* lws_ssl_get_error_string(int status, int ret, char *buf, size_t len) {
snprintf(buf, len, "SSL_ERROR_SYSCALL: EOF"); snprintf(buf, len, "SSL_ERROR_SYSCALL: EOF");
return buf; return buf;
case -1: case -1:
snprintf(buf, len, "SSL_ERROR_SYSCALL: %s", strerror(errno)); #ifndef LWS_PLAT_OPTEE
return buf; snprintf(buf, len, "SSL_ERROR_SYSCALL: %s", strerror(errno));
#else
snprintf(buf, len, "SSL_ERROR_SYSCALL: %d", errno);
#endif
return buf;
default: default:
return strncpy(buf, "SSL_ERROR_SYSCALL", len); return strncpy(buf, "SSL_ERROR_SYSCALL", len);
} }
@ -186,10 +190,14 @@ lws_context_init_ssl_library(struct lws_context_creation_info *info)
#else #else
#if defined(LWS_USE_MBEDTLS) #if defined(LWS_USE_MBEDTLS)
lwsl_notice(" Compiled with mbedTLS support\n"); lwsl_notice(" Compiled with mbedTLS support\n");
#else
#if defined(LWS_USE_BORINGSSL)
lwsl_notice(" Compiled with BoringSSL support\n");
#else #else
lwsl_notice(" Compiled with OpenSSL support\n"); lwsl_notice(" Compiled with OpenSSL support\n");
#endif #endif
#endif #endif
#endif
#endif #endif
if (!lws_check_opt(info->options, LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT)) { if (!lws_check_opt(info->options, LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT)) {
@ -203,6 +211,9 @@ lws_context_init_ssl_library(struct lws_context_creation_info *info)
#else #else
#if defined(LWS_USE_MBEDTLS) #if defined(LWS_USE_MBEDTLS)
#else #else
lwsl_notice("Doing SSL library init\n");
SSL_library_init(); SSL_library_init();
OpenSSL_add_all_algorithms(); OpenSSL_add_all_algorithms();
@ -324,14 +335,23 @@ lws_ssl_capable_read(struct lws *wsi, unsigned char *buf, int len)
#endif #endif
/* manpage: returning 0 means connection shut down */ /* manpage: returning 0 means connection shut down */
if (!n) if (!n) {
lwsl_err("%s failed: %s\n",__func__,
ERR_error_string(lws_ssl_get_error(wsi, 0), NULL));
lws_decode_ssl_error();
return LWS_SSL_CAPABLE_ERROR; return LWS_SSL_CAPABLE_ERROR;
}
if (n < 0) { if (n < 0) {
n = lws_ssl_get_error(wsi, n); n = lws_ssl_get_error(wsi, n);
if (n == SSL_ERROR_WANT_READ || n == SSL_ERROR_WANT_WRITE) if (n == SSL_ERROR_WANT_READ || n == SSL_ERROR_WANT_WRITE)
return LWS_SSL_CAPABLE_MORE_SERVICE; return LWS_SSL_CAPABLE_MORE_SERVICE;
lwsl_err("%s failed2: %s\n",__func__,
ERR_error_string(lws_ssl_get_error(wsi, 0), NULL));
lws_decode_ssl_error();
return LWS_SSL_CAPABLE_ERROR; return LWS_SSL_CAPABLE_ERROR;
} }
@ -424,6 +444,10 @@ lws_ssl_capable_write(struct lws *wsi, unsigned char *buf, int len)
lws_set_blocking_send(wsi); lws_set_blocking_send(wsi);
return LWS_SSL_CAPABLE_MORE_SERVICE; return LWS_SSL_CAPABLE_MORE_SERVICE;
} }
lwsl_err("%s failed: %s\n",__func__,
ERR_error_string(lws_ssl_get_error(wsi, 0), NULL));
lws_decode_ssl_error();
return LWS_SSL_CAPABLE_ERROR; return LWS_SSL_CAPABLE_ERROR;
} }

View file

@ -15,6 +15,7 @@
/* Also define to 1 (in addition to USE_WOLFSSL) when using the /* Also define to 1 (in addition to USE_WOLFSSL) when using the
(older) CyaSSL library */ (older) CyaSSL library */
#cmakedefine USE_OLD_CYASSL #cmakedefine USE_OLD_CYASSL
#cmakedefine LWS_USE_BORINGSSL
#cmakedefine LWS_USE_MBEDTLS #cmakedefine LWS_USE_MBEDTLS
#cmakedefine LWS_USE_POLARSSL #cmakedefine LWS_USE_POLARSSL
@ -117,4 +118,8 @@
/* SMTP */ /* SMTP */
#cmakedefine LWS_WITH_SMTP #cmakedefine LWS_WITH_SMTP
/* OPTEE */
#cmakedefine LWS_PLAT_OPTEE
${LWS_SIZEOFPTR_CODE} ${LWS_SIZEOFPTR_CODE}