FBB::GetHostent(3bobcat)
Host information
(libbobcat-dev_6.04.00)
2005-2023
NAME
FBB::GetHostent - Obtain hostent struct from hostname or -address
SYNOPSIS
#include <bobcat/gethostent>
Linking option: -lbobcat
DESCRIPTION
FBB::GetHostent objects produce hostent structs which may
be used by other types of objects. The FBB::GetHostent class is therefore
primarily used as a base-class for other classes and is seldomly used
`stand-alone'. The hostent structs are static structs, but a
non-static copy may be obtained using an FBB::Hostent object.
A hostent struct is defined as follows:
struct hostent
{
char *h_name; // official name of host
char **h_aliases; // alias list
int h_addrtype; // host address type (always AF_INET)
int h_length; // length of address
char **h_addr_list; // list of addresses
}
The address fields are binary values of the addresses, each address
requiring h_length bytes, the last address being equal to 0. These binary
values may be converted to character-representations by the
addressToString() member, which uses inet_ntop(), internally.
NAMESPACE
FBB
All constructors, members, operators and manipulators, mentioned in this
man-page, are defined in the namespace FBB.
INHERITS FROM
-
CONSTRUCTORS
All members of the class FBB::GetHostent are static. Consequently,
there is no need to construct a FBB::GetHostent object.
STATIC MEMBERS
EXAMPLE
#include <iostream>
#include <algorithm>
#include <iterator>
#include <bobcat/hostent>
#include <bobcat/gethostent>
using namespace std;
using namespace FBB;
int main(int argc, char **argv)
try
{
if (argc == 1)
{
cerr << "Provide a host name or host address to solve\n";
return 1;
}
Hostent he(GetHostent::gethostent(argv[1], argv[1]));
cout << "Hostname: " << he.hostname() << endl;
cout << "Aliases:\n";
copy(he.beginAlias(), he.endAlias(),
ostream_iterator<char const *>(cout, "\n"));
cout << "Addresses:\n";
for (size_t idx = 0; idx < he.nAddresses(); idx++)
cout << he.dottedDecimalAddress(idx) << endl;
}
catch (Exception const &err)
{
cout << err.what() << endl;
return 1;
}
FILES
bobcat/gethostent - defines the class interface
SEE ALSO
bind(1),
bobcat(7),
gethostbyaddr(3)
gethostbyname(3),
hostent(3bobcat),
inetaddress(3bobcat),
inet_ntop(3)
BUGS
None Reported.
BOBCAT PROJECT FILES
- https://fbb-git.gitlab.io/bobcat/: gitlab project page;
- bobcat_6.04.00-x.dsc: detached signature;
- bobcat_6.04.00-x.tar.gz: source archive;
- bobcat_6.04.00-x_i386.changes: change log;
- libbobcat1_6.04.00-x_*.deb: debian package containing the
libraries;
- libbobcat1-dev_6.04.00-x_*.deb: debian package containing the
libraries, headers and manual pages;
BOBCAT
Bobcat is an acronym of `Brokken's Own Base Classes And Templates'.
COPYRIGHT
This is free software, distributed under the terms of the
GNU General Public License (GPL).
AUTHOR
Frank B. Brokken (f.b.brokken@rug.nl).