/usr/share/doc/libbobcat3/man/inetaddress.3.html is in libbobcat-dev 3.23.01-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | <html><head>
<title>FBB::InetAddress</title>
<link rev="made" href="mailto:Frank B. Brokken: f.b.brokken@rug.nl">
</head>
<body text="#27408B" bgcolor="#FFFAF0">
<hr>
<h1>FBB::InetAddress</h1>
<h2>libbobcat-dev_3.23.01-x.tar.gz</h2>
<h2>2005-2014</h2>
<html><head>
<link rev="made" href="mailto:Frank B. Brokken: f.b.brokken@rug.nl">
</head>
<body text="#27408B" bgcolor="#FFFAF0">
<hr>
<h1></h1>
<html><head>
<title>FBB::InetAddress(3bobcat)</title>
<link rev="made" href="mailto:Frank B. Brokken: f.b.brokken@rug.nl">
</head>
<body text="#27408B" bgcolor="#FFFAF0">
<hr>
<h1>FBB::InetAddress(3bobcat)</h1>
<h2>libbobcat-dev_3.23.01-x.tar.gz Network Byte Order</h2>
<h2>2005-2014</h2>
<p>
<h2>NAME</h2>FBB::InetAddress - Converting between host byte order and network byte order
<p>
<h2>SYNOPSIS</h2>
<strong>#include <bobcat/inetaddress></strong><br>
Linking option: <em>-lbobcat</em>
<p>
<h2>DESCRIPTION</h2>
Computers differ their word-byte order, called `endianness'. A
little-endian computer has its least significant byte at the byte having the
lower address of a two-byte value, whereas a big-endian computer has its least
significant byte at at the byte having the higher address of a two-byte
value. In order to allow these computers to communicate over over Internet,
<em>host byte order</em> was designed. Objects of the class <strong>FBB::InetAddress</strong>
may be used to convert between network byte order and host byte order (and
vice versa).
<p>
The class only has a few public members. Most members are protected, and
<strong>FBB::InetAddress</strong> is therefore primarily used as a base class from which
other classes are derived. In practice there will be little need to construct
objects of the class <strong>FBB::InetAddress</strong>, which is primarily a support class
for the <strong>FBB</strong> socket-classes.
<p>
Internally, all data are stored in network byte order.
<p>
As the class' constructors depend on the proper functioning of members of
the <strong>FBB:GetHostent</strong> class, the class' objects can only be constructed when
the host whose name or address is searched can be resolved by a name
resolution process, e.g., <strong>bind</strong>(1).
<p>
Objects of the class <strong>FBB::InetAddress</strong> store address information about
a host in a <strong>struct sockaddr_in</strong> data member. A <strong>struct sockaddr_in</strong> is
the data type used to represent socket addresses in the Internet namespace.
It has the following members:
<ul>
<li> <strong>sa_family_t sin_family</strong>:<br>
This identifies the address family or format of the socket
address. It holds the value <strong>AF_INET</strong>.
<li> <strong>struct in_addr sin_addr</strong>:<br>
This is the Internet address of the host machine stored as a binary
value.
<li> <strong>size_t short int sin_port</strong>:<br>
This field holds the port number.
</ul>
<p>
<h2>NAMESPACE</h2>
<strong>FBB</strong><br>
All constructors, members, operators and manipulators, mentioned in this
man-page, are defined in the namespace <strong>FBB</strong>.
<p>
<h2>INHERITS FROM</h2>
-
<p>
<h2>PROTECTED CONSTRUCTORS</h2>
<ul>
<li> <strong>InetAddress(std::string const &host, uint16_t port)</strong>:<br>
This constructor expects a host name or dotted decimal address and
and an (size_t) port number, and determines the host's address
information. An <strong>FBB::Exception</strong> exception is thrown if the address could not be
determined.
<li> <strong>InetAddress(uint16_t port)</strong>:<br>
This constructor constructs the `generic' address information that is
used when constructing, e.g. server sockets.
<li> <strong>InetAddress(sockaddr_in const &address)</strong>:<br>
This constructor constructs an <strong>FBB::InetAddress</strong> object from an
initialized <strong>sockaddr_in</strong> object. It is primarily used to promote a
<strong>sockaddr_in</strong> to an <strong>FBB::InetAddresss</strong>.
</ul>
<p>
The (public) copy constructor is available.
<p>
<h2>MEMBER FUNCTIONS</h2>
<ul>
<li> <strong>uint16_t port() const</strong>:<br>
Accessor returning the object's port value.
<li> <strong>std::string dottedDecimalAddress() const</strong>:<br>
Accessor returning the object's Internet address as a dotted decimal
string. If the address could not be determined, an <strong>FBB::Exception</strong> object is
thrown.
<li> <strong>size_t size() const</strong>:<br>
Accessor returning the size of the object's <strong>sockaddr_in</strong> (address)
information.
<li> <strong>sockaddr const *sockaddrPtr() const</strong>:<br>
Accessor returning the pointer to the object's <strong>sockaddr</strong> data
member.
<li> <strong>sockaddr_in const *sockaddr_inPtr() const</strong>:<br>
Accessor returning the pointer to the object's <strong>sockaddr_in</strong> data
member.
</ul>
<p>
<h2>PROTECTED MEMBER FUNCTIONS</h2>
<ul>
<li> <strong>sockaddr *sockaddrPtr()</strong>:<br>
This member returns the object's address information as a pointer to a
modifiable <strong>struct sockaddr</strong>. This allows (contrary to the public member
having the same name) derived objects to manipulate the object's address
information directly.
<li> <strong>sockaddr_in *sockaddr_inPtr()</strong>:<br>
This member returns the object's address information as a pointer to a
modifiable <strong>struct sockaddr_in</strong>. This allows (contrary to the public member
having the same name) derived objects to manipulate the object's address
information directly.
</ul>
<p>
<h2>EXAMPLE</h2>
<pre>
#include <iostream>
#include <bobcat/inetaddress>
#include <bobcat/errno>
using namespace std;
using namespace FBB;
InetAddress X()
{
class A: public InetAddress
{
public:
A(uint16_t port)
:
InetAddress(port)
{}
};
return A(2000);
}
int main(int argc, char **argv)
try
{
InetAddress const &ia = X();
cout << "A InetAddress was constructed for port " << ia.port() <<
endl;
cout << "It has the generic `ANY' address: " <<
ia.dottedDecimalAddress() << endl;
return 0;
}
catch (Errno const &e)
{
cout << "Exception: " << e.why() << endl;
}
</pre>
<p>
<h2>FILES</h2>
<em>bobcat/inetaddress</em> - defines the class interface
<p>
<h2>SEE ALSO</h2>
<strong>bind</strong>(1), <strong>bobcat</strong>(7), <strong>gethostent</strong>(3bobcat),
<strong>socketbase</strong>(3bobcat)
<p>
<h2>BUGS</h2>
None Reported.
<p>
<h2>DISTRIBUTION FILES</h2>
<ul>
<li> <em>bobcat_3.23.01-x.dsc</em>: detached signature;
<li> <em>bobcat_3.23.01-x.tar.gz</em>: source archive;
<li> <em>bobcat_3.23.01-x_i386.changes</em>: change log;
<li> <em>libbobcat1_3.23.01-x_*.deb</em>: debian package holding the
libraries;
<li> <em>libbobcat1-dev_3.23.01-x_*.deb</em>: debian package holding the
libraries, headers and manual pages;
<li> <em>http://sourceforge.net/projects/bobcat</em>: public archive location;
</ul>
<p>
<h2>BOBCAT</h2>
Bobcat is an acronym of `Brokken's Own Base Classes And Templates'.
<p>
<h2>COPYRIGHT</h2>
This is free software, distributed under the terms of the
GNU General Public License (GPL).
<p>
<h2>AUTHOR</h2>
Frank B. Brokken (<strong>f.b.brokken@rug.nl</strong>).
<p>
|