mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-23 00:00:06 +01:00
219 lines
36 KiB
TeX
219 lines
36 KiB
TeX
\hypertarget{structlws__context__creation__info}{}\section{lws\+\_\+context\+\_\+creation\+\_\+info Struct Reference}
|
|
\label{structlws__context__creation__info}\index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
|
|
|
|
{\ttfamily \#include $<$libwebsockets.\+h$>$}
|
|
|
|
\subsection*{Data Fields}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
int \hyperlink{structlws__context__creation__info_a424a5ce268d6903e42243be94487ab85}{port}
|
|
\item
|
|
const char $\ast$ \hyperlink{structlws__context__creation__info_a75434932bb5df54665ea678eb8ac104a}{iface}
|
|
\item
|
|
const struct \hyperlink{structlws__protocols}{lws\+\_\+protocols} $\ast$ \hyperlink{structlws__context__creation__info_abb90ffb3e6d6db2db20f529d61bd9122}{protocols}
|
|
\item
|
|
const struct \hyperlink{structlws__extension}{lws\+\_\+extension} $\ast$ \hyperlink{structlws__context__creation__info_a4a3d1155fc52f5048b481884f6fb947c}{extensions}
|
|
\item
|
|
const struct \hyperlink{structlws__token__limits}{lws\+\_\+token\+\_\+limits} $\ast$ \hyperlink{structlws__context__creation__info_ac8a75b7b259a3c3a5fbb4219a3f06c29}{token\+\_\+limits}
|
|
\item
|
|
const char $\ast$ \hyperlink{structlws__context__creation__info_af3fb447be15c4fcb01d3285a6678ab54}{ssl\+\_\+private\+\_\+key\+\_\+password}
|
|
\item
|
|
const char $\ast$ \hyperlink{structlws__context__creation__info_ac62b0f0e8e402412ba5011d15c244103}{ssl\+\_\+cert\+\_\+filepath}
|
|
\item
|
|
const char $\ast$ \hyperlink{structlws__context__creation__info_ab9ec8893e0f7843cf5d783d2f350ef14}{ssl\+\_\+private\+\_\+key\+\_\+filepath}
|
|
\item
|
|
const char $\ast$ \hyperlink{structlws__context__creation__info_a4f8e65c3a059d3b586fafa9ef3282c29}{ssl\+\_\+ca\+\_\+filepath}
|
|
\item
|
|
const char $\ast$ \hyperlink{structlws__context__creation__info_a3e1516fd7fed26bfa77c0246ed26c2eb}{ssl\+\_\+cipher\+\_\+list}
|
|
\item
|
|
const char $\ast$ \hyperlink{structlws__context__creation__info_aef917c0b23976a264d2474901b4f5aa3}{http\+\_\+proxy\+\_\+address}
|
|
\item
|
|
unsigned int \hyperlink{structlws__context__creation__info_a7b59f2bdc869871e7bde232db94f5ca6}{http\+\_\+proxy\+\_\+port}
|
|
\item
|
|
int \hyperlink{structlws__context__creation__info_a9c9d22437de92c197f3cee52912b2c03}{gid}
|
|
\item
|
|
int \hyperlink{structlws__context__creation__info_ac105b4180008cb3e672d57beead8382e}{uid}
|
|
\item
|
|
unsigned int \hyperlink{structlws__context__creation__info_a9d3b17a25e1fbc772f21eb4959a82724}{options}
|
|
\item
|
|
void $\ast$ \hyperlink{structlws__context__creation__info_a0e9d94cdfb893d777b4a4db81e7b5ac0}{user}
|
|
\item
|
|
int \hyperlink{structlws__context__creation__info_ac583ce92b8e1c949cb6fef6bfe713d56}{ka\+\_\+time}
|
|
\item
|
|
int \hyperlink{structlws__context__creation__info_a3baab4285c679fbe027c2504621d7410}{ka\+\_\+probes}
|
|
\item
|
|
int \hyperlink{structlws__context__creation__info_a381342a398883d6204955ff3c1849ddd}{ka\+\_\+interval}
|
|
\item
|
|
\hyperlink{structlws__polarssl__context}{S\+S\+L\+\_\+\+C\+TX} $\ast$ \hyperlink{structlws__context__creation__info_a1654d41bea6fb2f619b57e6a264b26a4}{provided\+\_\+client\+\_\+ssl\+\_\+ctx}
|
|
\item
|
|
void $\ast$ \hyperlink{structlws__context__creation__info_a0e790dda6202604f73a03b6149bc12bb}{provided\+\_\+client\+\_\+ssl\+\_\+ctx}
|
|
\item
|
|
short \hyperlink{structlws__context__creation__info_a0cdfd3c484689ba6f0f2cc91b38ce948}{max\+\_\+http\+\_\+header\+\_\+data}
|
|
\item
|
|
short \hyperlink{structlws__context__creation__info_a0b154e79abc1167ba4ac3539f4af6720}{max\+\_\+http\+\_\+header\+\_\+pool}
|
|
\item
|
|
unsigned int \hyperlink{structlws__context__creation__info_ae52f3237e144e9ddcab5e2cf91d1e419}{count\+\_\+threads}
|
|
\item
|
|
unsigned int \hyperlink{structlws__context__creation__info_a45e63e24c88289e0c8352377ef4d3646}{fd\+\_\+limit\+\_\+per\+\_\+thread}
|
|
\item
|
|
unsigned int \hyperlink{structlws__context__creation__info_a6cfa3d51df2def3349a5cbf0d712822d}{timeout\+\_\+secs}
|
|
\item
|
|
const char $\ast$ \hyperlink{structlws__context__creation__info_afa5d4e7d9f86b58a1c6fac14f0a5f5f9}{ecdh\+\_\+curve}
|
|
\item
|
|
const char $\ast$ \hyperlink{structlws__context__creation__info_ad50db098a208f045f7811207d2bee4b9}{vhost\+\_\+name}
|
|
\item
|
|
const char $\ast$const $\ast$ \hyperlink{structlws__context__creation__info_a8122cfc0810bafe51edb3ba6bf9a1251}{plugin\+\_\+dirs}
|
|
\item
|
|
const struct \hyperlink{structlws__protocol__vhost__options}{lws\+\_\+protocol\+\_\+vhost\+\_\+options} $\ast$ \hyperlink{structlws__context__creation__info_a999866fcd15dbd621773436f97190458}{pvo}
|
|
\item
|
|
int \hyperlink{structlws__context__creation__info_a81697c6b763b5ef3ee52862bc70b07d6}{keepalive\+\_\+timeout}
|
|
\item
|
|
const char $\ast$ \hyperlink{structlws__context__creation__info_ad0e95ba721f7bd2b676719f8093c23a2}{log\+\_\+filepath}
|
|
\item
|
|
const struct \hyperlink{structlws__http__mount}{lws\+\_\+http\+\_\+mount} $\ast$ \hyperlink{structlws__context__creation__info_a13ffbb0d010309669611f8c4eda7d7f8}{mounts}
|
|
\item
|
|
const char $\ast$ \hyperlink{structlws__context__creation__info_a137a9b9de4f6a7993fed8746d551e616}{server\+\_\+string}
|
|
\item
|
|
unsigned int \hyperlink{structlws__context__creation__info_a57f88c0745adbd1d6b9b619b8de30209}{pt\+\_\+serv\+\_\+buf\+\_\+size}
|
|
\item
|
|
unsigned int \hyperlink{structlws__context__creation__info_aa8d9e85e137f35fb006f2e4a53f0887a}{max\+\_\+http\+\_\+header\+\_\+data2}
|
|
\item
|
|
long \hyperlink{structlws__context__creation__info_a704940261951ced6b5d8191bd8b9bb2d}{ssl\+\_\+options\+\_\+set}
|
|
\item
|
|
long \hyperlink{structlws__context__creation__info_adb0bc0b28cd7d90ab306723d8ffa96fa}{ssl\+\_\+options\+\_\+clear}
|
|
\item
|
|
void $\ast$ \hyperlink{structlws__context__creation__info_afce3b59950eca3203faa07381bbed5d7}{\+\_\+unused} \mbox{[}8\mbox{]}
|
|
\end{DoxyCompactItemize}
|
|
|
|
|
|
\subsection{Detailed Description}
|
|
struct \hyperlink{structlws__context__creation__info}{lws\+\_\+context\+\_\+creation\+\_\+info} -\/ parameters to create context and /or vhost with
|
|
|
|
This is also used to create vhosts.... if L\+W\+S\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+O\+P\+T\+I\+O\+N\+\_\+\+E\+X\+P\+L\+I\+C\+I\+T\+\_\+\+V\+H\+O\+S\+TS is not given, then for backwards compatibility one vhost is created at context-\/creation time using the info from this struct.
|
|
|
|
If L\+W\+S\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+O\+P\+T\+I\+O\+N\+\_\+\+E\+X\+P\+L\+I\+C\+I\+T\+\_\+\+V\+H\+O\+S\+TS is given, then no vhosts are created at the same time as the context, they are expected to be created afterwards.
|
|
|
|
\subsection{Field Documentation}
|
|
\index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!\+\_\+unused@{\+\_\+unused}}
|
|
\index{\+\_\+unused@{\+\_\+unused}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{\+\_\+unused}{\_unused}}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::\+\_\+unused\mbox{[}8\mbox{]}}\hypertarget{structlws__context__creation__info_afce3b59950eca3203faa07381bbed5d7}{}\label{structlws__context__creation__info_afce3b59950eca3203faa07381bbed5d7}
|
|
dummy \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!count\+\_\+threads@{count\+\_\+threads}}
|
|
\index{count\+\_\+threads@{count\+\_\+threads}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{count\+\_\+threads}{count\_threads}}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int lws\+\_\+context\+\_\+creation\+\_\+info\+::count\+\_\+threads}\hypertarget{structlws__context__creation__info_ae52f3237e144e9ddcab5e2cf91d1e419}{}\label{structlws__context__creation__info_ae52f3237e144e9ddcab5e2cf91d1e419}
|
|
C\+O\+N\+T\+E\+XT\+: how many contexts to create in an array, 0 = 1 \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!ecdh\+\_\+curve@{ecdh\+\_\+curve}}
|
|
\index{ecdh\+\_\+curve@{ecdh\+\_\+curve}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{ecdh\+\_\+curve}{ecdh\_curve}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::ecdh\+\_\+curve}\hypertarget{structlws__context__creation__info_afa5d4e7d9f86b58a1c6fac14f0a5f5f9}{}\label{structlws__context__creation__info_afa5d4e7d9f86b58a1c6fac14f0a5f5f9}
|
|
V\+H\+O\+ST\+: if N\+U\+LL, defaults to initializing server with \char`\"{}prime256v1\char`\"{} \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!extensions@{extensions}}
|
|
\index{extensions@{extensions}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{extensions}{extensions}}]{\setlength{\rightskip}{0pt plus 5cm}const struct {\bf lws\+\_\+extension}$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::extensions}\hypertarget{structlws__context__creation__info_a4a3d1155fc52f5048b481884f6fb947c}{}\label{structlws__context__creation__info_a4a3d1155fc52f5048b481884f6fb947c}
|
|
V\+H\+O\+ST\+: N\+U\+LL or array of \hyperlink{structlws__extension}{lws\+\_\+extension} structs listing the extensions this context supports. \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!fd\+\_\+limit\+\_\+per\+\_\+thread@{fd\+\_\+limit\+\_\+per\+\_\+thread}}
|
|
\index{fd\+\_\+limit\+\_\+per\+\_\+thread@{fd\+\_\+limit\+\_\+per\+\_\+thread}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{fd\+\_\+limit\+\_\+per\+\_\+thread}{fd\_limit\_per\_thread}}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int lws\+\_\+context\+\_\+creation\+\_\+info\+::fd\+\_\+limit\+\_\+per\+\_\+thread}\hypertarget{structlws__context__creation__info_a45e63e24c88289e0c8352377ef4d3646}{}\label{structlws__context__creation__info_a45e63e24c88289e0c8352377ef4d3646}
|
|
C\+O\+N\+T\+E\+XT\+: nonzero means restrict each service thread to this many fds, 0 means the default which is divide the process fd limit by the number of threads. \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!gid@{gid}}
|
|
\index{gid@{gid}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{gid}{gid}}]{\setlength{\rightskip}{0pt plus 5cm}int lws\+\_\+context\+\_\+creation\+\_\+info\+::gid}\hypertarget{structlws__context__creation__info_a9c9d22437de92c197f3cee52912b2c03}{}\label{structlws__context__creation__info_a9c9d22437de92c197f3cee52912b2c03}
|
|
C\+O\+N\+T\+E\+XT\+: group id to change to after setting listen socket, or -\/1. \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!http\+\_\+proxy\+\_\+address@{http\+\_\+proxy\+\_\+address}}
|
|
\index{http\+\_\+proxy\+\_\+address@{http\+\_\+proxy\+\_\+address}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{http\+\_\+proxy\+\_\+address}{http\_proxy\_address}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::http\+\_\+proxy\+\_\+address}\hypertarget{structlws__context__creation__info_aef917c0b23976a264d2474901b4f5aa3}{}\label{structlws__context__creation__info_aef917c0b23976a264d2474901b4f5aa3}
|
|
V\+H\+O\+ST\+: If non-\/\+N\+U\+LL, attempts to proxy via the given address. If proxy auth is required, use format \char`\"{}username\+:password\textbackslash{}@server\+:port\char`\"{} \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!http\+\_\+proxy\+\_\+port@{http\+\_\+proxy\+\_\+port}}
|
|
\index{http\+\_\+proxy\+\_\+port@{http\+\_\+proxy\+\_\+port}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{http\+\_\+proxy\+\_\+port}{http\_proxy\_port}}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int lws\+\_\+context\+\_\+creation\+\_\+info\+::http\+\_\+proxy\+\_\+port}\hypertarget{structlws__context__creation__info_a7b59f2bdc869871e7bde232db94f5ca6}{}\label{structlws__context__creation__info_a7b59f2bdc869871e7bde232db94f5ca6}
|
|
V\+H\+O\+ST\+: If http\+\_\+proxy\+\_\+address was non-\/\+N\+U\+LL, uses this port \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!iface@{iface}}
|
|
\index{iface@{iface}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{iface}{iface}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::iface}\hypertarget{structlws__context__creation__info_a75434932bb5df54665ea678eb8ac104a}{}\label{structlws__context__creation__info_a75434932bb5df54665ea678eb8ac104a}
|
|
V\+H\+O\+ST\+: N\+U\+LL to bind the listen socket to all interfaces, or the interface name, eg, \char`\"{}eth2\char`\"{} If options specifies L\+W\+S\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+O\+P\+T\+I\+O\+N\+\_\+\+U\+N\+I\+X\+\_\+\+S\+O\+CK, this member is the pathname of a U\+N\+IX domain socket. you can use the U\+N\+IX domain sockets in abstract namespace, by prepending an at symbol to the socket name. \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!ka\+\_\+interval@{ka\+\_\+interval}}
|
|
\index{ka\+\_\+interval@{ka\+\_\+interval}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{ka\+\_\+interval}{ka\_interval}}]{\setlength{\rightskip}{0pt plus 5cm}int lws\+\_\+context\+\_\+creation\+\_\+info\+::ka\+\_\+interval}\hypertarget{structlws__context__creation__info_a381342a398883d6204955ff3c1849ddd}{}\label{structlws__context__creation__info_a381342a398883d6204955ff3c1849ddd}
|
|
C\+O\+N\+T\+E\+XT\+: if ka\+\_\+time was nonzero, how long to wait before each ka\+\_\+probes attempt \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!ka\+\_\+probes@{ka\+\_\+probes}}
|
|
\index{ka\+\_\+probes@{ka\+\_\+probes}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{ka\+\_\+probes}{ka\_probes}}]{\setlength{\rightskip}{0pt plus 5cm}int lws\+\_\+context\+\_\+creation\+\_\+info\+::ka\+\_\+probes}\hypertarget{structlws__context__creation__info_a3baab4285c679fbe027c2504621d7410}{}\label{structlws__context__creation__info_a3baab4285c679fbe027c2504621d7410}
|
|
C\+O\+N\+T\+E\+XT\+: if ka\+\_\+time was nonzero, after the timeout expires how many times to try to get a response from the peer before giving up and killing the connection \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!ka\+\_\+time@{ka\+\_\+time}}
|
|
\index{ka\+\_\+time@{ka\+\_\+time}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{ka\+\_\+time}{ka\_time}}]{\setlength{\rightskip}{0pt plus 5cm}int lws\+\_\+context\+\_\+creation\+\_\+info\+::ka\+\_\+time}\hypertarget{structlws__context__creation__info_ac583ce92b8e1c949cb6fef6bfe713d56}{}\label{structlws__context__creation__info_ac583ce92b8e1c949cb6fef6bfe713d56}
|
|
C\+O\+N\+T\+E\+XT\+: 0 for no T\+CP keepalive, otherwise apply this keepalive timeout to all libwebsocket sockets, client or server \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!keepalive\+\_\+timeout@{keepalive\+\_\+timeout}}
|
|
\index{keepalive\+\_\+timeout@{keepalive\+\_\+timeout}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{keepalive\+\_\+timeout}{keepalive\_timeout}}]{\setlength{\rightskip}{0pt plus 5cm}int lws\+\_\+context\+\_\+creation\+\_\+info\+::keepalive\+\_\+timeout}\hypertarget{structlws__context__creation__info_a81697c6b763b5ef3ee52862bc70b07d6}{}\label{structlws__context__creation__info_a81697c6b763b5ef3ee52862bc70b07d6}
|
|
V\+H\+O\+ST\+: (default = 0 = 60s) seconds to allow remote client to hold on to an idle H\+T\+T\+P/1.\+1 connection \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!log\+\_\+filepath@{log\+\_\+filepath}}
|
|
\index{log\+\_\+filepath@{log\+\_\+filepath}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{log\+\_\+filepath}{log\_filepath}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::log\+\_\+filepath}\hypertarget{structlws__context__creation__info_ad0e95ba721f7bd2b676719f8093c23a2}{}\label{structlws__context__creation__info_ad0e95ba721f7bd2b676719f8093c23a2}
|
|
V\+H\+O\+ST\+: filepath to append logs to... this is opened before any dropping of initial privileges \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!max\+\_\+http\+\_\+header\+\_\+data@{max\+\_\+http\+\_\+header\+\_\+data}}
|
|
\index{max\+\_\+http\+\_\+header\+\_\+data@{max\+\_\+http\+\_\+header\+\_\+data}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{max\+\_\+http\+\_\+header\+\_\+data}{max\_http\_header\_data}}]{\setlength{\rightskip}{0pt plus 5cm}short lws\+\_\+context\+\_\+creation\+\_\+info\+::max\+\_\+http\+\_\+header\+\_\+data}\hypertarget{structlws__context__creation__info_a0cdfd3c484689ba6f0f2cc91b38ce948}{}\label{structlws__context__creation__info_a0cdfd3c484689ba6f0f2cc91b38ce948}
|
|
C\+O\+N\+T\+E\+XT\+: The max amount of header payload that can be handled in an http request (unrecognized header payload is dropped) \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!max\+\_\+http\+\_\+header\+\_\+data2@{max\+\_\+http\+\_\+header\+\_\+data2}}
|
|
\index{max\+\_\+http\+\_\+header\+\_\+data2@{max\+\_\+http\+\_\+header\+\_\+data2}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{max\+\_\+http\+\_\+header\+\_\+data2}{max\_http\_header\_data2}}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int lws\+\_\+context\+\_\+creation\+\_\+info\+::max\+\_\+http\+\_\+header\+\_\+data2}\hypertarget{structlws__context__creation__info_aa8d9e85e137f35fb006f2e4a53f0887a}{}\label{structlws__context__creation__info_aa8d9e85e137f35fb006f2e4a53f0887a}
|
|
C\+O\+N\+T\+E\+XT\+: if max\+\_\+http\+\_\+header\+\_\+data is 0 and this is nonzero, this will be used in place of the default. It\textquotesingle{}s like this for compatibility with the original short version, this is unsigned int length. \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!max\+\_\+http\+\_\+header\+\_\+pool@{max\+\_\+http\+\_\+header\+\_\+pool}}
|
|
\index{max\+\_\+http\+\_\+header\+\_\+pool@{max\+\_\+http\+\_\+header\+\_\+pool}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{max\+\_\+http\+\_\+header\+\_\+pool}{max\_http\_header\_pool}}]{\setlength{\rightskip}{0pt plus 5cm}short lws\+\_\+context\+\_\+creation\+\_\+info\+::max\+\_\+http\+\_\+header\+\_\+pool}\hypertarget{structlws__context__creation__info_a0b154e79abc1167ba4ac3539f4af6720}{}\label{structlws__context__creation__info_a0b154e79abc1167ba4ac3539f4af6720}
|
|
C\+O\+N\+T\+E\+XT\+: The max number of connections with http headers that can be processed simultaneously (the corresponding memory is allocated for the lifetime of the context). If the pool is busy new incoming connections must wait for accept until one becomes free. \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!mounts@{mounts}}
|
|
\index{mounts@{mounts}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{mounts}{mounts}}]{\setlength{\rightskip}{0pt plus 5cm}const struct {\bf lws\+\_\+http\+\_\+mount}$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::mounts}\hypertarget{structlws__context__creation__info_a13ffbb0d010309669611f8c4eda7d7f8}{}\label{structlws__context__creation__info_a13ffbb0d010309669611f8c4eda7d7f8}
|
|
V\+H\+O\+ST\+: optional linked list of mounts for this vhost \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!options@{options}}
|
|
\index{options@{options}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{options}{options}}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int lws\+\_\+context\+\_\+creation\+\_\+info\+::options}\hypertarget{structlws__context__creation__info_a9d3b17a25e1fbc772f21eb4959a82724}{}\label{structlws__context__creation__info_a9d3b17a25e1fbc772f21eb4959a82724}
|
|
V\+H\+O\+ST + C\+O\+N\+T\+E\+XT\+: 0, or L\+W\+S\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+O\+P\+T\+I\+O\+N\+\_\+... bitfields \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!plugin\+\_\+dirs@{plugin\+\_\+dirs}}
|
|
\index{plugin\+\_\+dirs@{plugin\+\_\+dirs}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{plugin\+\_\+dirs}{plugin\_dirs}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ const$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::plugin\+\_\+dirs}\hypertarget{structlws__context__creation__info_a8122cfc0810bafe51edb3ba6bf9a1251}{}\label{structlws__context__creation__info_a8122cfc0810bafe51edb3ba6bf9a1251}
|
|
C\+O\+N\+T\+E\+XT\+: N\+U\+LL, or N\+U\+L\+L-\/terminated array of directories to scan for lws protocol plugins at context creation time \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!port@{port}}
|
|
\index{port@{port}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{port}{port}}]{\setlength{\rightskip}{0pt plus 5cm}int lws\+\_\+context\+\_\+creation\+\_\+info\+::port}\hypertarget{structlws__context__creation__info_a424a5ce268d6903e42243be94487ab85}{}\label{structlws__context__creation__info_a424a5ce268d6903e42243be94487ab85}
|
|
V\+H\+O\+ST\+: Port to listen on... you can use C\+O\+N\+T\+E\+X\+T\+\_\+\+P\+O\+R\+T\+\_\+\+N\+O\+\_\+\+L\+I\+S\+T\+EN to suppress listening on any port, that\textquotesingle{}s what you want if you are not running a websocket server at all but just using it as a client \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!protocols@{protocols}}
|
|
\index{protocols@{protocols}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{protocols}{protocols}}]{\setlength{\rightskip}{0pt plus 5cm}const struct {\bf lws\+\_\+protocols}$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::protocols}\hypertarget{structlws__context__creation__info_abb90ffb3e6d6db2db20f529d61bd9122}{}\label{structlws__context__creation__info_abb90ffb3e6d6db2db20f529d61bd9122}
|
|
V\+H\+O\+ST\+: Array of structures listing supported protocols and a protocol-\/ specific callback for each one. The list is ended with an entry that has a N\+U\+LL callback pointer. \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!provided\+\_\+client\+\_\+ssl\+\_\+ctx@{provided\+\_\+client\+\_\+ssl\+\_\+ctx}}
|
|
\index{provided\+\_\+client\+\_\+ssl\+\_\+ctx@{provided\+\_\+client\+\_\+ssl\+\_\+ctx}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{provided\+\_\+client\+\_\+ssl\+\_\+ctx}{provided\_client\_ssl\_ctx}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\+S\+L\+\_\+\+C\+TX}$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::provided\+\_\+client\+\_\+ssl\+\_\+ctx}\hypertarget{structlws__context__creation__info_a1654d41bea6fb2f619b57e6a264b26a4}{}\label{structlws__context__creation__info_a1654d41bea6fb2f619b57e6a264b26a4}
|
|
C\+O\+N\+T\+E\+XT\+: If non-\/null, swap out libwebsockets ssl implementation for the one provided by provided\+\_\+ssl\+\_\+ctx. Libwebsockets no longer is responsible for freeing the context if this option is selected. \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!provided\+\_\+client\+\_\+ssl\+\_\+ctx@{provided\+\_\+client\+\_\+ssl\+\_\+ctx}}
|
|
\index{provided\+\_\+client\+\_\+ssl\+\_\+ctx@{provided\+\_\+client\+\_\+ssl\+\_\+ctx}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{provided\+\_\+client\+\_\+ssl\+\_\+ctx}{provided\_client\_ssl\_ctx}}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::provided\+\_\+client\+\_\+ssl\+\_\+ctx}\hypertarget{structlws__context__creation__info_a0e790dda6202604f73a03b6149bc12bb}{}\label{structlws__context__creation__info_a0e790dda6202604f73a03b6149bc12bb}
|
|
dummy if ssl disabled \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!pt\+\_\+serv\+\_\+buf\+\_\+size@{pt\+\_\+serv\+\_\+buf\+\_\+size}}
|
|
\index{pt\+\_\+serv\+\_\+buf\+\_\+size@{pt\+\_\+serv\+\_\+buf\+\_\+size}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{pt\+\_\+serv\+\_\+buf\+\_\+size}{pt\_serv\_buf\_size}}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int lws\+\_\+context\+\_\+creation\+\_\+info\+::pt\+\_\+serv\+\_\+buf\+\_\+size}\hypertarget{structlws__context__creation__info_a57f88c0745adbd1d6b9b619b8de30209}{}\label{structlws__context__creation__info_a57f88c0745adbd1d6b9b619b8de30209}
|
|
C\+O\+N\+T\+E\+XT\+: 0 = default of 4096. This buffer is used by various service related features including file serving, it defines the max chunk of file that can be sent at once. At the risk of lws having to buffer failed large sends, it can be increased to, eg, 128\+KiB to improve throughput. \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!pvo@{pvo}}
|
|
\index{pvo@{pvo}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{pvo}{pvo}}]{\setlength{\rightskip}{0pt plus 5cm}const struct {\bf lws\+\_\+protocol\+\_\+vhost\+\_\+options}$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::pvo}\hypertarget{structlws__context__creation__info_a999866fcd15dbd621773436f97190458}{}\label{structlws__context__creation__info_a999866fcd15dbd621773436f97190458}
|
|
V\+H\+O\+ST\+: pointer to optional linked list of per-\/vhost options made accessible to protocols \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!server\+\_\+string@{server\+\_\+string}}
|
|
\index{server\+\_\+string@{server\+\_\+string}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{server\+\_\+string}{server\_string}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::server\+\_\+string}\hypertarget{structlws__context__creation__info_a137a9b9de4f6a7993fed8746d551e616}{}\label{structlws__context__creation__info_a137a9b9de4f6a7993fed8746d551e616}
|
|
C\+O\+N\+T\+E\+XT\+: string used in H\+T\+TP headers to identify server software, if N\+U\+LL, \char`\"{}libwebsockets\char`\"{}. \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!ssl\+\_\+ca\+\_\+filepath@{ssl\+\_\+ca\+\_\+filepath}}
|
|
\index{ssl\+\_\+ca\+\_\+filepath@{ssl\+\_\+ca\+\_\+filepath}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{ssl\+\_\+ca\+\_\+filepath}{ssl\_ca\_filepath}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::ssl\+\_\+ca\+\_\+filepath}\hypertarget{structlws__context__creation__info_a4f8e65c3a059d3b586fafa9ef3282c29}{}\label{structlws__context__creation__info_a4f8e65c3a059d3b586fafa9ef3282c29}
|
|
V\+H\+O\+ST\+: CA certificate filepath or N\+U\+LL \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!ssl\+\_\+cert\+\_\+filepath@{ssl\+\_\+cert\+\_\+filepath}}
|
|
\index{ssl\+\_\+cert\+\_\+filepath@{ssl\+\_\+cert\+\_\+filepath}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{ssl\+\_\+cert\+\_\+filepath}{ssl\_cert\_filepath}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::ssl\+\_\+cert\+\_\+filepath}\hypertarget{structlws__context__creation__info_ac62b0f0e8e402412ba5011d15c244103}{}\label{structlws__context__creation__info_ac62b0f0e8e402412ba5011d15c244103}
|
|
V\+H\+O\+ST\+: If libwebsockets was compiled to use ssl, and you want to listen using S\+SL, set to the filepath to fetch the server cert from, otherwise N\+U\+LL for unencrypted \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!ssl\+\_\+cipher\+\_\+list@{ssl\+\_\+cipher\+\_\+list}}
|
|
\index{ssl\+\_\+cipher\+\_\+list@{ssl\+\_\+cipher\+\_\+list}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{ssl\+\_\+cipher\+\_\+list}{ssl\_cipher\_list}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::ssl\+\_\+cipher\+\_\+list}\hypertarget{structlws__context__creation__info_a3e1516fd7fed26bfa77c0246ed26c2eb}{}\label{structlws__context__creation__info_a3e1516fd7fed26bfa77c0246ed26c2eb}
|
|
V\+H\+O\+ST\+: List of valid ciphers to use (eg, \char`\"{}\+R\+C4-\/\+M\+D5\+:\+R\+C4-\/\+S\+H\+A\+:\+A\+E\+S128-\/\+S\+H\+A\+:\+A\+E\+S256-\/\+S\+H\+A\+:\+H\+I\+G\+H\+:!\+D\+S\+S\+:!a\+N\+U\+L\+L\char`\"{} or you can leave it as N\+U\+LL to get \char`\"{}\+D\+E\+F\+A\+U\+L\+T\char`\"{} \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!ssl\+\_\+options\+\_\+clear@{ssl\+\_\+options\+\_\+clear}}
|
|
\index{ssl\+\_\+options\+\_\+clear@{ssl\+\_\+options\+\_\+clear}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{ssl\+\_\+options\+\_\+clear}{ssl\_options\_clear}}]{\setlength{\rightskip}{0pt plus 5cm}long lws\+\_\+context\+\_\+creation\+\_\+info\+::ssl\+\_\+options\+\_\+clear}\hypertarget{structlws__context__creation__info_adb0bc0b28cd7d90ab306723d8ffa96fa}{}\label{structlws__context__creation__info_adb0bc0b28cd7d90ab306723d8ffa96fa}
|
|
V\+H\+O\+ST\+: Any bits set here will be cleared as S\+SL options \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!ssl\+\_\+options\+\_\+set@{ssl\+\_\+options\+\_\+set}}
|
|
\index{ssl\+\_\+options\+\_\+set@{ssl\+\_\+options\+\_\+set}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{ssl\+\_\+options\+\_\+set}{ssl\_options\_set}}]{\setlength{\rightskip}{0pt plus 5cm}long lws\+\_\+context\+\_\+creation\+\_\+info\+::ssl\+\_\+options\+\_\+set}\hypertarget{structlws__context__creation__info_a704940261951ced6b5d8191bd8b9bb2d}{}\label{structlws__context__creation__info_a704940261951ced6b5d8191bd8b9bb2d}
|
|
V\+H\+O\+ST\+: Any bits set here will be set as S\+SL options \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!ssl\+\_\+private\+\_\+key\+\_\+filepath@{ssl\+\_\+private\+\_\+key\+\_\+filepath}}
|
|
\index{ssl\+\_\+private\+\_\+key\+\_\+filepath@{ssl\+\_\+private\+\_\+key\+\_\+filepath}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{ssl\+\_\+private\+\_\+key\+\_\+filepath}{ssl\_private\_key\_filepath}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::ssl\+\_\+private\+\_\+key\+\_\+filepath}\hypertarget{structlws__context__creation__info_ab9ec8893e0f7843cf5d783d2f350ef14}{}\label{structlws__context__creation__info_ab9ec8893e0f7843cf5d783d2f350ef14}
|
|
V\+H\+O\+ST\+: filepath to private key if wanting S\+SL mode; if this is set to N\+U\+LL but sll\+\_\+cert\+\_\+filepath is set, the O\+P\+E\+N\+S\+S\+L\+\_\+\+C\+O\+N\+T\+E\+X\+T\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+S\+\_\+\+P\+R\+I\+V\+A\+T\+E\+\_\+\+K\+EY callback is called to allow setting of the private key directly via open\+S\+SL library calls \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!ssl\+\_\+private\+\_\+key\+\_\+password@{ssl\+\_\+private\+\_\+key\+\_\+password}}
|
|
\index{ssl\+\_\+private\+\_\+key\+\_\+password@{ssl\+\_\+private\+\_\+key\+\_\+password}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{ssl\+\_\+private\+\_\+key\+\_\+password}{ssl\_private\_key\_password}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::ssl\+\_\+private\+\_\+key\+\_\+password}\hypertarget{structlws__context__creation__info_af3fb447be15c4fcb01d3285a6678ab54}{}\label{structlws__context__creation__info_af3fb447be15c4fcb01d3285a6678ab54}
|
|
V\+H\+O\+ST\+: N\+U\+LL or the passphrase needed for the private key \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!timeout\+\_\+secs@{timeout\+\_\+secs}}
|
|
\index{timeout\+\_\+secs@{timeout\+\_\+secs}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{timeout\+\_\+secs}{timeout\_secs}}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int lws\+\_\+context\+\_\+creation\+\_\+info\+::timeout\+\_\+secs}\hypertarget{structlws__context__creation__info_a6cfa3d51df2def3349a5cbf0d712822d}{}\label{structlws__context__creation__info_a6cfa3d51df2def3349a5cbf0d712822d}
|
|
V\+H\+O\+ST\+: various processes involving network roundtrips in the library are protected from hanging forever by timeouts. If nonzero, this member lets you set the timeout used in seconds. Otherwise a default timeout is used. \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!token\+\_\+limits@{token\+\_\+limits}}
|
|
\index{token\+\_\+limits@{token\+\_\+limits}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{token\+\_\+limits}{token\_limits}}]{\setlength{\rightskip}{0pt plus 5cm}const struct {\bf lws\+\_\+token\+\_\+limits}$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::token\+\_\+limits}\hypertarget{structlws__context__creation__info_ac8a75b7b259a3c3a5fbb4219a3f06c29}{}\label{structlws__context__creation__info_ac8a75b7b259a3c3a5fbb4219a3f06c29}
|
|
C\+O\+N\+T\+E\+XT\+: N\+U\+LL or struct \hyperlink{structlws__token__limits}{lws\+\_\+token\+\_\+limits} pointer which is initialized with a token length limit for each possible W\+S\+I\+\_\+\+T\+O\+K\+E\+N\+\_\+ \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!uid@{uid}}
|
|
\index{uid@{uid}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{uid}{uid}}]{\setlength{\rightskip}{0pt plus 5cm}int lws\+\_\+context\+\_\+creation\+\_\+info\+::uid}\hypertarget{structlws__context__creation__info_ac105b4180008cb3e672d57beead8382e}{}\label{structlws__context__creation__info_ac105b4180008cb3e672d57beead8382e}
|
|
C\+O\+N\+T\+E\+XT\+: user id to change to after setting listen socket, or -\/1. \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!user@{user}}
|
|
\index{user@{user}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{user}{user}}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::user}\hypertarget{structlws__context__creation__info_a0e9d94cdfb893d777b4a4db81e7b5ac0}{}\label{structlws__context__creation__info_a0e9d94cdfb893d777b4a4db81e7b5ac0}
|
|
C\+O\+N\+T\+E\+XT\+: optional user pointer that can be recovered via the context pointer using lws\+\_\+context\+\_\+user \index{lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}!vhost\+\_\+name@{vhost\+\_\+name}}
|
|
\index{vhost\+\_\+name@{vhost\+\_\+name}!lws\+\_\+context\+\_\+creation\+\_\+info@{lws\+\_\+context\+\_\+creation\+\_\+info}}
|
|
\subsubsection[{\texorpdfstring{vhost\+\_\+name}{vhost\_name}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lws\+\_\+context\+\_\+creation\+\_\+info\+::vhost\+\_\+name}\hypertarget{structlws__context__creation__info_ad50db098a208f045f7811207d2bee4b9}{}\label{structlws__context__creation__info_ad50db098a208f045f7811207d2bee4b9}
|
|
V\+H\+O\+ST\+: name of vhost, must match external D\+NS name used to access the site, like \char`\"{}warmcat.\+com\char`\"{} as it\textquotesingle{}s used to match Host\+: header and / or S\+NI name for S\+SL.
|
|
|
|
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
|
\item
|
|
lib/\hyperlink{libwebsockets_8h}{libwebsockets.\+h}\end{DoxyCompactItemize}
|