This module handles internet addresses. More...
Typedefs | |
typedef struct GWEN_INETADDRESSSTRUCT | GWEN_INETADDRESS |
Enumerations | |
enum | GWEN_AddressFamily { GWEN_AddressFamilyIP = 0, GWEN_AddressFamilyUnix } |
Capabilities of this module | |
| |
GWENHYWFAR_API uint32_t | GWEN_InetAddr_GetCapabilities (void) |
#define | GWEN_INETADDR_CAPS_AF_TCP 0x00000001 |
#define | GWEN_INETADDR_CAPS_AF_UNIX 0x00000002 |
Construction and destruction | |
These functions allocate and free administrative data about IP addresses. | |
GWENHYWFAR_API GWEN_INETADDRESS * | GWEN_InetAddr_new (GWEN_AddressFamily af) |
GWENHYWFAR_API void | GWEN_InetAddr_free (GWEN_INETADDRESS *ia) |
GWENHYWFAR_API GWEN_INETADDRESS * | GWEN_InetAddr_dup (const GWEN_INETADDRESS *ia) |
Get and set address | |
These functions allow getting and setting of IP addresses either by hostname or host address. | |
GWENHYWFAR_API int | GWEN_InetAddr_SetAddress (GWEN_INETADDRESS *ia, const char *addr) |
GWENHYWFAR_API int | GWEN_InetAddr_SetName (GWEN_INETADDRESS *ia, const char *name) |
GWENHYWFAR_API int | GWEN_InetAddr_GetAddress (const GWEN_INETADDRESS *ia, char *buffer, unsigned int bsize) |
GWENHYWFAR_API int | GWEN_InetAddr_GetName (const GWEN_INETADDRESS *ia, char *buffer, unsigned int bsize) |
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 int | GWEN_InetAddr_SetPort (GWEN_INETADDRESS *ia, int port) |
Error Codes | |
| |
#define | GWEN_INETADDR_ERROR_TYPE "InetAddr" |
#define | GWEN_INETADDR_ERROR_MEMORY_FULL 1 |
#define | GWEN_INETADDR_ERROR_BAD_ADDRESS 2 |
#define | GWEN_INETADDR_ERROR_BUFFER_OVERFLOW 3 |
#define | GWEN_INETADDR_ERROR_HOST_NOT_FOUND 4 |
#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_UNKNOWN_DNS_ERROR 8 |
#define | GWEN_INETADDR_ERROR_BAD_ADDRESS_FAMILY 9 |
#define | GWEN_INETADDR_ERROR_UNSUPPORTED 10 |
This module handles internet addresses.
This module allows using of internet IP addresses. It is also capable of resolving addresses and hostnames.
#define GWEN_INETADDR_CAPS_AF_TCP 0x00000001 |
Definition at line 75 of file inetaddr.h.
#define GWEN_INETADDR_CAPS_AF_UNIX 0x00000002 |
Definition at line 76 of file inetaddr.h.
#define GWEN_INETADDR_ERROR_BAD_ADDRESS 2 |
Definition at line 60 of file inetaddr.h.
#define GWEN_INETADDR_ERROR_BAD_ADDRESS_FAMILY 9 |
Definition at line 67 of file inetaddr.h.
#define GWEN_INETADDR_ERROR_BUFFER_OVERFLOW 3 |
Definition at line 61 of file inetaddr.h.
#define GWEN_INETADDR_ERROR_HOST_NOT_FOUND 4 |
Definition at line 62 of file inetaddr.h.
#define GWEN_INETADDR_ERROR_MEMORY_FULL 1 |
Definition at line 59 of file inetaddr.h.
#define GWEN_INETADDR_ERROR_NO_ADDRESS 5 |
Definition at line 63 of file inetaddr.h.
#define GWEN_INETADDR_ERROR_NO_RECOVERY 6 |
Definition at line 64 of file inetaddr.h.
#define GWEN_INETADDR_ERROR_TRY_AGAIN 7 |
Definition at line 65 of file inetaddr.h.
#define GWEN_INETADDR_ERROR_TYPE "InetAddr" |
Definition at line 58 of file inetaddr.h.
#define GWEN_INETADDR_ERROR_UNKNOWN_DNS_ERROR 8 |
Definition at line 66 of file inetaddr.h.
#define GWEN_INETADDR_ERROR_UNSUPPORTED 10 |
Definition at line 68 of file inetaddr.h.
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 !
Definition at line 97 of file inetaddr.h.
enum GWEN_AddressFamily |
Address family (in most cases this is AddressFamilyIP)
Definition at line 85 of file inetaddr.h.
GWENHYWFAR_API GWEN_INETADDRESS* GWEN_InetAddr_dup | ( | const GWEN_INETADDRESS * | ia | ) |
GWENHYWFAR_API void GWEN_InetAddr_free | ( | GWEN_INETADDRESS * | ia | ) |
Referenced by GWEN_SyncIo_Socket_Connect().
GWENHYWFAR_API int GWEN_InetAddr_GetAddress | ( | const GWEN_INETADDRESS * | ia, | |
char * | buffer, | |||
unsigned int | bsize | |||
) |
Gets the IP address stored in the INETADDRESS.
ia | INETADDRESS to use | |
buffer | pointer to a buffer to receive the address | |
bsize | size of the buffer in bytes |
Referenced by GWEN_SyncIo_Socket_Connect().
GWENHYWFAR_API uint32_t GWEN_InetAddr_GetCapabilities | ( | void | ) |
GWENHYWFAR_API int 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.
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
ia | INETADDRESS to use |
GWENHYWFAR_API GWEN_INETADDRESS* GWEN_InetAddr_new | ( | GWEN_AddressFamily | af | ) |
Referenced by GWEN_SyncIo_Socket_Connect().
GWENHYWFAR_API int GWEN_InetAddr_SetAddress | ( | GWEN_INETADDRESS * | ia, | |
const char * | addr | |||
) |
Sets the IP address.
ia | INETADDRESS to manipulate | |
addr | IP address in 3-dot-notation ("1.2.3.4") |
Referenced by GWEN_SyncIo_Socket_Connect().
GWENHYWFAR_API int GWEN_InetAddr_SetName | ( | GWEN_INETADDRESS * | ia, | |
const char * | name | |||
) |
Sets the IP name and resolves its address.
ia | INETADDRESS to manipulate | |
name | hostname whose address is to be resolved in 3-dot-notation |
Referenced by GWEN_SyncIo_Socket_Connect().
GWENHYWFAR_API int GWEN_InetAddr_SetPort | ( | GWEN_INETADDRESS * | ia, | |
int | port | |||
) |
Set the port in the given INETADDRESS.
ia | INETADDRESS to manipulate | |
port | port to set (0-65535) |
Referenced by GWEN_SyncIo_Socket_Connect().