Provided by: libbobcat-dev_3.19.01-1ubuntu1_amd64 bug

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.  However,  the  default-  and copy-constructors are
       available.

STATIC MEMBERS

       o      hostent   const   *gethostent(char   const    *errorprefix,    std::string    const
              &nameOrAddress):
              The  gethostent()  member returns a pointer to a static struct hostent. It contains
              the information about the host whose name or dotted decimal address was provided as
              its  second  argument.  Its first argument is an error string prefix, prefixing the
              error message in an FBB::Exception object. Such an object is thrown as an exception
              when the host’s information could not be retrieved.

       o      std::string addressToString(char const *errorprefix, void const *ads):
              This  member returns the dotted decimal address of the host whose binary address is
              provided at ads. Its first argument is an error string prefix, prefixing the  error
              message  in an FBB::Exception object. Such an object is thrown as an exception when
              the dotted decimal address could not be determined.

              The class’ members can only be used when the host whose name or address is searched
              can be resolved by a name resolution process, e.g., bind(1).

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)
           {
               if (argc == 1)
               {
                   cerr << "Provide a host name or host address to solve\n";
                   return 1;
               }

               try
               {
                   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;
               }
               return 0;
           }

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.

DISTRIBUTION FILES

       o      bobcat_3.19.01-x.dsc: detached signature;

       o      bobcat_3.19.01-x.tar.gz: source archive;

       o      bobcat_3.19.01-x_i386.changes: change log;

       o      libbobcat1_3.19.01-x_*.deb: debian package holding the libraries;

       o      libbobcat1-dev_3.19.01-x_*.deb: debian package holding the libraries,  headers  and
              manual pages;

       o      http://sourceforge.net/projects/bobcat: public archive location;

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).