This file is indexed.

/usr/share/doc/libbobcat4-dev/man/inetaddress.3.html is in libbobcat-dev 4.08.02-2build1.

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
<!DOCTYPE html><html><head>
<meta charset="UTF-8">
<title>FBB::InetAddress(3bobcat)</title>
<style type="text/css">
    figure {text-align: center;}
    img {vertical-align: center;}
    .XXfc {margin-left:auto;margin-right:auto;}
    .XXtc {text-align: center;}
    .XXtl {text-align: left;}
    .XXtr {text-align: right;}
    .XXvt {vertical-align: top;}
    .XXvb {vertical-align: bottom;}
</style>
<link rev="made" href="mailto:Frank B. Brokken: f.b.brokken@rug.nl">
</head>
<body text="#27408B" bgcolor="#FFFAF0">
<hr/>
<h1 id="title">FBB::InetAddress(3bobcat)</h1>
<h2 id="author">Network Byte Order<br/>(libbobcat-dev_4.08.02-x.tar.gz)</h2>
<h2 id="date">2005-2017</h2>


<p>
<h2 >NAME</h2>FBB::InetAddress - Converting between host byte order and network byte order
<p>
<h2 >SYNOPSIS</h2>
    <strong >#include &lt;bobcat/inetaddress&gt;</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 &amp;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 &amp;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 &lt;iostream&gt;

#include &lt;bobcat/inetaddress&gt;
#include &lt;bobcat/exception&gt;

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 &amp;ia = X();

    cout &lt;&lt; "A InetAddress was constructed for port " &lt;&lt; ia.port() &lt;&lt;
            endl;
    cout &lt;&lt; "It has the generic `ANY' address: " &lt;&lt; 
            ia.dottedDecimalAddress() &lt;&lt; endl;
}
catch (exception const &amp;e)
{
    cout &lt;&lt; "Exception: " &lt;&lt; e.what() &lt;&lt; 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_4.08.02-x.dsc</em>: detached signature;
    <li> <em >bobcat_4.08.02-x.tar.gz</em>: source archive;
    <li> <em >bobcat_4.08.02-x_i386.changes</em>: change log;
    <li> <em >libbobcat1_4.08.02-x_*.deb</em>: debian package holding the
            libraries;
    <li> <em >libbobcat1-dev_4.08.02-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>
</body>
</html>