\hypertarget{group__ipv4}{
\section{ipv4: IPv4 Address Handling}
\label{group__ipv4}\index{ipv4: IPv4 Address Handling@{ipv4: IPv4 Address Handling}}
}
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct \hyperlink{structipv4addr}{ipv4addr}
\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
typedef uint16 \hyperlink{group__ipv4_g113bbf93f3b0011263ce519bb1ca7481}{ipv4port}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
int \hyperlink{group__ipv4_g970fa2560edacb238d78e599bb1729f7}{ipv4\_\-parse} (const char $\ast$s, \hyperlink{structipv4addr}{ipv4addr} $\ast$addr, const char $\ast$$\ast$end) \_\-\_\-attribute\_\-\_\-((\_\-\_\-deprecated\_\-\_\-))
\item 
const char $\ast$ \hyperlink{group__ipv4_g628d2958c84e84cdb15bbae2b767eb53}{ipv4\_\-scan} (const char $\ast$s, \hyperlink{structipv4addr}{ipv4addr} $\ast$addr)
\item 
const char $\ast$ \hyperlink{group__ipv4_ga161182e19993a2316e01bb34bfb4ef9}{ipv4\_\-format} (const \hyperlink{structipv4addr}{ipv4addr} $\ast$addr)
\item 
unsigned \hyperlink{group__ipv4_g7dd8903f9d4e123f9698ad77ca49853f}{fmt\_\-ipv4addr} (char $\ast$buffer, const \hyperlink{structipv4addr}{ipv4addr} $\ast$addr)
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item 
const \hyperlink{structipv4addr}{ipv4addr} \hyperlink{group__ipv4_g1c3c3f0e39c1c5506d05cf23abace292}{IPV4ADDR\_\-ANY}
\item 
const \hyperlink{structipv4addr}{ipv4addr} \hyperlink{group__ipv4_g189f4cbb8d0108e25d2b264b494311ba}{IPV4ADDR\_\-BROADCAST}
\item 
const \hyperlink{structipv4addr}{ipv4addr} \hyperlink{group__ipv4_ga8e14bddb429c1dcd44dcdbfca7c6f7f}{IPV4ADDR\_\-LOOPBACK}
\end{CompactItemize}


\subsection{Typedef Documentation}
\hypertarget{group__ipv4_g113bbf93f3b0011263ce519bb1ca7481}{
\index{ipv4@{ipv4}!ipv4port@{ipv4port}}
\index{ipv4port@{ipv4port}!ipv4@{ipv4}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef uint16 {\bf ipv4port}}}
\label{group__ipv4_g113bbf93f3b0011263ce519bb1ca7481}


IPv4 port number. 

\subsection{Function Documentation}
\hypertarget{group__ipv4_g7dd8903f9d4e123f9698ad77ca49853f}{
\index{ipv4@{ipv4}!fmt\_\-ipv4addr@{fmt\_\-ipv4addr}}
\index{fmt\_\-ipv4addr@{fmt\_\-ipv4addr}!ipv4@{ipv4}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned fmt\_\-ipv4addr (char $\ast$ {\em buffer}, const {\bf ipv4addr} $\ast$ {\em addr})}}
\label{group__ipv4_g7dd8903f9d4e123f9698ad77ca49853f}


Produce a formatted string from an IPv4 address.

The given buffer must be at least 15 bytes long, or 16 bytes if it needs to contain the standard trailing {\tt NUL} byte.

\begin{Desc}
\item[Returns:]The number of bytes written to the buffer.\end{Desc}
\begin{Desc}
\item[Note:]This routine is thread and recursion safe. \end{Desc}
\hypertarget{group__ipv4_ga161182e19993a2316e01bb34bfb4ef9}{
\index{ipv4@{ipv4}!ipv4\_\-format@{ipv4\_\-format}}
\index{ipv4\_\-format@{ipv4\_\-format}!ipv4@{ipv4}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ ipv4\_\-format (const {\bf ipv4addr} $\ast$ {\em addr})}}
\label{group__ipv4_ga161182e19993a2316e01bb34bfb4ef9}


Produce a formatted C string from an IPv4 address.

\begin{Desc}
\item[Note:]The return value is statically allocated. Multiple calls to this function will return pointers to the same string. \end{Desc}
\hypertarget{group__ipv4_g970fa2560edacb238d78e599bb1729f7}{
\index{ipv4@{ipv4}!ipv4\_\-parse@{ipv4\_\-parse}}
\index{ipv4\_\-parse@{ipv4\_\-parse}!ipv4@{ipv4}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int ipv4\_\-parse (const char $\ast$ {\em start}, {\bf ipv4addr} $\ast$ {\em addr}, const char $\ast$$\ast$ {\em end})}}
\label{group__ipv4_g970fa2560edacb238d78e599bb1729f7}


Parse an IPv4 address.

\begin{Desc}
\item[\hyperlink{deprecated__deprecated000001}{Deprecated}]This function is a wrapper for {\tt ipv4\_\-scan}.\end{Desc}
\begin{Desc}
\item[Returns:]Non-zero (true) if parsing succeeded, and sets {\tt $\ast$end} to the first character past the end of the address. \end{Desc}
\hypertarget{group__ipv4_g628d2958c84e84cdb15bbae2b767eb53}{
\index{ipv4@{ipv4}!ipv4\_\-scan@{ipv4\_\-scan}}
\index{ipv4\_\-scan@{ipv4\_\-scan}!ipv4@{ipv4}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ ipv4\_\-scan (const char $\ast$ {\em start}, {\bf ipv4addr} $\ast$ {\em addr})}}
\label{group__ipv4_g628d2958c84e84cdb15bbae2b767eb53}


Scan a C string for an IPv4 address.

\begin{Desc}
\item[Returns:]{\tt NULL} if parsing failed, otherwise a pointer to the first character after the end of the address. \end{Desc}


\subsection{Variable Documentation}
\hypertarget{group__ipv4_g1c3c3f0e39c1c5506d05cf23abace292}{
\index{ipv4@{ipv4}!IPV4ADDR\_\-ANY@{IPV4ADDR\_\-ANY}}
\index{IPV4ADDR\_\-ANY@{IPV4ADDR\_\-ANY}!ipv4@{ipv4}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf ipv4addr} {\bf IPV4ADDR\_\-ANY}}}
\label{group__ipv4_g1c3c3f0e39c1c5506d05cf23abace292}


IPv4 \char`\"{}any\char`\"{} address constant. \hypertarget{group__ipv4_g189f4cbb8d0108e25d2b264b494311ba}{
\index{ipv4@{ipv4}!IPV4ADDR\_\-BROADCAST@{IPV4ADDR\_\-BROADCAST}}
\index{IPV4ADDR\_\-BROADCAST@{IPV4ADDR\_\-BROADCAST}!ipv4@{ipv4}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf ipv4addr} {\bf IPV4ADDR\_\-BROADCAST}}}
\label{group__ipv4_g189f4cbb8d0108e25d2b264b494311ba}


IPv4 broadcast address constant. \hypertarget{group__ipv4_ga8e14bddb429c1dcd44dcdbfca7c6f7f}{
\index{ipv4@{ipv4}!IPV4ADDR\_\-LOOPBACK@{IPV4ADDR\_\-LOOPBACK}}
\index{IPV4ADDR\_\-LOOPBACK@{IPV4ADDR\_\-LOOPBACK}!ipv4@{ipv4}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf ipv4addr} {\bf IPV4ADDR\_\-LOOPBACK}}}
\label{group__ipv4_ga8e14bddb429c1dcd44dcdbfca7c6f7f}


IPv4 loopback address constant. 