---
name: "hostname"
section: "3bobcat"
platform: "linux"
package: "libbobcat-dev"
version: "6.07.01-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/hostname/3bobcat"
---

# hostname(3bobcat)

Contains name/address info about a host

## NAME

FBB::Hostname - Contains name/address info about a host

## SYNOPSIS

**#include \<bobcat/hostname\>**\
 Linking option: *-lbobcat*

## DESCRIPTION

**FBB::Hostname** objects inherit from *Hostent*, and offers information about a host, like **Hostent**. Apart from being initialized by a hostname or host address, they can also be initialized by a **FBB::InetAddress** object. Most of the functionality of an **FBB::Hostname** object is available through its parent-class **FBB::Hostent**.

## NAMESPACE

**FBB**\
 All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace **FBB**.

## INHERITS FROM

**FBB::Hostent**

## CONSTRUCTORS

- o

  **Hostname()**:\
   The default constructor initializes an empty **FBB::Hostname** object.

- o

  **Hostname((std::string const &host))**:\
   This constructor initializes an **FBB::Hostname** object from a string representing the name or dotted decimal address of a host. An **FBB::Exception** object is thrown if the hostname information could not be retrieved.

- o

  **Hostname(InetAddress const &inetAddress)**:\
   This constructor initializes an **FBB::Hostname** object from an **InetAddress** object. An **FBB::Exception** object is thrown if the hostname information could not be retrieved.

Copy and move constructors (and assignment operators) are available.

## MEMBER FUNCTIONS

All members of **FBB::Hostent** are available, as **FBB::Hostname** inherits from this class. There are no additional members.

## EXAMPLE

```
#include <iostream>
#include <bobcat/hostname>
#include <bobcat/exception>
using namespace std;
using namespace FBB;
int main(int argc, char **argv)
{
    while (true)
    {
        cout << "Enter name or address:\n";
        string str;
        if (!getline(cin, str))
            return 0;
        if (str == "")
            break;
        try
        {
            Hostname h(str);
            cout << "Official name:\n";
                cout << h.hostname() << endl;
            cout << "Aliases:\n";
            for (size_t idx = 0; idx < h.nAliases(); idx++)
                cout << h.alias(idx) << " ";
            cout << endl;
            cout << "Adresses:\n";
            for (size_t idx = 0; idx < h.nAddresses(); idx++)
                cout << h.dottedDecimalAddress(idx) << " ";
            cout << endl;
        }
        catch (exception const &err)
        {
            cout << err.what() << endl;
        }
    }
}
```

## FILES

*bobcat/hostname* - defines the class interface

## SEE ALSO

[**bobcat**(7)](/bobcat/7.md), [**hostent**(3bobcat)](/hostent/3bobcat.md)

## BUGS

None Reported.

## BOBCAT PROJECT FILES

- o

  *https://fbb-git.gitlab.io/bobcat/*: gitlab project page;

Debian Bobcat project files:

- o

  *libbobcat6*: debian package containing the shared library, changelog and copyright note;

- o

  *libbobcat-dev*: debian package containing the static library, headers, manual pages, and developer info;

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