diff --git a/README.coding.md b/README.coding.md index 054c11ce..aab6d772 100644 --- a/README.coding.md +++ b/README.coding.md @@ -202,6 +202,18 @@ If **libwebsocket** handled it, it zeros the pollfd `revents` field before retur So you can let **libwebsockets** try and if `pollfd->revents` is nonzero on return, you know it needs handling by your code. +Also note that when integrating a foreign event loop like libev or libuv where +it doesn't natively use poll() semantics, and you must return a fake pollfd +reflecting the real event: + + - be sure you set .events to .revents value as well in the synthesized pollfd + + - check the built-in support for the event loop if possible (eg, ./lib/libuv.c) + to see how it interfaces to lws + + - use LWS_POLLHUP / LWS_POLLIN / LWS_POLLOUT from libwebsockets.h to avoid + losing windows compatibility + Using with in c++ apps ---------------------- diff --git a/doc/html/group__client.html b/doc/html/group__client.html index 2de83739..65594e08 100644 --- a/doc/html/group__client.html +++ b/doc/html/group__client.html @@ -112,7 +112,7 @@ LWS_VISIBLE LWS_EXTERN int
#include <lib/libwebsockets.h>
enum lws_client_connect_ssl_connection_flags - flags that may be used with struct lws_client_connect_info ssl_connection member to control if and how SSL checks apply to the client connection being created
-(VH) if set, only ipv6 allowed on the vhost
-may have an optional decimal argument
-a new file is starting to arrive
-an existing user was deleted
-he just completed "forgot password" flow
-client packet payload goes out on wire unmunged only useful for security tests since normal servers cannot decode the content if used
-sent the session quit
-user code can use any including / above without fear of clashes
-hand by named protocol's callback
-1015 is a reserved value and MUST NOT be set as a status code in a Close control frame by an endpoint. It is designated for use in applications expecting a status code to indicate that the connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified).
-Four callbacks LWS_CALLBACK_ADD_POLL_FD
, LWS_CALLBACK_DEL_POLL_FD
, LWS_CALLBACK_SET_MODE_POLL_FD
and LWS_CALLBACK_CLEAR_MODE_POLL_FD
appear in the callback for protocol 0 and allow interface code to manage socket descriptors in other poll loops.
You can pass all pollfds that need service to lws_service_fd()
, even if the socket or file does not belong to libwebsockets it is safe.
If libwebsocket handled it, it zeros the pollfd revents
field before returning. So you can let libwebsockets try and if pollfd->revents
is nonzero on return, you know it needs handling by your code.
Also note that when integrating a foreign event loop like libev or libuv where it doesn't natively use poll() semantics, and you must return a fake pollfd reflecting the real event:
+The library is ready for use by C++ apps. You can get started quickly by copying the test server
and building it in C++ like this
diff --git a/doc/latex/group__client.tex b/doc/latex/group__client.tex index 4541e8f3..87db7e52 100644 --- a/doc/latex/group__client.tex +++ b/doc/latex/group__client.tex @@ -42,11 +42,11 @@ L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN int {\bfseries lw enum lws\+\_\+client\+\_\+connect\+\_\+ssl\+\_\+connection\+\_\+flags -\/ flags that may be used with struct \hyperlink{structlws__client__connect__info}{lws\+\_\+client\+\_\+connect\+\_\+info} ssl\+\_\+connection member to control if and how S\+SL checks apply to the client connection being created \begin{DoxyCode} -1848 \{ -1849 LCCSCF\_USE\_SSL = (1 << 0), -1850 LCCSCF\_ALLOW\_SELFSIGNED = (1 << 1), -1851 LCCSCF\_SKIP\_SERVER\_CERT\_HOSTNAME\_CHECK = (1 << 2) -1852 \}; +1854 \{ +1855 LCCSCF\_USE\_SSL = (1 << 0), +1856 LCCSCF\_ALLOW\_SELFSIGNED = (1 << 1), +1857 LCCSCF\_SKIP\_SERVER\_CERT\_HOSTNAME\_CHECK = (1 << 2) +1858 \}; \end{DoxyCode} diff --git a/doc/latex/group__context-and-vhost.tex b/doc/latex/group__context-and-vhost.tex index 3b4cc9e7..3bb241cf 100644 --- a/doc/latex/group__context-and-vhost.tex +++ b/doc/latex/group__context-and-vhost.tex @@ -122,40 +122,40 @@ L\+W\+S\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+O\+P\+T\+I\+O\+N\+\_\+\+I\+P\+V6\+\_\+\+V \end{Desc} \begin{DoxyCode} -1387 \{ -1388 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a274ed462a1a9239eb6ddf9007f5b7092}{LWS\_SERVER\_OPTION\_REQUIRE\_VALID\_OPENSSL\_CLIENT\_CERT} +1393 \{ +1394 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a274ed462a1a9239eb6ddf9007f5b7092}{LWS\_SERVER\_OPTION\_REQUIRE\_VALID\_OPENSSL\_CLIENT\_CERT} = (1 << 1) | -1389 (1 << 12), -1393 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a6582c985ee0ceaadc1d277030eae2d7c}{LWS\_SERVER\_OPTION\_SKIP\_SERVER\_CANONICAL\_NAME} +1395 (1 << 12), +1399 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a6582c985ee0ceaadc1d277030eae2d7c}{LWS\_SERVER\_OPTION\_SKIP\_SERVER\_CANONICAL\_NAME} = (1 << 2), -1395 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a1cc4562d05cba52a6dfa0697a65ade0d}{LWS\_SERVER\_OPTION\_ALLOW\_NON\_SSL\_ON\_SSL\_PORT} = ( +1401 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a1cc4562d05cba52a6dfa0697a65ade0d}{LWS\_SERVER\_OPTION\_ALLOW\_NON\_SSL\_ON\_SSL\_PORT} = ( 1 << 3) | -1396 (1 << 12), -1400 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a273d9975675130de0c6dc937dde7c8a6}{LWS\_SERVER\_OPTION\_LIBEV} = (1 << 4), -1402 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a34ab36e68c0d593b6f19b8d5ef1240a9}{LWS\_SERVER\_OPTION\_DISABLE\_IPV6} = (1 << 5), -1404 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a4933347a821e73c3f1e13fb6bfc7ad93}{LWS\_SERVER\_OPTION\_DISABLE\_OS\_CA\_CERTS} = ( +1402 (1 << 12), +1406 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a273d9975675130de0c6dc937dde7c8a6}{LWS\_SERVER\_OPTION\_LIBEV} = (1 << 4), +1408 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a34ab36e68c0d593b6f19b8d5ef1240a9}{LWS\_SERVER\_OPTION\_DISABLE\_IPV6} = (1 << 5), +1410 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a4933347a821e73c3f1e13fb6bfc7ad93}{LWS\_SERVER\_OPTION\_DISABLE\_OS\_CA\_CERTS} = ( 1 << 6), -1407 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5ac56a8a6590e74a8016d0fae09fb404fc}{LWS\_SERVER\_OPTION\_PEER\_CERT\_NOT\_REQUIRED} = ( +1413 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5ac56a8a6590e74a8016d0fae09fb404fc}{LWS\_SERVER\_OPTION\_PEER\_CERT\_NOT\_REQUIRED} = ( 1 << 7), -1409 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5aa0158b4e85420811e6b0f1378c6ded0f}{LWS\_SERVER\_OPTION\_VALIDATE\_UTF8} = (1 << 8), -1411 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a1b2f8bde0f62adc7ebe81b2043f34c0c}{LWS\_SERVER\_OPTION\_SSL\_ECDH} = (1 << 9) | -1412 (1 << 12), -1414 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5aff121db04a10cf8b2c5df9d4f2b89f1e}{LWS\_SERVER\_OPTION\_LIBUV} = (1 << 10), -1416 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a4832187186c4d130c68051214cd42ada}{LWS\_SERVER\_OPTION\_REDIRECT\_HTTP\_TO\_HTTPS} = ( +1415 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5aa0158b4e85420811e6b0f1378c6ded0f}{LWS\_SERVER\_OPTION\_VALIDATE\_UTF8} = (1 << 8), +1417 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a1b2f8bde0f62adc7ebe81b2043f34c0c}{LWS\_SERVER\_OPTION\_SSL\_ECDH} = (1 << 9) | +1418 (1 << 12), +1420 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5aff121db04a10cf8b2c5df9d4f2b89f1e}{LWS\_SERVER\_OPTION\_LIBUV} = (1 << 10), +1422 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a4832187186c4d130c68051214cd42ada}{LWS\_SERVER\_OPTION\_REDIRECT\_HTTP\_TO\_HTTPS} = ( 1 << 11) | -1417 (1 << 12), -1420 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a7fed6a527c8d5e0acac1b4179644583a}{LWS\_SERVER\_OPTION\_DO\_SSL\_GLOBAL\_INIT} = ( +1423 (1 << 12), +1426 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a7fed6a527c8d5e0acac1b4179644583a}{LWS\_SERVER\_OPTION\_DO\_SSL\_GLOBAL\_INIT} = ( 1 << 12), -1422 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5accc9d0d11d1124a21659586164b0962e}{LWS\_SERVER\_OPTION\_EXPLICIT\_VHOSTS} = (1 << 13) +1428 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5accc9d0d11d1124a21659586164b0962e}{LWS\_SERVER\_OPTION\_EXPLICIT\_VHOSTS} = (1 << 13) , -1425 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a9637e9001d8c8b2521086bcafbd8a941}{LWS\_SERVER\_OPTION\_UNIX\_SOCK} = (1 << 14), -1427 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5ac962efd35abf6c402f9fb14aa14f5016}{LWS\_SERVER\_OPTION\_STS} = (1 << 15), -1430 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5af62887536e25e053e68741006dba46d8}{LWS\_SERVER\_OPTION\_IPV6\_V6ONLY\_MODIFY} = ( +1431 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5a9637e9001d8c8b2521086bcafbd8a941}{LWS\_SERVER\_OPTION\_UNIX\_SOCK} = (1 << 14), +1433 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5ac962efd35abf6c402f9fb14aa14f5016}{LWS\_SERVER\_OPTION\_STS} = (1 << 15), +1436 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5af62887536e25e053e68741006dba46d8}{LWS\_SERVER\_OPTION\_IPV6\_V6ONLY\_MODIFY} = ( 1 << 16), -1432 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5aca5d42820b65eac5618ec3f0bd8a1160}{LWS\_SERVER\_OPTION\_IPV6\_V6ONLY\_VALUE} = (1 << 17) +1438 \hyperlink{group__context-and-vhost_gga41c2d763f78cc248df3b9f8645dbd2a5aca5d42820b65eac5618ec3f0bd8a1160}{LWS\_SERVER\_OPTION\_IPV6\_V6ONLY\_VALUE} = (1 << 17) , -1435 \textcolor{comment}{/****** add new things just above ---^ ******/} -1436 \}; +1441 \textcolor{comment}{/****** add new things just above ---^ ******/} +1442 \}; \end{DoxyCode} diff --git a/doc/latex/group__extensions.tex b/doc/latex/group__extensions.tex index a9dfde6c..9683b0a4 100644 --- a/doc/latex/group__extensions.tex +++ b/doc/latex/group__extensions.tex @@ -174,13 +174,13 @@ E\+X\+T\+A\+R\+G\+\_\+\+O\+P\+T\+\_\+\+D\+EC\hypertarget{group__extensions_ggacc \end{Desc} \begin{DoxyCode} -989 \{ -990 \hyperlink{group__extensions_ggacc9f55936dc165257a2e1f7d47bce89eaabcf56c456c1ff6e81dc82586a16f14c}{EXTARG\_NONE}, -991 \hyperlink{group__extensions_ggacc9f55936dc165257a2e1f7d47bce89ea1c86adf924c8786a12bee9687094673e}{EXTARG\_DEC}, -992 \hyperlink{group__extensions_ggacc9f55936dc165257a2e1f7d47bce89ea5265abe3e1c3f64412f2affe7bffd880}{EXTARG\_OPT\_DEC} -994 \textcolor{comment}{/* Add new things just above here ---^} -995 \textcolor{comment}{ * This is part of the ABI, don't needlessly break compatibility */} -996 \}; +995 \{ +996 \hyperlink{group__extensions_ggacc9f55936dc165257a2e1f7d47bce89eaabcf56c456c1ff6e81dc82586a16f14c}{EXTARG\_NONE}, +997 \hyperlink{group__extensions_ggacc9f55936dc165257a2e1f7d47bce89ea1c86adf924c8786a12bee9687094673e}{EXTARG\_DEC}, +998 \hyperlink{group__extensions_ggacc9f55936dc165257a2e1f7d47bce89ea5265abe3e1c3f64412f2affe7bffd880}{EXTARG\_OPT\_DEC} +1000 \textcolor{comment}{/* Add new things just above here ---^} +1001 \textcolor{comment}{ * This is part of the ABI, don't needlessly break compatibility */} +1002 \}; \end{DoxyCode} diff --git a/doc/latex/group__form-parsing.tex b/doc/latex/group__form-parsing.tex index 9fa04e3c..b6472365 100644 --- a/doc/latex/group__form-parsing.tex +++ b/doc/latex/group__form-parsing.tex @@ -89,11 +89,11 @@ L\+W\+S\+\_\+\+U\+F\+S\+\_\+\+O\+P\+EN\hypertarget{group__form-parsing_gga41a74a \end{Desc} \begin{DoxyCode} -2628 \{ -2629 \hyperlink{group__form-parsing_gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f}{LWS\_UFS\_CONTENT}, -2631 \hyperlink{group__form-parsing_gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7}{LWS\_UFS\_FINAL\_CONTENT}, -2633 \hyperlink{group__form-parsing_gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83}{LWS\_UFS\_OPEN} -2635 \}; +2634 \{ +2635 \hyperlink{group__form-parsing_gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f}{LWS\_UFS\_CONTENT}, +2637 \hyperlink{group__form-parsing_gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7}{LWS\_UFS\_FINAL\_CONTENT}, +2639 \hyperlink{group__form-parsing_gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83}{LWS\_UFS\_OPEN} +2641 \}; \end{DoxyCode} diff --git a/doc/latex/group__generic-sessions.tex b/doc/latex/group__generic-sessions.tex index 25faf39c..e1767b3c 100644 --- a/doc/latex/group__generic-sessions.tex +++ b/doc/latex/group__generic-sessions.tex @@ -50,10 +50,10 @@ L\+W\+S\+G\+S\+E\+\_\+\+D\+E\+L\+E\+T\+ED\hypertarget{group__generic-sessions_gg \end{Desc} \begin{DoxyCode} -1351 \{ -1352 \hyperlink{group__generic-sessions_ggaa93946b3d921072209d5cd8cdfa5332ea596010a165bf13473c5eea3a34cd4308}{LWSGSE\_CREATED}, -1353 \hyperlink{group__generic-sessions_ggaa93946b3d921072209d5cd8cdfa5332ead908cdc5689c5d22c9d3c8934e94dcde}{LWSGSE\_DELETED} -1354 \}; +1357 \{ +1358 \hyperlink{group__generic-sessions_ggaa93946b3d921072209d5cd8cdfa5332ea596010a165bf13473c5eea3a34cd4308}{LWSGSE\_CREATED}, +1359 \hyperlink{group__generic-sessions_ggaa93946b3d921072209d5cd8cdfa5332ead908cdc5689c5d22c9d3c8934e94dcde}{LWSGSE\_DELETED} +1360 \}; \end{DoxyCode} \index{plugin\+: generic-\/sessions@{plugin\+: generic-\/sessions}!lwsgs\+\_\+auth\+\_\+bits@{lwsgs\+\_\+auth\+\_\+bits}} \index{lwsgs\+\_\+auth\+\_\+bits@{lwsgs\+\_\+auth\+\_\+bits}!plugin\+: generic-\/sessions@{plugin\+: generic-\/sessions}} @@ -77,10 +77,10 @@ L\+W\+S\+G\+S\+\_\+\+A\+U\+T\+H\+\_\+\+F\+O\+R\+G\+O\+T\+\_\+\+F\+L\+OW\hypertar \end{Desc} \begin{DoxyCode} -1333 \{ -1334 \hyperlink{group__generic-sessions_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a81e63075115dedd150265d81b8f7fa57}{LWSGS\_AUTH\_LOGGED\_IN} = 1, -1335 \hyperlink{group__generic-sessions_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a0657a9e846814781b128c397fe4b10bf}{LWSGS\_AUTH\_ADMIN} = 2, -1336 \hyperlink{group__generic-sessions_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a5a607e4668d20cadada62c4b8007f887}{LWSGS\_AUTH\_VERIFIED} = 4, -1337 \hyperlink{group__generic-sessions_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a2cd8fb86e3b85c106e7711c03f0ddd0a}{LWSGS\_AUTH\_FORGOT\_FLOW} = 8, -1338 \}; +1339 \{ +1340 \hyperlink{group__generic-sessions_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a81e63075115dedd150265d81b8f7fa57}{LWSGS\_AUTH\_LOGGED\_IN} = 1, +1341 \hyperlink{group__generic-sessions_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a0657a9e846814781b128c397fe4b10bf}{LWSGS\_AUTH\_ADMIN} = 2, +1342 \hyperlink{group__generic-sessions_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a5a607e4668d20cadada62c4b8007f887}{LWSGS\_AUTH\_VERIFIED} = 4, +1343 \hyperlink{group__generic-sessions_gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a2cd8fb86e3b85c106e7711c03f0ddd0a}{LWSGS\_AUTH\_FORGOT\_FLOW} = 8, +1344 \}; \end{DoxyCode} diff --git a/doc/latex/group__sending-data.tex b/doc/latex/group__sending-data.tex index d80adc68..4bbfd827 100644 --- a/doc/latex/group__sending-data.tex +++ b/doc/latex/group__sending-data.tex @@ -57,28 +57,28 @@ L\+W\+S\+\_\+\+W\+R\+I\+T\+E\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+I\+G\+N\+O\+R\+E\+\_ \end{Desc} \begin{DoxyCode} -2969 \{ -2970 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db}{LWS\_WRITE\_TEXT} = 0, -2974 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2}{LWS\_WRITE\_BINARY} = 1, -2977 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826}{LWS\_WRITE\_CONTINUATION} = 2, -2980 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e}{LWS\_WRITE\_HTTP} = 3, -2983 \textcolor{comment}{/* LWS\_WRITE\_CLOSE is handled by lws\_close\_reason() */} -2984 LWS\_WRITE\_PING = 5, -2985 LWS\_WRITE\_PONG = 6, -2986 -2987 \textcolor{comment}{/* Same as write\_http but we know this write ends the transaction */} -2988 LWS\_WRITE\_HTTP\_FINAL = 7, -2989 -2990 \textcolor{comment}{/* HTTP2 */} -2991 -2992 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917}{LWS\_WRITE\_HTTP\_HEADERS} = 8, -2999 \textcolor{comment}{/****** add new things just above ---^ ******/} -3000 -3001 \textcolor{comment}{/* flags */} -3002 -3003 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3}{LWS\_WRITE\_NO\_FIN} = 0x40, -3006 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce}{LWS\_WRITE\_CLIENT\_IGNORE\_XOR\_MASK} = 0x80 -3010 \}; +2975 \{ +2976 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db}{LWS\_WRITE\_TEXT} = 0, +2980 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2}{LWS\_WRITE\_BINARY} = 1, +2983 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826}{LWS\_WRITE\_CONTINUATION} = 2, +2986 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e}{LWS\_WRITE\_HTTP} = 3, +2989 \textcolor{comment}{/* LWS\_WRITE\_CLOSE is handled by lws\_close\_reason() */} +2990 LWS\_WRITE\_PING = 5, +2991 LWS\_WRITE\_PONG = 6, +2992 +2993 \textcolor{comment}{/* Same as write\_http but we know this write ends the transaction */} +2994 LWS\_WRITE\_HTTP\_FINAL = 7, +2995 +2996 \textcolor{comment}{/* HTTP2 */} +2997 +2998 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917}{LWS\_WRITE\_HTTP\_HEADERS} = 8, +3005 \textcolor{comment}{/****** add new things just above ---^ ******/} +3006 +3007 \textcolor{comment}{/* flags */} +3008 +3009 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3}{LWS\_WRITE\_NO\_FIN} = 0x40, +3012 \hyperlink{group__sending-data_gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce}{LWS\_WRITE\_CLIENT\_IGNORE\_XOR\_MASK} = 0x80 +3016 \}; \end{DoxyCode} diff --git a/doc/latex/group__smtp.tex b/doc/latex/group__smtp.tex index eda7436d..e5a78748 100644 --- a/doc/latex/group__smtp.tex +++ b/doc/latex/group__smtp.tex @@ -88,17 +88,17 @@ L\+G\+S\+S\+M\+T\+P\+\_\+\+S\+E\+N\+T\+\_\+\+Q\+U\+IT\hypertarget{group__smtp_gg \end{Desc} \begin{DoxyCode} -3891 \{ -3892 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c}{LGSSMTP\_IDLE}, -3893 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933}{LGSSMTP\_CONNECTING}, -3894 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d}{LGSSMTP\_CONNECTED}, -3895 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad}{LGSSMTP\_SENT\_HELO}, -3896 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab}{LGSSMTP\_SENT\_FROM}, -3897 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83}{LGSSMTP\_SENT\_TO}, -3898 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14}{LGSSMTP\_SENT\_DATA}, -3899 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69}{LGSSMTP\_SENT\_BODY}, -3900 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5}{LGSSMTP\_SENT\_QUIT}, -3901 \}; +3897 \{ +3898 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c}{LGSSMTP\_IDLE}, +3899 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933}{LGSSMTP\_CONNECTING}, +3900 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d}{LGSSMTP\_CONNECTED}, +3901 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad}{LGSSMTP\_SENT\_HELO}, +3902 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab}{LGSSMTP\_SENT\_FROM}, +3903 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83}{LGSSMTP\_SENT\_TO}, +3904 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14}{LGSSMTP\_SENT\_DATA}, +3905 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69}{LGSSMTP\_SENT\_BODY}, +3906 \hyperlink{group__smtp_gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5}{LGSSMTP\_SENT\_QUIT}, +3907 \}; \end{DoxyCode} diff --git a/doc/latex/group__usercb.tex b/doc/latex/group__usercb.tex index 568d77d9..fc9df2aa 100644 --- a/doc/latex/group__usercb.tex +++ b/doc/latex/group__usercb.tex @@ -273,78 +273,78 @@ L\+W\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+U\+S\+ER\hypertarget{group__usercb_ \end{Desc} \begin{DoxyCode} -571 \{ -572 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a24d39bf1cfc0bad9d92da9ac1717e439}{LWS\_CALLBACK\_ESTABLISHED} = 0, -576 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ad8c6207b0c4e732f3d507f0fb79370e8}{LWS\_CALLBACK\_CLIENT\_CONNECTION\_ERROR} = +577 \{ +578 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a24d39bf1cfc0bad9d92da9ac1717e439}{LWS\_CALLBACK\_ESTABLISHED} = 0, +582 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ad8c6207b0c4e732f3d507f0fb79370e8}{LWS\_CALLBACK\_CLIENT\_CONNECTION\_ERROR} = 1, -620 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7aa536e574a642ff3ab9e12bff7ba2c6a2}{LWS\_CALLBACK\_CLIENT\_FILTER\_PRE\_ESTABLISH} = +626 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7aa536e574a642ff3ab9e12bff7ba2c6a2}{LWS\_CALLBACK\_CLIENT\_FILTER\_PRE\_ESTABLISH} = 2, -627 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a7e12418eec9bce85735e6460176ab604}{LWS\_CALLBACK\_CLIENT\_ESTABLISHED} = 3, -630 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a48a9590e5e18c7920282e094a0bfd9d8}{LWS\_CALLBACK\_CLOSED} = 4, -632 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a838b18d255c1b94a533287ba302a2eba}{LWS\_CALLBACK\_CLOSED\_HTTP} = 5, -634 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a492c1b1c0ac0ed980042ee732fe2990c}{LWS\_CALLBACK\_RECEIVE} = 6, -638 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a2db02fc6e1c17ab62b52109d1aa9d738}{LWS\_CALLBACK\_RECEIVE\_PONG} = 7, -640 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7abbbe7a0a67c5866ca9109d46823fc5b1}{LWS\_CALLBACK\_CLIENT\_RECEIVE} = 8, -643 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a136a7cec11c3afd13245623bd84e76c9}{LWS\_CALLBACK\_CLIENT\_RECEIVE\_PONG} = 9, -645 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a8e8b2e6dbeac76d8d126947d2166a514}{LWS\_CALLBACK\_CLIENT\_WRITEABLE} = 10, -653 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a7ec8e2e9557ee02a4fc9f7dec7e2babc}{LWS\_CALLBACK\_SERVER\_WRITEABLE} = 11, -655 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ae8d1de0bb56e03aa58cb4d44b18edd2e}{LWS\_CALLBACK\_HTTP} = 12, -669 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ac4c68e00efcf1ff7bda7ada462aff8ae}{LWS\_CALLBACK\_HTTP\_BODY} = 13, -672 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a2fce9a8608220f32abbf1422a5498804}{LWS\_CALLBACK\_HTTP\_BODY\_COMPLETION} = 14, -674 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7aa627548e1296e654fcfab463ec3c9587}{LWS\_CALLBACK\_HTTP\_FILE\_COMPLETION} = 15, -676 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7afedadfb3cde37a8ea4c84ed535f26d09}{LWS\_CALLBACK\_HTTP\_WRITEABLE} = 16, -678 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a026502768778b8d79d62dd0fe4375fc6}{LWS\_CALLBACK\_FILTER\_NETWORK\_CONNECTION} = +633 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a7e12418eec9bce85735e6460176ab604}{LWS\_CALLBACK\_CLIENT\_ESTABLISHED} = 3, +636 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a48a9590e5e18c7920282e094a0bfd9d8}{LWS\_CALLBACK\_CLOSED} = 4, +638 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a838b18d255c1b94a533287ba302a2eba}{LWS\_CALLBACK\_CLOSED\_HTTP} = 5, +640 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a492c1b1c0ac0ed980042ee732fe2990c}{LWS\_CALLBACK\_RECEIVE} = 6, +644 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a2db02fc6e1c17ab62b52109d1aa9d738}{LWS\_CALLBACK\_RECEIVE\_PONG} = 7, +646 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7abbbe7a0a67c5866ca9109d46823fc5b1}{LWS\_CALLBACK\_CLIENT\_RECEIVE} = 8, +649 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a136a7cec11c3afd13245623bd84e76c9}{LWS\_CALLBACK\_CLIENT\_RECEIVE\_PONG} = 9, +651 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a8e8b2e6dbeac76d8d126947d2166a514}{LWS\_CALLBACK\_CLIENT\_WRITEABLE} = 10, +659 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a7ec8e2e9557ee02a4fc9f7dec7e2babc}{LWS\_CALLBACK\_SERVER\_WRITEABLE} = 11, +661 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ae8d1de0bb56e03aa58cb4d44b18edd2e}{LWS\_CALLBACK\_HTTP} = 12, +675 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ac4c68e00efcf1ff7bda7ada462aff8ae}{LWS\_CALLBACK\_HTTP\_BODY} = 13, +678 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a2fce9a8608220f32abbf1422a5498804}{LWS\_CALLBACK\_HTTP\_BODY\_COMPLETION} = 14, +680 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7aa627548e1296e654fcfab463ec3c9587}{LWS\_CALLBACK\_HTTP\_FILE\_COMPLETION} = 15, +682 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7afedadfb3cde37a8ea4c84ed535f26d09}{LWS\_CALLBACK\_HTTP\_WRITEABLE} = 16, +684 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a026502768778b8d79d62dd0fe4375fc6}{LWS\_CALLBACK\_FILTER\_NETWORK\_CONNECTION} = 17, -689 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a75199176c82c1a56e4a6bbf1cc30c12c}{LWS\_CALLBACK\_FILTER\_HTTP\_CONNECTION} = 18, -701 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ae9734e1d7af2abf291665ce9e4a728d3}{LWS\_CALLBACK\_SERVER\_NEW\_CLIENT\_INSTANTIATED} = +695 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a75199176c82c1a56e4a6bbf1cc30c12c}{LWS\_CALLBACK\_FILTER\_HTTP\_CONNECTION} = 18, +707 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ae9734e1d7af2abf291665ce9e4a728d3}{LWS\_CALLBACK\_SERVER\_NEW\_CLIENT\_INSTANTIATED} = 19, -709 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7accd8753672d319a30b4b4c2fb775e84d}{LWS\_CALLBACK\_FILTER\_PROTOCOL\_CONNECTION} = +715 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7accd8753672d319a30b4b4c2fb775e84d}{LWS\_CALLBACK\_FILTER\_PROTOCOL\_CONNECTION} = 20, -721 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ae4986291b7a810fe290851d73bebeb1c}{LWS\_CALLBACK\_OPENSSL\_LOAD\_EXTRA\_CLIENT\_VERIFY\_CERTS} +727 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ae4986291b7a810fe290851d73bebeb1c}{LWS\_CALLBACK\_OPENSSL\_LOAD\_EXTRA\_CLIENT\_VERIFY\_CERTS} = 21, -728 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a06006e98d27e1e884364d88317f83493}{LWS\_CALLBACK\_OPENSSL\_LOAD\_EXTRA\_SERVER\_VERIFY\_CERTS} +734 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a06006e98d27e1e884364d88317f83493}{LWS\_CALLBACK\_OPENSSL\_LOAD\_EXTRA\_SERVER\_VERIFY\_CERTS} = 22, -734 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ae5ad65d779b7eab32ab67ceff91a3bac}{LWS\_CALLBACK\_OPENSSL\_PERFORM\_CLIENT\_CERT\_VERIFICATION} +740 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ae5ad65d779b7eab32ab67ceff91a3bac}{LWS\_CALLBACK\_OPENSSL\_PERFORM\_CLIENT\_CERT\_VERIFICATION} = 23, -752 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a909cc2a7018864b0b71abacc4058fd8f}{LWS\_CALLBACK\_CLIENT\_APPEND\_HANDSHAKE\_HEADER} = +758 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a909cc2a7018864b0b71abacc4058fd8f}{LWS\_CALLBACK\_CLIENT\_APPEND\_HANDSHAKE\_HEADER} = 24, -776 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a390da3639296660a78cc1a5dcb19037e}{LWS\_CALLBACK\_CONFIRM\_EXTENSION\_OKAY} = 25, -787 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a1ce5b22039ca37ee224d00047596ea46}{LWS\_CALLBACK\_CLIENT\_CONFIRM\_EXTENSION\_SUPPORTED} +782 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a390da3639296660a78cc1a5dcb19037e}{LWS\_CALLBACK\_CONFIRM\_EXTENSION\_OKAY} = 25, +793 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a1ce5b22039ca37ee224d00047596ea46}{LWS\_CALLBACK\_CLIENT\_CONFIRM\_EXTENSION\_SUPPORTED} = 26, -796 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ad5d34583e3556e153eda91620b48cc49}{LWS\_CALLBACK\_PROTOCOL\_INIT} = 27, -799 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a54269ca88508e6efd3afdb9d360a9caa}{LWS\_CALLBACK\_PROTOCOL\_DESTROY} = 28, -804 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7afd8fd77a1cc9405fcb4f26915d7f2d01}{LWS\_CALLBACK\_WSI\_CREATE} = 29, -806 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7aca834dc035b7f7486f9ce40fde54fe9e}{LWS\_CALLBACK\_WSI\_DESTROY} = 30, -808 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7adfb41c92e2522712207ef7f2462b5e34}{LWS\_CALLBACK\_GET\_THREAD\_ID} = 31, -813 \textcolor{comment}{/* external poll() management support */} -814 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ab69783a9fbf2ca71ad70706bda77b412}{LWS\_CALLBACK\_ADD\_POLL\_FD} = 32, -830 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a1df60f314710236f9b53efbf468da768}{LWS\_CALLBACK\_DEL\_POLL\_FD} = 33, -836 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7aa87d2e82fffa42c3680c7403ef94216e}{LWS\_CALLBACK\_CHANGE\_MODE\_POLL\_FD} = 34, -844 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a8909732521d379179003d97ab7a05428}{LWS\_CALLBACK\_LOCK\_POLL} = 35, -856 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a0e9e3dd667c0c42cdbe1a3d921f4fd79}{LWS\_CALLBACK\_UNLOCK\_POLL} = 36, -859 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7aa46f705dcf97502e95627ffde614f98b}{LWS\_CALLBACK\_OPENSSL\_CONTEXT\_REQUIRES\_PRIVATE\_KEY} +802 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ad5d34583e3556e153eda91620b48cc49}{LWS\_CALLBACK\_PROTOCOL\_INIT} = 27, +805 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a54269ca88508e6efd3afdb9d360a9caa}{LWS\_CALLBACK\_PROTOCOL\_DESTROY} = 28, +810 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7afd8fd77a1cc9405fcb4f26915d7f2d01}{LWS\_CALLBACK\_WSI\_CREATE} = 29, +812 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7aca834dc035b7f7486f9ce40fde54fe9e}{LWS\_CALLBACK\_WSI\_DESTROY} = 30, +814 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7adfb41c92e2522712207ef7f2462b5e34}{LWS\_CALLBACK\_GET\_THREAD\_ID} = 31, +819 \textcolor{comment}{/* external poll() management support */} +820 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ab69783a9fbf2ca71ad70706bda77b412}{LWS\_CALLBACK\_ADD\_POLL\_FD} = 32, +836 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a1df60f314710236f9b53efbf468da768}{LWS\_CALLBACK\_DEL\_POLL\_FD} = 33, +842 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7aa87d2e82fffa42c3680c7403ef94216e}{LWS\_CALLBACK\_CHANGE\_MODE\_POLL\_FD} = 34, +850 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a8909732521d379179003d97ab7a05428}{LWS\_CALLBACK\_LOCK\_POLL} = 35, +862 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a0e9e3dd667c0c42cdbe1a3d921f4fd79}{LWS\_CALLBACK\_UNLOCK\_POLL} = 36, +865 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7aa46f705dcf97502e95627ffde614f98b}{LWS\_CALLBACK\_OPENSSL\_CONTEXT\_REQUIRES\_PRIVATE\_KEY} = 37, -867 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ac3fc5bbb55e69f90396526287ee84a51}{LWS\_CALLBACK\_WS\_PEER\_INITIATED\_CLOSE} = +873 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7ac3fc5bbb55e69f90396526287ee84a51}{LWS\_CALLBACK\_WS\_PEER\_INITIATED\_CLOSE} = 38, -876 LWS\_CALLBACK\_WS\_EXT\_DEFAULTS = 39, -879 LWS\_CALLBACK\_CGI = 40, -881 LWS\_CALLBACK\_CGI\_TERMINATED = 41, -883 LWS\_CALLBACK\_CGI\_STDIN\_DATA = 42, -885 LWS\_CALLBACK\_CGI\_STDIN\_COMPLETED = 43, -887 LWS\_CALLBACK\_ESTABLISHED\_CLIENT\_HTTP = 44, -889 LWS\_CALLBACK\_CLOSED\_CLIENT\_HTTP = 45, -891 LWS\_CALLBACK\_RECEIVE\_CLIENT\_HTTP = 46, -893 LWS\_CALLBACK\_COMPLETED\_CLIENT\_HTTP = 47, -895 LWS\_CALLBACK\_RECEIVE\_CLIENT\_HTTP\_READ = 48, -897 LWS\_CALLBACK\_HTTP\_BIND\_PROTOCOL = 49, -899 LWS\_CALLBACK\_HTTP\_DROP\_PROTOCOL = 50, -901 LWS\_CALLBACK\_CHECK\_ACCESS\_RIGHTS = 51, -903 LWS\_CALLBACK\_PROCESS\_HTML = 52, -905 LWS\_CALLBACK\_ADD\_HEADERS = 53, -907 LWS\_CALLBACK\_SESSION\_INFO = 54, -910 LWS\_CALLBACK\_GS\_EVENT = 55, -913 \textcolor{comment}{/****** add new things just above ---^ ******/} -914 -915 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a982579753e70e59a9ea13ce628ac891a}{LWS\_CALLBACK\_USER} = 1000, -917 \}; +882 LWS\_CALLBACK\_WS\_EXT\_DEFAULTS = 39, +885 LWS\_CALLBACK\_CGI = 40, +887 LWS\_CALLBACK\_CGI\_TERMINATED = 41, +889 LWS\_CALLBACK\_CGI\_STDIN\_DATA = 42, +891 LWS\_CALLBACK\_CGI\_STDIN\_COMPLETED = 43, +893 LWS\_CALLBACK\_ESTABLISHED\_CLIENT\_HTTP = 44, +895 LWS\_CALLBACK\_CLOSED\_CLIENT\_HTTP = 45, +897 LWS\_CALLBACK\_RECEIVE\_CLIENT\_HTTP = 46, +899 LWS\_CALLBACK\_COMPLETED\_CLIENT\_HTTP = 47, +901 LWS\_CALLBACK\_RECEIVE\_CLIENT\_HTTP\_READ = 48, +903 LWS\_CALLBACK\_HTTP\_BIND\_PROTOCOL = 49, +905 LWS\_CALLBACK\_HTTP\_DROP\_PROTOCOL = 50, +907 LWS\_CALLBACK\_CHECK\_ACCESS\_RIGHTS = 51, +909 LWS\_CALLBACK\_PROCESS\_HTML = 52, +911 LWS\_CALLBACK\_ADD\_HEADERS = 53, +913 LWS\_CALLBACK\_SESSION\_INFO = 54, +916 LWS\_CALLBACK\_GS\_EVENT = 55, +919 \textcolor{comment}{/****** add new things just above ---^ ******/} +920 +921 \hyperlink{group__usercb_ggad62860e19975ba4c4af401c3cdb6abf7a982579753e70e59a9ea13ce628ac891a}{LWS\_CALLBACK\_USER} = 1000, +923 \}; \end{DoxyCode} diff --git a/doc/latex/group__vhost-mounts.tex b/doc/latex/group__vhost-mounts.tex index c060d661..445ac118 100644 --- a/doc/latex/group__vhost-mounts.tex +++ b/doc/latex/group__vhost-mounts.tex @@ -55,13 +55,13 @@ L\+W\+S\+M\+P\+R\+O\+\_\+\+C\+A\+L\+L\+B\+A\+CK\hypertarget{group__vhost-mounts_ \end{Desc} \begin{DoxyCode} -1784 \{ -1785 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0}{LWSMPRO\_HTTP} = 0, -1786 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1}{LWSMPRO\_HTTPS} = 1, -1787 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2}{LWSMPRO\_FILE} = 2, -1788 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69}{LWSMPRO\_CGI} = 3, -1789 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970}{LWSMPRO\_REDIR\_HTTP} = 4, -1790 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67}{LWSMPRO\_REDIR\_HTTPS} = 5, -1791 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da}{LWSMPRO\_CALLBACK} = 6, -1792 \}; +1790 \{ +1791 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0}{LWSMPRO\_HTTP} = 0, +1792 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1}{LWSMPRO\_HTTPS} = 1, +1793 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2}{LWSMPRO\_FILE} = 2, +1794 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69}{LWSMPRO\_CGI} = 3, +1795 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970}{LWSMPRO\_REDIR\_HTTP} = 4, +1796 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67}{LWSMPRO\_REDIR\_HTTPS} = 5, +1797 \hyperlink{group__vhost-mounts_gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da}{LWSMPRO\_CALLBACK} = 6, +1798 \}; \end{DoxyCode} diff --git a/doc/latex/group__wsclose.tex b/doc/latex/group__wsclose.tex index 7f69c596..b291c7c2 100644 --- a/doc/latex/group__wsclose.tex +++ b/doc/latex/group__wsclose.tex @@ -77,27 +77,27 @@ L\+W\+S\+\_\+\+C\+L\+O\+S\+E\+\_\+\+S\+T\+A\+T\+U\+S\+\_\+\+T\+L\+S\+\_\+\+F\+A\ \end{Desc} \begin{DoxyCode} -461 \{ -462 LWS\_CLOSE\_STATUS\_NOSTATUS = 0, -463 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a3ffa38d5081b85fb739e02a747ccf2c4}{LWS\_CLOSE\_STATUS\_NORMAL} = 1000, -466 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a9737a68759e739856b150ff9dfa30218}{LWS\_CLOSE\_STATUS\_GOINGAWAY} = 1001, -469 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a1bb501d212fa4d57053db681b1dfab98}{LWS\_CLOSE\_STATUS\_PROTOCOL\_ERR} = 1002, -472 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a462c99b05459df700919cfd3f53c8276}{LWS\_CLOSE\_STATUS\_UNACCEPTABLE\_OPCODE} = +467 \{ +468 LWS\_CLOSE\_STATUS\_NOSTATUS = 0, +469 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a3ffa38d5081b85fb739e02a747ccf2c4}{LWS\_CLOSE\_STATUS\_NORMAL} = 1000, +472 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a9737a68759e739856b150ff9dfa30218}{LWS\_CLOSE\_STATUS\_GOINGAWAY} = 1001, +475 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a1bb501d212fa4d57053db681b1dfab98}{LWS\_CLOSE\_STATUS\_PROTOCOL\_ERR} = 1002, +478 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a462c99b05459df700919cfd3f53c8276}{LWS\_CLOSE\_STATUS\_UNACCEPTABLE\_OPCODE} = 1003, -477 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985af90cb98d983ad3d4c79df9b6f3d4a4d2}{LWS\_CLOSE\_STATUS\_RESERVED} = 1004, -479 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a4b8a3b7ce6f731e5248e4b0fb64a5044}{LWS\_CLOSE\_STATUS\_NO\_STATUS} = 1005, -484 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a68b3d34bebd88547dcfa5cadba0acd6c}{LWS\_CLOSE\_STATUS\_ABNORMAL\_CLOSE} = 1006, -490 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a7aef2da0062da606eeb35aaca5cf9050}{LWS\_CLOSE\_STATUS\_INVALID\_PAYLOAD} = 1007, -495 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985ad09e68295eabdddcba4e332fbea70ae5}{LWS\_CLOSE\_STATUS\_POLICY\_VIOLATION} = 1008, -501 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a2e1f0113494a58e762eed3d22e7080d8}{LWS\_CLOSE\_STATUS\_MESSAGE\_TOO\_LARGE} = 1009, -505 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985ac6a161822783ee873be1c66f48d14e0e}{LWS\_CLOSE\_STATUS\_EXTENSION\_REQUIRED} = 1010, -513 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985ad0869604d79e13700ae5d196a431b350}{LWS\_CLOSE\_STATUS\_UNEXPECTED\_CONDITION} = +483 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985af90cb98d983ad3d4c79df9b6f3d4a4d2}{LWS\_CLOSE\_STATUS\_RESERVED} = 1004, +485 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a4b8a3b7ce6f731e5248e4b0fb64a5044}{LWS\_CLOSE\_STATUS\_NO\_STATUS} = 1005, +490 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a68b3d34bebd88547dcfa5cadba0acd6c}{LWS\_CLOSE\_STATUS\_ABNORMAL\_CLOSE} = 1006, +496 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a7aef2da0062da606eeb35aaca5cf9050}{LWS\_CLOSE\_STATUS\_INVALID\_PAYLOAD} = 1007, +501 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985ad09e68295eabdddcba4e332fbea70ae5}{LWS\_CLOSE\_STATUS\_POLICY\_VIOLATION} = 1008, +507 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985a2e1f0113494a58e762eed3d22e7080d8}{LWS\_CLOSE\_STATUS\_MESSAGE\_TOO\_LARGE} = 1009, +511 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985ac6a161822783ee873be1c66f48d14e0e}{LWS\_CLOSE\_STATUS\_EXTENSION\_REQUIRED} = 1010, +519 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985ad0869604d79e13700ae5d196a431b350}{LWS\_CLOSE\_STATUS\_UNEXPECTED\_CONDITION} = 1011, -517 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985ad2b477a91c8445bf34ecd43977f9b390}{LWS\_CLOSE\_STATUS\_TLS\_FAILURE} = 1015, -524 \textcolor{comment}{/****** add new things just above ---^ ******/} -525 -526 LWS\_CLOSE\_STATUS\_NOSTATUS\_CONTEXT\_DESTROY = 9999, -527 \}; +523 \hyperlink{group__wsclose_ggae399c571df32ba532c0ca67da9284985ad2b477a91c8445bf34ecd43977f9b390}{LWS\_CLOSE\_STATUS\_TLS\_FAILURE} = 1015, +530 \textcolor{comment}{/****** add new things just above ---^ ******/} +531 +532 LWS\_CLOSE\_STATUS\_NOSTATUS\_CONTEXT\_DESTROY = 9999, +533 \}; \end{DoxyCode} diff --git a/doc/latex/md_README.coding.tex b/doc/latex/md_README.coding.tex index 8a4f61d6..db1a4538 100644 --- a/doc/latex/md_README.coding.tex +++ b/doc/latex/md_README.coding.tex @@ -126,6 +126,15 @@ You can pass all pollfds that need service to {\ttfamily \hyperlink{group__servi If {\bfseries libwebsocket} handled it, it zeros the pollfd {\ttfamily revents} field before returning. So you can let {\bfseries libwebsockets} try and if {\ttfamily pollfd-\/$>$revents} is nonzero on return, you know it needs handling by your code. +Also note that when integrating a foreign event loop like libev or libuv where it doesn\textquotesingle{}t natively use poll() semantics, and you must return a fake pollfd reflecting the real event\+: + + +\begin{DoxyItemize} +\item be sure you set .events to .revents value as well in the synthesized pollfd +\item check the built-\/in support for the event loop if possible (eg, ./lib/libuv.c) to see how it interfaces to lws +\item use L\+W\+S\+\_\+\+P\+O\+L\+L\+H\+UP / L\+W\+S\+\_\+\+P\+O\+L\+L\+IN / L\+W\+S\+\_\+\+P\+O\+L\+L\+O\+UT from \hyperlink{libwebsockets_8h}{libwebsockets.\+h} to avoid losing windows compatibility +\end{DoxyItemize} + \subsection*{Using with in c++ apps } The library is ready for use by C++ apps. You can get started quickly by copying the test server diff --git a/lib/libwebsockets.h b/lib/libwebsockets.h index 63836bbc..7c8d8373 100644 --- a/lib/libwebsockets.h +++ b/lib/libwebsockets.h @@ -399,6 +399,9 @@ struct lws_pollfd { SHORT events; /**< which events to respond to */ SHORT revents; /**< which events happened */ }; +#define LWS_POLLHUP (FD_CLOSE) +#define LWS_POLLIN (FD_READ | FD_ACCEPT) +#define LWS_POLLOUT (FD_WRITE) #else #if defined(MBED_OPERATORS) @@ -431,6 +434,9 @@ typedef int lws_filefd_type; #endif #define lws_pollfd pollfd +#define LWS_POLLHUP (POLLHUP|POLLERR) +#define LWS_POLLIN (POLLIN) +#define LWS_POLLOUT (POLLOUT) #endif /** struct lws_pollargs - argument structure for all external poll related calls diff --git a/lib/private-libwebsockets.h b/lib/private-libwebsockets.h index 2b8e8ae3..0e1cf8b8 100644 --- a/lib/private-libwebsockets.h +++ b/lib/private-libwebsockets.h @@ -62,9 +62,6 @@ #define LWS_EINTR WSAEINTR #define LWS_EISCONN WSAEISCONN #define LWS_EWOULDBLOCK WSAEWOULDBLOCK -#define LWS_POLLHUP (FD_CLOSE) -#define LWS_POLLIN (FD_READ | FD_ACCEPT) -#define LWS_POLLOUT (FD_WRITE) #define MSG_NOSIGNAL 0 #define SHUT_RDWR SD_BOTH #define SOL_TCP IPPROTO_TCP @@ -160,9 +157,7 @@ #define LWS_EINTR EINTR #define LWS_EISCONN EISCONN #define LWS_EWOULDBLOCK EWOULDBLOCK -#define LWS_POLLHUP (POLLHUP|POLLERR) -#define LWS_POLLIN (POLLIN) -#define LWS_POLLOUT (POLLOUT) + static inline int compatible_close(int fd) { return close(fd); } #define lws_set_blocking_send(wsi)