# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# KSocketAddress Class Reference

A socket address. a socket address. More...

`#include <ksockaddr.h>`

Inheritance diagram for KSocketAddress:

[legend]
Collaboration diagram for KSocketAddress:

[legend]
List of all members.

## Public Member Functions

virtual | ~KSocketAddress ()
| Destructor.
virtual QString | pretty () const
| Returns a string representation of this socket.
const sockaddr * | address () const
| Returns a sockaddr structure, for passing down to library functions.
virtual ksocklen_t | size () const
| Returns sockaddr structure size.
| operator const sockaddr * () const
| Returns a sockaddr structure, for passing down to library functions.
int | family () const
| Returns the family of this address.
int | ianaFamily () const
| Returns the IANA family number of this address.
virtual bool | isEqual (const KSocketAddress &other) const
| Returns true if this equals the other socket.
bool | isEqual (const KSocketAddress *other) const
bool | operator== (const KSocketAddress &other) const
| Overloaded == operator.
bool | isCoreEqual (const KSocketAddress &other) const
| Some sockets may differ in such things as services or port numbers, like Internet sockets.
bool | isCoreEqual (const KSocketAddress *other) const
| Some sockets may differ in such things as services or port numbers, like Internet sockets.
virtual QString | nodeName () const
| Returns the node name of this socket, as KExtendedSocket::lookup expects as the first argument.
virtual QString | serviceName () const
| Returns the service name for this socket, as KExtendedSocket::lookup expects as the service argument.

## Static Public Member Functions

KSocketAddress * | newAddress (const struct sockaddr *, ksocklen_t size)
| Creates a new KSocketAddress or descendant class from given raw socket address.
int | ianaFamily (int af)
| Returns the IANA family number of the given address family.
int | fromIanaFamily (int iana)
| Returns the address family of the given IANA family number.

## Protected Member Functions

| KSocketAddress ()
| Creates an empty class.
| KSocketAddress (const sockaddr *sa, ksocklen_t size)
| Creates with given data.
virtual void | virtual_hook (int id, void *data)

## Protected Attributes

sockaddr * | data
ksocklen_t | datasize
bool | owndata

## Friends

class | KExtendedSocket

## Detailed Description

A socket address. a socket address.

This class envelopes almost if not all socket addresses.

Author:
  Thiago Macieira <thiagom@mail.com>

Version:
  Id
    ksockaddr.h,v 1.15 2002/09/09 21:11:35 tjansen Exp

Definition at line 48 of file ksockaddr.h.

## Constructor & Destructor Documentation

KSocketAddress::KSocketAddress | ( |  | ) | `[inline, protected]`

| Creates an empty class. Definition at line 55 of file ksockaddr.h. Referenced by newAddress().

KSocketAddress::KSocketAddress | ( | const sockaddr * | sa,
|  | ksocklen_t | size
| ) | `[protected]`

Creates with given data.

Parameters:

  sa | a sockaddr structure
  size | the size of `sa`

Definition at line 83 of file ksockaddr.cpp.

KSocketAddress::~KSocketAddress | ( |  | ) | `[virtual]`

| Destructor. Definition at line 104 of file ksockaddr.cpp.

## Member Function Documentation

QString KSocketAddress::pretty | ( |  | ) | const`[virtual]`

Returns a string representation of this socket.

Returns:
  a pretty string representation

Reimplemented in KInetSocketAddress, and KUnixSocketAddress.

Definition at line 110 of file ksockaddr.cpp.

const sockaddr* KSocketAddress::address | ( |  | ) | const`[inline]`

Returns a sockaddr structure, for passing down to library functions.

Returns:
  the sockaddr structure, can be 0

Reimplemented in KUnixSocketAddress.

Definition at line 80 of file ksockaddr.h.

Referenced by KInetSocketAddress::areEqualInet(), KInetSocketAddress::areEqualInet6(), KUnixSocketAddress::areEqualUnix(), and KServerSocket::port().

virtual ksocklen_t KSocketAddress::size | ( |  | ) | const`[inline, virtual]`

Returns sockaddr structure size.

Returns:
  the size of the sockaddr structre, 0 if there is none.

Reimplemented in KInetSocketAddress.

Definition at line 87 of file ksockaddr.h.

Referenced by KInetSocketAddress::areEqualInet(), KInetSocketAddress::areEqualInet6(), KUnixSocketAddress::areEqualUnix(), KUnixSocketAddress::KUnixSocketAddress(), and KAddressInfo::length().

KSocketAddress::operator const sockaddr * | ( |  | ) | const`[inline]`

Returns a sockaddr structure, for passing down to library functions.

Returns:
  the sockaddr structure, can be 0.

See also:
  address()

Definition at line 95 of file ksockaddr.h.

int KSocketAddress::family | ( |  | ) | const

Returns the family of this address.

Returns:
  the family of this address, AF_UNSPEC if it's undefined

Definition at line 115 of file ksockaddr.cpp.

Referenced by KInetSocketAddress::areEqualInet(), KInetSocketAddress::areEqualInet6(), KUnixSocketAddress::areEqualUnix(), ianaFamily(), isCoreEqual(), isEqual(), KInetSocketAddress::KInetSocketAddress(), and KInetSocketAddress::setAddress().

int KSocketAddress::ianaFamily | ( |  | ) | const`[inline]`

Returns the IANA family number of this address.

Returns:
  the IANA family number of this address (1 for AF_INET. 2 for AF_INET6, otherwise 0)

Definition at line 109 of file ksockaddr.h.

References family().

bool KSocketAddress::isEqual | ( | const KSocketAddress & | other | ) | const`[virtual]`

Returns true if this equals the other socket.

Parameters:

  other | the other socket

Returns:
  true if both sockets are equal

Definition at line 159 of file ksockaddr.cpp.

References KInetSocketAddress::areEqualInet(), KInetSocketAddress::areEqualInet6(), KUnixSocketAddress::areEqualUnix(), data, datasize, and family().

Referenced by operator==().

bool KSocketAddress::operator== | ( | const KSocketAddress & | other | ) | const`[inline]`

Overloaded == operator.

See also:
  isEqual()

Definition at line 125 of file ksockaddr.h.

References isEqual().

bool KSocketAddress::isCoreEqual | ( | const KSocketAddress & | other | ) | const

Some sockets may differ in such things as services or port numbers, like Internet sockets.

This function compares only the core part of that, if possible.

If not possible, like the default implementation, this returns the same as isEqual.

Parameters:

  other | the other socket

Returns:
  true if the code part is equal

Definition at line 179 of file ksockaddr.cpp.

References KInetSocketAddress::areEqualInet(), KInetSocketAddress::areEqualInet6(), KUnixSocketAddress::areEqualUnix(), and family().

Referenced by isCoreEqual().

bool KSocketAddress::isCoreEqual | ( | const KSocketAddress * | other | ) | const`[inline]`

Some sockets may differ in such things as services or port numbers, like Internet sockets.

This function compares only the core part of that, if possible.

If not possible, like the default implementation, this returns the same as isEqual.

Parameters:

  other | the other socket

Returns:
  true if the code part is equal

Definition at line 150 of file ksockaddr.h.

References isCoreEqual().

QString KSocketAddress::nodeName | ( |  | ) | const`[virtual]`

Returns the node name of this socket, as KExtendedSocket::lookup expects as the first argument.

In the case of Internet sockets, this is the hostname. The default implementation returns QString::null.

Returns:
  the node name, can be QString::null

Reimplemented in KInetSocketAddress.

Definition at line 196 of file ksockaddr.cpp.

QString KSocketAddress::serviceName | ( |  | ) | const`[virtual]`

Returns the service name for this socket, as KExtendedSocket::lookup expects as the service argument.

In the case of Internet sockets, this is the port number. The default implementation returns QString::null.

Returns:
  the service name, can be QString::null

Reimplemented in KInetSocketAddress, and KUnixSocketAddress.

Definition at line 201 of file ksockaddr.cpp.

KSocketAddress * KSocketAddress::newAddress | ( | const struct sockaddr * | ,
|  | ksocklen_t | size
| ) | `[static]`

Creates a new KSocketAddress or descendant class from given raw socket address.

Parameters:

  sa | new socket address
  size | new socket address's length

Returns:
  the new KSocketAddress, or 0 if the function failed

Definition at line 123 of file ksockaddr.cpp.

References KSocketAddress().

Referenced by KExtendedSocket::localAddress(), and KExtendedSocket::peerAddress().

int KSocketAddress::ianaFamily | ( | int | af | ) | `[static]`

Returns the IANA family number of the given address family.

Returns 0 if there is no corresponding IANA family number.

Parameters:

  af | the address family, in AF_* constants

Returns:
  the IANA family number of this address (1 for AF_INET. 2 for AF_INET6, otherwise 0)

Definition at line 206 of file ksockaddr.cpp.

int KSocketAddress::fromIanaFamily | ( | int | iana | ) | `[static]`

Returns the address family of the given IANA family number.

Returns:
  the address family, AF_UNSPEC for unknown IANA family numbers

Definition at line 221 of file ksockaddr.cpp.

The documentation for this class was generated from the following files:

- ksockaddr.h
- ksockaddr.cpp

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 12:51:36 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001