Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

Internet Address Module
[Operating System Abstraction]

This module handles internet addresses. More...

Capabilities of this module

#define GWEN_INETADDR_CAPS_AF_TCP   0x00000001
#define GWEN_INETADDR_CAPS_AF_UNIX   0x00000002
GWENHYWFAR_API GWEN_TYPE_UINT32 GWEN_InetAddr_GetCapabilities ()

Error Codes

#define GWEN_INETADDR_ERROR_BAD_ADDRESS   2
#define GWEN_INETADDR_ERROR_BAD_ADDRESS_FAMILY   9
#define GWEN_INETADDR_ERROR_BUFFER_OVERFLOW   3
#define GWEN_INETADDR_ERROR_HOST_NOT_FOUND   4
#define GWEN_INETADDR_ERROR_MEMORY_FULL   1
#define GWEN_INETADDR_ERROR_NO_ADDRESS   5
#define GWEN_INETADDR_ERROR_NO_RECOVERY   6
#define GWEN_INETADDR_ERROR_TRY_AGAIN   7
#define GWEN_INETADDR_ERROR_TYPE   "InetAddr"
#define GWEN_INETADDR_ERROR_UNKNOWN_DNS_ERROR   8
#define GWEN_INETADDR_ERROR_UNSUPPORTED   10

Construction and destruction

These functions allocate and free administrative data about IP addresses.

GWENHYWFAR_API GWEN_INETADDRESSGWEN_InetAddr_dup (const GWEN_INETADDRESS *ia)
GWENHYWFAR_API void GWEN_InetAddr_free (GWEN_INETADDRESS *ia)
GWENHYWFAR_API GWEN_INETADDRESSGWEN_InetAddr_new (GWEN_AddressFamily af)

Get and set address

These functions allow getting and setting of IP addresses either by hostname or host address.

GWENHYWFAR_API GWEN_ERRORCODE GWEN_InetAddr_GetAddress (const GWEN_INETADDRESS *ia, char *buffer, unsigned int bsize)
GWENHYWFAR_API GWEN_ERRORCODE GWEN_InetAddr_GetName (const GWEN_INETADDRESS *ia, char *buffer, unsigned int bsize)
GWENHYWFAR_API GWEN_ERRORCODE GWEN_InetAddr_SetAddress (GWEN_INETADDRESS *ia, const char *addr)
GWENHYWFAR_API GWEN_ERRORCODE GWEN_InetAddr_SetName (GWEN_INETADDRESS *ia, const char *name)

Get and set port

These functions allow getting and setting of the port.

GWENHYWFAR_API int GWEN_InetAddr_GetPort (const GWEN_INETADDRESS *ia)
GWENHYWFAR_API GWEN_ERRORCODE GWEN_InetAddr_SetPort (GWEN_INETADDRESS *ia, int port)

Typedefs

typedef GWEN_INETADDRESSSTRUCT GWEN_INETADDRESS

Enumerations

enum  GWEN_AddressFamily { GWEN_AddressFamilyIP = 0, GWEN_AddressFamilyUnix }

Detailed Description

This module handles internet addresses.

This module allows using of internet IP addresses. It is also capable of resolving addresses and hostnames.

Author:
Martin Preuss<martin@libchipcard.de>

Define Documentation

#define GWEN_INETADDR_CAPS_AF_TCP   0x00000001
 

#define GWEN_INETADDR_CAPS_AF_UNIX   0x00000002
 

#define GWEN_INETADDR_ERROR_BAD_ADDRESS   2
 

#define GWEN_INETADDR_ERROR_BAD_ADDRESS_FAMILY   9
 

#define GWEN_INETADDR_ERROR_BUFFER_OVERFLOW   3
 

#define GWEN_INETADDR_ERROR_HOST_NOT_FOUND   4
 

#define GWEN_INETADDR_ERROR_MEMORY_FULL   1
 

#define GWEN_INETADDR_ERROR_NO_ADDRESS   5
 

#define GWEN_INETADDR_ERROR_NO_RECOVERY   6
 

#define GWEN_INETADDR_ERROR_TRY_AGAIN   7
 

#define GWEN_INETADDR_ERROR_TYPE   "InetAddr"
 

#define GWEN_INETADDR_ERROR_UNKNOWN_DNS_ERROR   8
 

#define GWEN_INETADDR_ERROR_UNSUPPORTED   10
 


Typedef Documentation

typedef struct GWEN_INETADDRESSSTRUCT GWEN_INETADDRESS
 

You shoukd treat this type as opaque. Its members are not part of the API, i.e. they are subject to changes without notice !


Enumeration Type Documentation

enum GWEN_AddressFamily
 

Address family (in most cases this is AddressFamilyIP)

Enumeration values:
GWEN_AddressFamilyIP  Internet Protocol (IP)
GWEN_AddressFamilyUnix 


Function Documentation

GWENHYWFAR_API GWEN_INETADDRESS* GWEN_InetAddr_dup const GWEN_INETADDRESS ia  ) 
 

GWENHYWFAR_API void GWEN_InetAddr_free GWEN_INETADDRESS ia  ) 
 

GWENHYWFAR_API GWEN_ERRORCODE GWEN_InetAddr_GetAddress const GWEN_INETADDRESS ia,
char *  buffer,
unsigned int  bsize
 

Gets the IP address stored in the INETADDRESS.

Returns:
error code
Parameters:
ia INETADDRESS to use
buffer pointer to a buffer to receive the address
bsize size of the buffer in bytes

GWENHYWFAR_API GWEN_TYPE_UINT32 GWEN_InetAddr_GetCapabilities  ) 
 

GWENHYWFAR_API GWEN_ERRORCODE GWEN_InetAddr_GetName const GWEN_INETADDRESS ia,
char *  buffer,
unsigned int  bsize
 

Gets the host name stored in the INETADDRESS. If there is none, then the IP address stored in the INETADDRESS will be used to resolve the hostname.

Returns:
error code
Parameters:
ia INETADDRESS to use
buffer pointer to a buffer to receive the name
bsize size of the buffer in bytes

GWENHYWFAR_API int GWEN_InetAddr_GetPort const GWEN_INETADDRESS ia  ) 
 

Return the port stored in the INETADDRESS

Parameters:
ia INETADDRESS to use

GWENHYWFAR_API GWEN_INETADDRESS* GWEN_InetAddr_new GWEN_AddressFamily  af  ) 
 

GWENHYWFAR_API GWEN_ERRORCODE GWEN_InetAddr_SetAddress GWEN_INETADDRESS ia,
const char *  addr
 

Sets the IP address.

Returns:
error code
Parameters:
ia INETADDRESS to manipulate
addr IP address in 3-dot-notation ("1.2.3.4")

GWENHYWFAR_API GWEN_ERRORCODE GWEN_InetAddr_SetName GWEN_INETADDRESS ia,
const char *  name
 

Sets the IP name and resolves its address.

Returns:
error code
Parameters:
ia INETADDRESS to manipulate
name hostname whose address is to be resolved in 3-dot-notation

GWENHYWFAR_API GWEN_ERRORCODE GWEN_InetAddr_SetPort GWEN_INETADDRESS ia,
int  port
 

Set the port in the given INETADDRESS.

Returns:
error code
Parameters:
ia INETADDRESS to manipulate
port port to set (0-65535)


Generated on Fri Oct 21 04:52:19 2005 for gwenhywfar by  doxygen 1.4.1