<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\hypertarget{group__misc}{}\section{Miscellaneous A\+P\+Is}
\label{group__misc}\index{Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN int \hyperlink{group__misc_ga58f906c6be0ca80efd813f694569dd4a}{lws\+\_\+get\+\_\+random} (struct lws\+\_\+context $\ast$context, void $\ast$buf, int len)
\item 
L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN int L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT \hyperlink{group__misc_gace5171b1dbbc03ec89a98f8afdb5c9af}{lws\+\_\+daemonize} (const char $\ast$\+\_\+lock\+\_\+path)
\item 
L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN const char $\ast$L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT \hyperlink{group__misc_gac6abfc0b2bd5b2f09281a4432bb2f5f0}{lws\+\_\+get\+\_\+library\+\_\+version} (void)
\item 
L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN void $\ast$ \hyperlink{group__misc_gaa194584fff9698f3b280658f770ccd0f}{lws\+\_\+wsi\+\_\+user} (struct lws $\ast$wsi)
\item 
L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN int L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT \hyperlink{group__misc_ga1ec0d9faac5d3a5824d765c287c043aa}{lws\+\_\+parse\+\_\+uri} (char $\ast$p, const char $\ast$$\ast$prot, const char $\ast$$\ast$ads, int $\ast$port, const char $\ast$$\ast$path)
\item 
L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN unsigned long \hyperlink{group__misc_ga33bf2635033710b25f931b57ed663e1e}{lws\+\_\+now\+\_\+secs} (void)
\item 
L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN struct lws\+\_\+context $\ast$L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT \hyperlink{group__misc_ga0af4f7d2dd375aeedcfa7eb0e1101c4b}{lws\+\_\+get\+\_\+context} (const struct lws $\ast$wsi)
\item 
L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN int L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT \hyperlink{group__misc_ga629f48268fd1856b54b11172991b97d9}{lws\+\_\+get\+\_\+count\+\_\+threads} (struct lws\+\_\+context $\ast$context)
\item 
L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN struct lws $\ast$L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT \hyperlink{group__misc_ga8930fe36a3f3eefe4a6a4fd499d8e899}{lws\+\_\+get\+\_\+parent} (const struct lws $\ast$wsi)
\item 
L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN struct lws $\ast$L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT \hyperlink{group__misc_gacae4d7b6a8d22e4c2d82ff8b12c1e234}{lws\+\_\+get\+\_\+child} (const struct lws $\ast$wsi)
\item 
L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN int {\bfseries lws\+\_\+read} (struct lws $\ast$wsi, unsigned char $\ast$buf, size\+\_\+t len)\hypertarget{group__misc_ga0e705d498e8c8500649a26ba30a1e106}{}\label{group__misc_ga0e705d498e8c8500649a26ba30a1e106}

\item 
L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN void \hyperlink{group__misc_gab321ed812f46f6dc7ef9e3ca6f00cf1b}{lws\+\_\+set\+\_\+allocator} (void $\ast$($\ast$realloc)(void $\ast$ptr, size\+\_\+t size))
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{Miscellaneous A\+P\+Is}

Various A\+P\+Is outside of other categories 

\subsection{Function Documentation}
\index{Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}!lws\+\_\+daemonize@{lws\+\_\+daemonize}}
\index{lws\+\_\+daemonize@{lws\+\_\+daemonize}!Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}}
\subsubsection[{\texorpdfstring{lws\+\_\+daemonize(const char $\ast$\+\_\+lock\+\_\+path)}{lws\_daemonize(const char *\_lock\_path)}}]{\setlength{\rightskip}{0pt plus 5cm}L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN int L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT lws\+\_\+daemonize (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+lock\+\_\+path}
\end{DoxyParamCaption}
)}\hypertarget{group__misc_gace5171b1dbbc03ec89a98f8afdb5c9af}{}\label{group__misc_gace5171b1dbbc03ec89a98f8afdb5c9af}


{\ttfamily \#include $&lt;$\hyperlink{libwebsockets_8h}{lib/libwebsockets.\+h}$&gt;$}

\hyperlink{group__misc_gace5171b1dbbc03ec89a98f8afdb5c9af}{lws\+\_\+daemonize()}\+: fill a buffer with platform random data


\begin{DoxyParams}{Parameters}
{\em \+\_\+lock\+\_\+path} &amp; the filepath to write the lock file\\
\hline
\end{DoxyParams}
Spawn lws as a background process, taking care of various things \index{Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}!lws\+\_\+get\+\_\+child@{lws\+\_\+get\+\_\+child}}
\index{lws\+\_\+get\+\_\+child@{lws\+\_\+get\+\_\+child}!Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}}
\subsubsection[{\texorpdfstring{lws\+\_\+get\+\_\+child(const struct lws $\ast$wsi)}{lws\_get\_child(const struct lws *wsi)}}]{\setlength{\rightskip}{0pt plus 5cm}L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN struct lws$\ast$ L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT lws\+\_\+get\+\_\+child (
\begin{DoxyParamCaption}
\item[{const struct lws $\ast$}]{wsi}
\end{DoxyParamCaption}
)}\hypertarget{group__misc_gacae4d7b6a8d22e4c2d82ff8b12c1e234}{}\label{group__misc_gacae4d7b6a8d22e4c2d82ff8b12c1e234}


{\ttfamily \#include $&lt;$\hyperlink{libwebsockets_8h}{lib/libwebsockets.\+h}$&gt;$}

\hyperlink{group__misc_gacae4d7b6a8d22e4c2d82ff8b12c1e234}{lws\+\_\+get\+\_\+child()} -\/ get child wsi or N\+U\+LL 
\begin{DoxyParams}{Parameters}
{\em wsi} &amp; lws connection\\
\hline
\end{DoxyParams}
Allows you to find a related wsi from the parent wsi. \index{Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}!lws\+\_\+get\+\_\+context@{lws\+\_\+get\+\_\+context}}
\index{lws\+\_\+get\+\_\+context@{lws\+\_\+get\+\_\+context}!Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}}
\subsubsection[{\texorpdfstring{lws\+\_\+get\+\_\+context(const struct lws $\ast$wsi)}{lws\_get\_context(const struct lws *wsi)}}]{\setlength{\rightskip}{0pt plus 5cm}L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN struct lws\+\_\+context$\ast$ L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT lws\+\_\+get\+\_\+context (
\begin{DoxyParamCaption}
\item[{const struct lws $\ast$}]{wsi}
\end{DoxyParamCaption}
)}\hypertarget{group__misc_ga0af4f7d2dd375aeedcfa7eb0e1101c4b}{}\label{group__misc_ga0af4f7d2dd375aeedcfa7eb0e1101c4b}


{\ttfamily \#include $&lt;$\hyperlink{libwebsockets_8h}{lib/libwebsockets.\+h}$&gt;$}

lws\+\_\+get\+\_\+context -\/ Allow geting lws\+\_\+context from a Websocket connection instance

With this function, users can access context in the callback function. Otherwise users may have to declare context as a global variable.


\begin{DoxyParams}{Parameters}
{\em wsi} &amp; Websocket connection instance \\
\hline
\end{DoxyParams}
\index{Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}!lws\+\_\+get\+\_\+count\+\_\+threads@{lws\+\_\+get\+\_\+count\+\_\+threads}}
\index{lws\+\_\+get\+\_\+count\+\_\+threads@{lws\+\_\+get\+\_\+count\+\_\+threads}!Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}}
\subsubsection[{\texorpdfstring{lws\+\_\+get\+\_\+count\+\_\+threads(struct lws\+\_\+context $\ast$context)}{lws\_get\_count\_threads(struct lws\_context *context)}}]{\setlength{\rightskip}{0pt plus 5cm}L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN int L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT lws\+\_\+get\+\_\+count\+\_\+threads (
\begin{DoxyParamCaption}
\item[{struct lws\+\_\+context $\ast$}]{context}
\end{DoxyParamCaption}
)}\hypertarget{group__misc_ga629f48268fd1856b54b11172991b97d9}{}\label{group__misc_ga629f48268fd1856b54b11172991b97d9}


{\ttfamily \#include $&lt;$\hyperlink{libwebsockets_8h}{lib/libwebsockets.\+h}$&gt;$}

\hyperlink{group__misc_ga629f48268fd1856b54b11172991b97d9}{lws\+\_\+get\+\_\+count\+\_\+threads()}\+: how many service threads the context uses


\begin{DoxyParams}{Parameters}
{\em context} &amp; the lws context\\
\hline
\end{DoxyParams}
By default this is always 1, if you asked for more than lws can handle it will clip the number of threads. So you can use this to find out how many threads are actually in use. \index{Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}!lws\+\_\+get\+\_\+library\+\_\+version@{lws\+\_\+get\+\_\+library\+\_\+version}}
\index{lws\+\_\+get\+\_\+library\+\_\+version@{lws\+\_\+get\+\_\+library\+\_\+version}!Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}}
\subsubsection[{\texorpdfstring{lws\+\_\+get\+\_\+library\+\_\+version(void)}{lws\_get\_library\_version(void)}}]{\setlength{\rightskip}{0pt plus 5cm}L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN const char$\ast$ L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT lws\+\_\+get\+\_\+library\+\_\+version (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\hypertarget{group__misc_gac6abfc0b2bd5b2f09281a4432bb2f5f0}{}\label{group__misc_gac6abfc0b2bd5b2f09281a4432bb2f5f0}


{\ttfamily \#include $&lt;$\hyperlink{libwebsockets_8h}{lib/libwebsockets.\+h}$&gt;$}

\hyperlink{group__misc_gac6abfc0b2bd5b2f09281a4432bb2f5f0}{lws\+\_\+get\+\_\+library\+\_\+version()}\+: return string describing the version of lws

On unix, also includes the git describe \index{Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}!lws\+\_\+get\+\_\+parent@{lws\+\_\+get\+\_\+parent}}
\index{lws\+\_\+get\+\_\+parent@{lws\+\_\+get\+\_\+parent}!Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}}
\subsubsection[{\texorpdfstring{lws\+\_\+get\+\_\+parent(const struct lws $\ast$wsi)}{lws\_get\_parent(const struct lws *wsi)}}]{\setlength{\rightskip}{0pt plus 5cm}L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN struct lws$\ast$ L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT lws\+\_\+get\+\_\+parent (
\begin{DoxyParamCaption}
\item[{const struct lws $\ast$}]{wsi}
\end{DoxyParamCaption}
)}\hypertarget{group__misc_ga8930fe36a3f3eefe4a6a4fd499d8e899}{}\label{group__misc_ga8930fe36a3f3eefe4a6a4fd499d8e899}


{\ttfamily \#include $&lt;$\hyperlink{libwebsockets_8h}{lib/libwebsockets.\+h}$&gt;$}

\hyperlink{group__misc_ga8930fe36a3f3eefe4a6a4fd499d8e899}{lws\+\_\+get\+\_\+parent()} -\/ get parent wsi or N\+U\+LL 
\begin{DoxyParams}{Parameters}
{\em wsi} &amp; lws connection\\
\hline
\end{DoxyParams}
Specialized wsi like cgi stdin/out/err are associated to a parent wsi, this allows you to get their parent. \index{Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}!lws\+\_\+get\+\_\+random@{lws\+\_\+get\+\_\+random}}
\index{lws\+\_\+get\+\_\+random@{lws\+\_\+get\+\_\+random}!Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}}
\subsubsection[{\texorpdfstring{lws\+\_\+get\+\_\+random(struct lws\+\_\+context $\ast$context, void $\ast$buf, int len)}{lws\_get\_random(struct lws\_context *context, void *buf, int len)}}]{\setlength{\rightskip}{0pt plus 5cm}L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN int lws\+\_\+get\+\_\+random (
\begin{DoxyParamCaption}
\item[{struct lws\+\_\+context $\ast$}]{context, }
\item[{void $\ast$}]{buf, }
\item[{int}]{len}
\end{DoxyParamCaption}
)}\hypertarget{group__misc_ga58f906c6be0ca80efd813f694569dd4a}{}\label{group__misc_ga58f906c6be0ca80efd813f694569dd4a}


{\ttfamily \#include $&lt;$\hyperlink{libwebsockets_8h}{lib/libwebsockets.\+h}$&gt;$}

\hyperlink{group__misc_ga58f906c6be0ca80efd813f694569dd4a}{lws\+\_\+get\+\_\+random()}\+: fill a buffer with platform random data


\begin{DoxyParams}{Parameters}
{\em context} &amp; the lws context \\
\hline
{\em buf} &amp; buffer to fill \\
\hline
{\em len} &amp; how much to fill\\
\hline
\end{DoxyParams}
This is intended to be called from the L\+W\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+R\+E\+C\+E\+I\+VE callback if it\textquotesingle{}s interested to see if the frame it\textquotesingle{}s dealing with was sent in binary mode. \index{Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}!lws\+\_\+now\+\_\+secs@{lws\+\_\+now\+\_\+secs}}
\index{lws\+\_\+now\+\_\+secs@{lws\+\_\+now\+\_\+secs}!Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}}
\subsubsection[{\texorpdfstring{lws\+\_\+now\+\_\+secs(void)}{lws\_now\_secs(void)}}]{\setlength{\rightskip}{0pt plus 5cm}L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN unsigned long lws\+\_\+now\+\_\+secs (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\hypertarget{group__misc_ga33bf2635033710b25f931b57ed663e1e}{}\label{group__misc_ga33bf2635033710b25f931b57ed663e1e}


{\ttfamily \#include $&lt;$\hyperlink{libwebsockets_8h}{lib/libwebsockets.\+h}$&gt;$}

\hyperlink{group__misc_ga33bf2635033710b25f931b57ed663e1e}{lws\+\_\+now\+\_\+secs()}\+: return seconds since 1970-\/1-\/1 \index{Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}!lws\+\_\+parse\+\_\+uri@{lws\+\_\+parse\+\_\+uri}}
\index{lws\+\_\+parse\+\_\+uri@{lws\+\_\+parse\+\_\+uri}!Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}}
\subsubsection[{\texorpdfstring{lws\+\_\+parse\+\_\+uri(char $\ast$p, const char $\ast$$\ast$prot, const char $\ast$$\ast$ads, int $\ast$port, const char $\ast$$\ast$path)}{lws\_parse\_uri(char *p, const char **prot, const char **ads, int *port, const char **path)}}]{\setlength{\rightskip}{0pt plus 5cm}L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN int L\+W\+S\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT lws\+\_\+parse\+\_\+uri (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{p, }
\item[{const char $\ast$$\ast$}]{prot, }
\item[{const char $\ast$$\ast$}]{ads, }
\item[{int $\ast$}]{port, }
\item[{const char $\ast$$\ast$}]{path}
\end{DoxyParamCaption}
)}\hypertarget{group__misc_ga1ec0d9faac5d3a5824d765c287c043aa}{}\label{group__misc_ga1ec0d9faac5d3a5824d765c287c043aa}


{\ttfamily \#include $&lt;$\hyperlink{libwebsockets_8h}{lib/libwebsockets.\+h}$&gt;$}

lws\+\_\+parse\+\_\+uri\+: cut up prot\+:/ads\+:port/path into pieces Notice it does so by dropping \textquotesingle{}\textbackslash{}0\textquotesingle{} into input string and the leading / on the path is consequently lost


\begin{DoxyParams}{Parameters}
{\em p} &amp; incoming uri string.. will get written to \\
\hline
{\em prot} &amp; result pointer for protocol part (\href{https://}{\tt https\+://}) \\
\hline
{\em ads} &amp; result pointer for address part \\
\hline
{\em port} &amp; result pointer for port part \\
\hline
{\em path} &amp; result pointer for path part \\
\hline
\end{DoxyParams}
\index{Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}!lws\+\_\+set\+\_\+allocator@{lws\+\_\+set\+\_\+allocator}}
\index{lws\+\_\+set\+\_\+allocator@{lws\+\_\+set\+\_\+allocator}!Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}}
\subsubsection[{\texorpdfstring{lws\+\_\+set\+\_\+allocator(void $\ast$($\ast$realloc)(void $\ast$ptr, size\+\_\+t size))}{lws\_set\_allocator(void *(*realloc)(void *ptr, size\_t size))}}]{\setlength{\rightskip}{0pt plus 5cm}L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN void lws\+\_\+set\+\_\+allocator (
\begin{DoxyParamCaption}
\item[{void $\ast$($\ast$)(void $\ast$ptr, size\+\_\+t size)}]{realloc}
\end{DoxyParamCaption}
)}\hypertarget{group__misc_gab321ed812f46f6dc7ef9e3ca6f00cf1b}{}\label{group__misc_gab321ed812f46f6dc7ef9e3ca6f00cf1b}


{\ttfamily \#include $&lt;$\hyperlink{libwebsockets_8h}{lib/libwebsockets.\+h}$&gt;$}

\hyperlink{group__misc_gab321ed812f46f6dc7ef9e3ca6f00cf1b}{lws\+\_\+set\+\_\+allocator()} -\/ custom allocator support


\begin{DoxyParams}{Parameters}
{\em realloc} &amp; Allows you to replace the allocator (and deallocator) used by lws \\
\hline
\end{DoxyParams}
\index{Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}!lws\+\_\+wsi\+\_\+user@{lws\+\_\+wsi\+\_\+user}}
\index{lws\+\_\+wsi\+\_\+user@{lws\+\_\+wsi\+\_\+user}!Miscellaneous A\+P\+Is@{Miscellaneous A\+P\+Is}}
\subsubsection[{\texorpdfstring{lws\+\_\+wsi\+\_\+user(struct lws $\ast$wsi)}{lws\_wsi\_user(struct lws *wsi)}}]{\setlength{\rightskip}{0pt plus 5cm}L\+W\+S\+\_\+\+V\+I\+S\+I\+B\+LE L\+W\+S\+\_\+\+E\+X\+T\+E\+RN void$\ast$ lws\+\_\+wsi\+\_\+user (
\begin{DoxyParamCaption}
\item[{struct lws $\ast$}]{wsi}
\end{DoxyParamCaption}
)}\hypertarget{group__misc_gaa194584fff9698f3b280658f770ccd0f}{}\label{group__misc_gaa194584fff9698f3b280658f770ccd0f}


{\ttfamily \#include $&lt;$\hyperlink{libwebsockets_8h}{lib/libwebsockets.\+h}$&gt;$}

\hyperlink{group__misc_gaa194584fff9698f3b280658f770ccd0f}{lws\+\_\+wsi\+\_\+user()} -\/ get the user data associated with the connection 
\begin{DoxyParams}{Parameters}
{\em wsi} &amp; lws connection\\
\hline
\end{DoxyParams}
Not normally needed since it\textquotesingle{}s passed into the callback </pre></body></html>