Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

inetaddress(3bobcat) [v7 man page]

FBB::InetAddress(3bobcat)					Network Byte Order					 FBB::InetAddress(3bobcat)

NAME
FBB::InetAddress - Converting between host byte order and network byte order SYNOPSIS
#include <bobcat/inetaddress> Linking option: -lbobcat DESCRIPTION
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, host byte order was designed. Objects of the class FBB::InetAddress may be used to convert between network byte order and host byte order (and vice versa). The class only has a few public members. Most members are protected, and FBB::InetAddress 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 FBB::InetAddress, which is primar- ily a support class for the FBB socket-classes. Internally, all data are stored in network byte order. As the class' constructors depend on the proper functioning of members of the FBB:GetHostent class, the class' objects can only be con- structed when the host whose name or address is searched can be resolved by a name resolution process, e.g., bind(1). Objects of the class FBB::InetAddress store address information about a host in a struct sockaddr_in data member. A struct sockaddr_in is the data type used to represent socket addresses in the Internet namespace. It has the following members: o sa_family_t sin_family: This identifies the address family or format of the socket address. It holds the value AF_INET. o struct in_addr sin_addr: This is the Internet address of the host machine stored as a binary value. o size_t short int sin_port: This field holds the port number. NAMESPACE
FBB All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace FBB. INHERITS FROM
- PROTECTED CONSTRUCTORS
o InetAddress(std::string const &host, uint16_t port): 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 FBB::Errno exception is thrown if the address could not be determined. o InetAddress(uint16_t port): This constructor constructs the `generic' address information that is used when constructing, e.g. server sockets. o InetAddress(sockaddr_in const &address): This constructor constructs an FBB::InetAddress object from an initialized sockaddr_in object. It is primarily used to promote a sockaddr_in to an FBB::InetAddresss. The (public) copy constructor is available. MEMBER FUNCTIONS
o uint16_t port() const: Accessor returning the object's port value. o std::string dottedDecimalAddress() const: Accessor returning the object's Internet address as a dotted decimal string. If the address could not be determined, an FBB::Errno object is thrown. o size_t size() const: Accessor returning the size of the object's sockaddr_in (address) information. o sockaddr const *sockaddrPtr() const: Accessor returning the pointer to the object's sockaddr data member. o sockaddr_in const *sockaddr_inPtr() const: Accessor returning the pointer to the object's sockaddr_in data member. PROTECTED MEMBER FUNCTIONS
o sockaddr *sockaddrPtr(): This member returns the object's address information as a pointer to a modifiable struct sockaddr. This allows (contrary to the pub- lic member having the same name) derived objects to manipulate the object's address information directly. o sockaddr_in *sockaddr_inPtr(): This member returns the object's address information as a pointer to a modifiable struct sockaddr_in. This allows (contrary to the public member having the same name) derived objects to manipulate the object's address information directly. EXAMPLE
#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; } FILES
bobcat/inetaddress - defines the class interface SEE ALSO
bind(1), bobcat(7), gethostent(3bobcat), socketbase(3bobcat) BUGS
None Reported. DISTRIBUTION FILES
o bobcat_3.01.00-x.dsc: detached signature; o bobcat_3.01.00-x.tar.gz: source archive; o bobcat_3.01.00-x_i386.changes: change log; o libbobcat1_3.01.00-x_*.deb: debian package holding the libraries; o libbobcat1-dev_3.01.00-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). libbobcat1-dev_3.01.00-x.tar.gz 2005-2012 FBB::InetAddress(3bobcat)
Man Page