diff --git a/READMEs/README.coding.md b/READMEs/README.coding.md
index 867b647b7cd6ee58f6d7213bf64f8b7715604874..e6afe3fa4fc4d93e28ea2ec73ed02dece2c0abf9 100644
--- a/READMEs/README.coding.md
+++ b/READMEs/README.coding.md
@@ -666,7 +666,7 @@ Returning nonzero from the callback will close the wsi.
SMP support is integrated into LWS without any internal threading. It's
very simple to use, libwebsockets-test-server-pthread shows how to do it,
-use -j <n> argument there to control the number of service threads up to 32.
+use -j n argument there to control the number of service threads up to 32.
Two new members are added to the info struct
@@ -1007,7 +1007,7 @@ also add this to your own html easily
- include lws-common.js from your HEAD section
- <script src="/lws-common.js"></script>
+ \<script src="/lws-common.js">\</script>
- dim the page during initialization, in a script section on your page
diff --git a/READMEs/README.lwsws.md b/READMEs/README.lwsws.md
index 33f7f721d44b1526fd420ecf18cee2e1bba03864..87e3cb08dcf0fdee35ce3013f171c322395c258c 100644
--- a/READMEs/README.lwsws.md
+++ b/READMEs/README.lwsws.md
@@ -182,7 +182,7 @@ Vhosts can select which plugins they want to offer and give them per-vhost setti
```
The "x":"y" parameters like "status":"ok" are made available to the protocol during its per-vhost
-LWS_CALLBACK_PROTOCOL_INIT (@in is a pointer to a linked list of struct lws_protocol_vhost_options
+LWS_CALLBACK_PROTOCOL_INIT (in is a pointer to a linked list of struct lws_protocol_vhost_options
containing the name and value pointers).
To indicate that a protocol should be used when no Protocol: header is sent
diff --git a/READMEs/README.test-apps.md b/READMEs/README.test-apps.md
index 71a2d2d0fe8947d489f398407669e7bc322402be..c488e74704e454c504ae3963bfafbc19b3fa2a25 100644
--- a/READMEs/README.test-apps.md
+++ b/READMEs/README.test-apps.md
@@ -18,7 +18,7 @@ to do that outside lws itself, using lws public apis.
$ cmake .. -DLWS_WITH_LWSWS=1
-See [README.lwsws.md](README.lwsws.md) for information on how to configure
+See [README.lwsws.md](READMEs/README.lwsws.md) for information on how to configure
lwsws.
NOTE this method implies libuv is used by lws, to provide crossplatform
diff --git a/lib/libwebsockets.h b/lib/libwebsockets.h
index f4da2e738dc4b9a88741ff7f41a69eccf6369233..1d1daf0e3183e175661bbcd147e2ab370ea469cc 100644
--- a/lib/libwebsockets.h
+++ b/lib/libwebsockets.h
@@ -1213,7 +1213,7 @@ enum lws_callback_reasons {
* the wsi is closed. Used to, eg, terminate chunking.
* The provided `lws_callback_http_dummy()`
* handles this and the callback should be directed there if
- * you use CGI. The child PID that terminated is in @len. */
+ * you use CGI. The child PID that terminated is in len. */
LWS_CALLBACK_CGI_STDIN_DATA = 42,
/**< CGI: Data is, to be sent to the CGI process stdin, eg from
* a POST body. The provided `lws_callback_http_dummy()`
@@ -1376,22 +1376,22 @@ enum lws_callback_reasons {
LWS_CALLBACK_SSL_INFO = 67,
/**< SSL connections only. An event you registered an
* interest in at the vhost has occurred on a connection
- * using the vhost. @in is a pointer to a
+ * using the vhost. in is a pointer to a
* struct lws_ssl_info containing information about the
* event*/
LWS_CALLBACK_CHILD_WRITE_VIA_PARENT = 68,
/**< Child has been marked with parent_carries_io attribute, so
* lws_write directs the to this callback at the parent,
- * @in is a struct lws_write_passthru containing the args
+ * in is a struct lws_write_passthru containing the args
* the lws_write() was called with.
*/
LWS_CALLBACK_CHILD_CLOSING = 69,
/**< Sent to parent to notify them a child is closing / being
- * destroyed. @in is the child wsi.
+ * destroyed. in is the child wsi.
*/
LWS_CALLBACK_CGI_PROCESS_ATTACH = 70,
/**< CGI: Sent when the CGI process is spawned for the wsi. The
- * @len parameter is the PID of the child process */
+ * len parameter is the PID of the child process */
/****** add new things just above ---^ ******/
@@ -1511,8 +1511,7 @@ lws_genhash_destroy(struct lws_genhash_ctx *ctx, void *result);
///@}
-/*! \defgroup extensions
- *
+/*! \defgroup extensions Extension related functions
* ##Extension releated functions
*
* Ws defines optional extensions, lws provides the ability to implement these
@@ -1965,10 +1964,10 @@ struct lws_gs_event_args {
///@}
-/*! \defgroup context-and-vhost
+/*! \defgroup context-and-vhost context and vhost related functions
+ * ##Context and Vhost releated functions
* \ingroup lwsapi
*
- * ##Context and Vhost releated functions
*
* LWS requires that there is one context, in which you may define multiple
* vhosts. Each vhost is a virtual host, with either its own listen port
@@ -2417,7 +2416,9 @@ typedef int (*lws_reload_func)(void);
/**
* lws_context_deprecate() - Deprecate the websocket context
+ *
* \param context: Websocket context
+ * \param cb: Callback notified when old context listen sockets are closed
*
* This function is used on an existing context before superceding it
* with a new context.
@@ -2502,12 +2503,16 @@ lws_create_vhost(struct lws_context *context,
/**
* lws_vhost_destroy() - Destroy a vhost (virtual server context)
- * \param vhost: pointer to result of lws_create_vhost()
+ *
+ * \param vh: pointer to result of lws_create_vhost()
*
* This function destroys a vhost. Normally, if you just want to exit,
* then lws_destroy_context() will take care of everything. If you want
* to destroy an individual vhost and all connections and allocations, you
* can do it with this.
+ *
+ * If the vhost has a listen sockets shared by other vhosts, it will be given
+ * to one of the vhosts sharing it rather than closed.
*/
LWS_VISIBLE LWS_EXTERN void
lws_vhost_destroy(struct lws_vhost *vh);
@@ -2578,6 +2583,9 @@ lws_json_dump_vhost(const struct lws_vhost *vh, char *buf, int len);
* \param context: the context
* \param buf: buffer to fill with JSON
* \param len: max length of buf
+ * \param hide_vhosts: nonzero to not provide per-vhost mount etc information
+ *
+ * Generates a JSON description of vhost state into buf
*/
LWS_VISIBLE LWS_EXTERN int
lws_json_dump_context(const struct lws_context *context, char *buf, int len,
@@ -2694,10 +2702,10 @@ struct lws_http_mount {
///@}
///@}
-/*! \defgroup client
+/*! \defgroup client Client related functions
+ * ##Client releated functions
* \ingroup lwsapi
*
- * ##Client releated functions
* */
///@{
@@ -3142,16 +3150,6 @@ LWS_VISIBLE LWS_EXTERN int
lws_serve_http_file_fragment(struct lws *wsi);
//@}
-/*! \defgroup html-chunked-substitution HTML Chunked Substitution
- * \ingroup http
- *
- * ##HTML chunked Substitution
- *
- * APIs for receiving chunks of text, replacing a set of variable names via
- * a callback, and then prepending and appending HTML chunked encoding
- * headers.
- */
-//@{
enum http_status {
HTTP_STATUS_CONTINUE = 100,
@@ -3191,6 +3189,16 @@ enum http_status {
HTTP_STATUS_GATEWAY_TIMEOUT,
HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED,
};
+/*! \defgroup html-chunked-substitution HTML Chunked Substitution
+ * \ingroup http
+ *
+ * ##HTML chunked Substitution
+ *
+ * APIs for receiving chunks of text, replacing a set of variable names via
+ * a callback, and then prepending and appending HTML chunked encoding
+ * headers.
+ */
+//@{
struct lws_process_html_args {
char *p; /**< pointer to the buffer containing the data */
@@ -3390,7 +3398,7 @@ struct lws_token_limits {
/**
* lws_token_to_string() - returns a textual representation of a hdr token index
*
- * \param: token index
+ * \param token: token index
*/
LWS_VISIBLE LWS_EXTERN const unsigned char *
lws_token_to_string(enum lws_token_indexes token);
@@ -4379,6 +4387,7 @@ lws_remaining_packet_payload(struct lws *wsi);
/**
* lws_adopt_socket() - adopt foreign socket as if listen socket accepted it
* for the default vhost of context.
+ *
* \param context: lws context
* \param accept_fd: fd of already-accepted socket to adopt
*
@@ -4393,7 +4402,8 @@ lws_adopt_socket(struct lws_context *context, lws_sockfd_type accept_fd);
/**
* lws_adopt_socket_vhost() - adopt foreign socket as if listen socket accepted it
* for vhost
- * \param vhost: lws vhost
+ *
+ * \param vh: lws vhost
* \param accept_fd: fd of already-accepted socket to adopt
*
* Either returns new wsi bound to accept_fd, or closes accept_fd and
@@ -5251,6 +5261,7 @@ lws_cgi_kill(struct lws *wsi);
* lws_cgi_get_stdwsi: get wsi for stdin, stdout, or stderr
*
* \param wsi: parent wsi that has cgi
+ * \param ch: which of LWS_STDIN, LWS_STDOUT or LWS_STDERR
*/
LWS_VISIBLE LWS_EXTERN struct lws *
lws_cgi_get_stdwsi(struct lws *wsi, enum lws_enum_stdinouterr ch);
@@ -5502,13 +5513,13 @@ _lws_plat_file_write(lws_fop_fd_t fop_fd, lws_filepos_t *amount,
uint8_t *buf, lws_filepos_t len);
LWS_VISIBLE LWS_EXTERN int
-lws_alloc_vfs_file(struct lws_context *context, const char *filename, uint8_t **buf,
- lws_filepos_t *amount);
+lws_alloc_vfs_file(struct lws_context *context, const char *filename,
+ uint8_t **buf, lws_filepos_t *amount);
//@}
-/** \defgroup smtp
- * \ingroup lwsapi
+/** \defgroup smtp SMTP related functions
* ##SMTP related functions
+ * \ingroup lwsapi
*
* These apis let you communicate with a local SMTP server to send email from
* lws. It handles all the SMTP sequencing and protocol actions.
diff --git a/libwebsockets.dox b/libwebsockets.dox
index f7084b0bf9ec85b137e5e9c68adc60ec61061858..659433bdc5fbf5e5788cf3ccc560f6f73951cda4 100644
--- a/libwebsockets.dox
+++ b/libwebsockets.dox
@@ -101,7 +101,19 @@ WARN_LOGFILE =
#---------------------------------------------------------------------------
# Configuration options related to the input files
#---------------------------------------------------------------------------
-INPUT = lib/libwebsockets.h mainpage.md README.build.md README.problems.md README.lwsws.md README.coding.md README.generic-sessions.md README.generic-table.md README.test-apps.md README.lws-meta.md doc-assets
+INPUT = lib/libwebsockets.h \
+ plugins/ssh-base/include/lws-plugin-ssh.h \
+ ./READMEs/mainpage.md \
+ ./READMEs/README.build.md \
+ ./READMEs/README.problems.md \
+ ./READMEs/README.lwsws.md \
+ ./READMEs/README.coding.md \
+ ./READMEs/README.generic-sessions.md \
+ ./READMEs/README.generic-table.md \
+ ./READMEs/README.test-apps.md \
+ ./READMEs/README.lws-meta.md \
+ ./READMEs/README-plugin-sshd-base.md \
+ ./doc-assets
INPUT_ENCODING = UTF-8
FILE_PATTERNS = lib/*.c *.md *.png
RECURSIVE = NO