\section{address.h File Reference} \label{address_8h}\index{address.h@{address.h}} Network addresses and sockets related classes. {\tt \#include $<$cc++/config.h$>$}\par {\tt \#include $<$cc++/missing.h$>$}\par {\tt \#include $<$cc++/thread.h$>$}\par {\tt \#include $<$cc++/exception.h$>$}\par \subsection*{Namespaces} \begin{CompactItemize} \item namespace {\bf ost} \end{CompactItemize} \subsection*{Classes} \begin{CompactItemize} \item class {\bf ost::IPV4Validator} \begin{CompactList}\small\item\em Classes derived from {\bf IPV4Address}{\rm (p.\,\pageref{classost_1_1_i_p_v4_address})} would require an specific validator to pass to the {\bf IPV4Address}{\rm (p.\,\pageref{classost_1_1_i_p_v4_address})} constructor.Abstract base class for derived inet addresses validators. \item\end{CompactList}\item class {\bf ost::IPV4Multicast\-Validator} \begin{CompactList}\small\item\em Class for the function object that validates multicast addresses.Validating class specialized for multicast addresses. \item\end{CompactList}\item class {\bf ost::IPV4Address} \begin{CompactList}\small\item\em The network name and address objects are all derived from a common {\bf IPV4Address}{\rm (p.\,\pageref{classost_1_1_i_p_v4_address})} base class.Internet Address binary data type. \item\end{CompactList}\item class {\bf ost::IPV4Mask} \begin{CompactList}\small\item\em Internet addresses used specifically as masking addresses (such as \char`\"{} 255.255.255.0\char`\"{}) are held in the {\bf IPV4Mask}{\rm (p.\,\pageref{classost_1_1_i_p_v4_mask})} derived object.Internet Address Mask such as subnet masks. \item\end{CompactList}\item class {\bf ost::IPV4Host} \begin{CompactList}\small\item\em This object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket.Address of a specific Internet host machine. \item\end{CompactList}\item class {\bf ost::IPV4Broadcast} \begin{CompactList}\small\item\em The broadcast address object is used to store the broadcast address for a specific subnet. \item\end{CompactList}\item class {\bf ost::IPV4Multicast} \begin{CompactList}\small\item\em A specialization of {\bf IPV4Address}{\rm (p.\,\pageref{classost_1_1_i_p_v4_address})} that provides address validation for multicast addresses.A multicast network address. \item\end{CompactList}\item class {\bf ost::IPV6Validator} \begin{CompactList}\small\item\em Classes derived from {\bf IPV6Address}{\rm (p.\,\pageref{classost_1_1_i_p_v6_address})} would require an specific validator to pass to the {\bf IPV6Address}{\rm (p.\,\pageref{classost_1_1_i_p_v6_address})} constructor.Abstract base class for derived inet addresses validators. \item\end{CompactList}\item class {\bf ost::IPV6Multicast\-Validator} \begin{CompactList}\small\item\em Class for the function object that validates multicast addresses.Validating class specialized for multicast addresses. \item\end{CompactList}\item class {\bf ost::IPV6Address} \begin{CompactList}\small\item\em The network name and address objects are all derived from a common {\bf IPV6Address}{\rm (p.\,\pageref{classost_1_1_i_p_v6_address})} base class.Internet Address binary data type. \item\end{CompactList}\item class {\bf ost::IPV6Mask} \begin{CompactList}\small\item\em Internet addresses used specifically as masking addresses (such as \char`\"{} 255.255.255.0\char`\"{}) are held in the {\bf IPV6Mask}{\rm (p.\,\pageref{classost_1_1_i_p_v6_mask})} derived object.Internet Address Mask such as subnet masks. \item\end{CompactList}\item class {\bf ost::IPV6Host} \begin{CompactList}\small\item\em This object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket.Address of a specific Internet host machine. \item\end{CompactList}\item class {\bf ost::IPV6Broadcast} \begin{CompactList}\small\item\em The broadcast address object is used to store the broadcast address for a specific subnet. \item\end{CompactList}\item class {\bf ost::IPV6Multicast} \begin{CompactList}\small\item\em A specialization of {\bf IPV6Address}{\rm (p.\,\pageref{classost_1_1_i_p_v6_address})} that provides address validation for multicast addresses.A multicast network address. \item\end{CompactList}\end{CompactItemize} \subsection*{Defines} \begin{CompactItemize} \item \#define {\bf Inet\-Address}~IPV4Address \item \#define {\bf Inet\-Host\-Address}~{\bf IPV4Host} \item \#define {\bf Inet\-Mask\-Address}~IPV4Mask \item \#define {\bf Inet\-Mcast\-Address}~IPV4Multicast \item \#define {\bf Inet\-Mcast\-Address\-Validator}~IPV4Multicast\-Validator \item \#define {\bf Inet\-Addr\-Validator}~IPV4Validator \item \#define {\bf Broadcast\-Address}~IPV4Broadcast \end{CompactItemize} \subsection*{Typedefs} \begin{CompactItemize} \item typedef unsigned short {\bf ost::tpport\_\-t} \begin{CompactList}\small\item\em Transport Protocol Ports. \item\end{CompactList}\end{CompactItemize} \subsection*{Functions} \begin{CompactItemize} \item \_\-\_\-EXPORT std::ostream \& {\bf ost::operator$<$$<$} (std::ostream \&os, const IPV4Address \&ia) \item in\_\-addr {\bf ost::getaddress} (const IPV4Address \&ia) \item \_\-\_\-EXPORT std::ostream \& {\bf ost::operator$<$$<$} (std::ostream \&os, const IPV6Address \&ia) \item in6\_\-addr {\bf ost::getaddress} (const IPV6Address \&ia) \end{CompactItemize} \subsection*{Variables} \begin{CompactItemize} \item \_\-\_\-EXPORT {\bf ost::IPV4Host} \item \_\-\_\-EXPORT {\bf ost::IPV6Host} \end{CompactItemize} \subsection{Detailed Description} Network addresses and sockets related classes. \subsection{Define Documentation} \index{address.h@{address.h}!BroadcastAddress@{BroadcastAddress}} \index{BroadcastAddress@{BroadcastAddress}!address.h@{address.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define Broadcast\-Address~IPV4Broadcast}\label{address_8h_9dc0c24e79c7b6f5768fe61548395273} \begin{Desc} \item[Examples: ]\par {\bf tcpthread.cpp}.\end{Desc} \index{address.h@{address.h}!InetAddress@{InetAddress}} \index{InetAddress@{InetAddress}!address.h@{address.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define Inet\-Address~IPV4Address}\label{address_8h_029ebb5b43bb13b02c02f4de0a8f3c08} \begin{Desc} \item[Examples: ]\par {\bf tcp.cpp}, {\bf tcpstr1.cpp}, and {\bf tcpthread.cpp}.\end{Desc} \index{address.h@{address.h}!InetAddrValidator@{InetAddrValidator}} \index{InetAddrValidator@{InetAddrValidator}!address.h@{address.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define Inet\-Addr\-Validator~IPV4Validator}\label{address_8h_d4c483e6c7e2ae177b22e72f690cda72} \index{address.h@{address.h}!InetHostAddress@{InetHostAddress}} \index{InetHostAddress@{InetHostAddress}!address.h@{address.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define Inet\-Host\-Address~{\bf IPV4Host}}\label{address_8h_5eba36aa908d5a479c8ba7d0bc4512b1} \begin{Desc} \item[Examples: ]\par {\bf Sample\-Socket\-Port.cpp}, {\bf tcp.cpp}, {\bf tcpservice.cpp}, and {\bf tcpthread.cpp}.\end{Desc} \index{address.h@{address.h}!InetMaskAddress@{InetMaskAddress}} \index{InetMaskAddress@{InetMaskAddress}!address.h@{address.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define Inet\-Mask\-Address~IPV4Mask}\label{address_8h_217ddf13140d751663d287da38799aff} \index{address.h@{address.h}!InetMcastAddress@{InetMcastAddress}} \index{InetMcastAddress@{InetMcastAddress}!address.h@{address.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define Inet\-Mcast\-Address~IPV4Multicast}\label{address_8h_2bcb722163ed02e2d0d3621dd3f82da4} \index{address.h@{address.h}!InetMcastAddressValidator@{InetMcastAddressValidator}} \index{InetMcastAddressValidator@{InetMcastAddressValidator}!address.h@{address.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define Inet\-Mcast\-Address\-Validator~IPV4Multicast\-Validator}\label{address_8h_bcc76a9e9ae0be634631b4755ee6d0fc}