module core.c.posix.netdb
C Bindings | Posix Bindings

Code Map

module core.c.posix.netdb;

public import core.c.posix.netinet.in_;
public import core.c.posix.sys.socket;


enum IPPORT_RESERVED;
enum HOST_NOT_FOUND;
enum NO_DATA;
enum NO_RECOVERY;
enum TRY_AGAIN;
enum AI_PASSIVE;
enum AI_CANONNAME;
enum AI_NUMERICHOST;
enum AI_NUMERICSERV;
enum AI_V4MAPPED;
enum AI_ALL;
enum AI_ADDRCONFIG;
enum NI_NOFQDN;
enum NI_NUMERICHOST;
enum NI_NAMEREQD;
enum NI_NUMERICSERV;
enum NI_DGRAM;
enum NI_MAXHOST;
enum NI_MAXSERV;
enum EAI_AGAIN;
enum EAI_BADFLAGS;
enum EAI_FAIL;
enum EAI_FAMILY;
enum EAI_MEMORY;
enum EAI_NONAME;
enum EAI_SERVICE;
enum EAI_SOCKTYPE;
enum EAI_SYSTEM;
enum EAI_OVERFLOW;

struct hostent
{
public:
	h_name: char*;
	h_aliases: char**;
	h_addrtype: i32;
	h_length: i32;
	h_addr_list: char**;


public:
	fn h_addr() char* { }
}

struct netent
{
public:
	n_name: char*;
	n_aliases: char**;
	n_addrtype: i32;
	n_net: u32;
}

struct protoent
{
public:
	p_name: char*;
	p_aliases: char**;
	p_proto: i32;
}

struct servent
{
public:
	s_name: char*;
	s_aliases: char**;
	s_port: i32;
	s_proto: char*;
}

struct addrinfo
{
public:
	ai_flags: i32;
	ai_family: i32;
	ai_socktype: i32;
	ai_protocol: i32;
	ai_addrlen: socklen_t;
	ai_addr: sockaddr*;
	ai_canonname: char*;
	ai_next: addrinfo*;
}

fn endhostent();
fn endnetent();
fn endprotoent();
fn endservent();
fn freeaddrinfo(addrinfo*);
fn gai_strerror(i32) const(char)*;
fn getaddrinfo(const(char)*, const(char)*, const(addrinfo)*, addrinfo**) i32;
fn gethostbyaddr(const(void)*, socklen_t, i32) hostent*;
fn gethostbyname(const(char)*) hostent*;
fn gethostent() hostent*;
fn getnameinfo(const(sockaddr)*, socklen_t, char*, socklen_t, char*, socklen_t, i32) i32;
fn getnetbyaddr(u32, i32) netent*;
fn getnetbyname(const(char)*) netent*;
fn getnetent() netent*;
fn getprotobyname(const(char)*) protoent*;
fn getprotobynumber(i32) protoent*;
fn getprotoent() protoent*;
fn getservbyname(const(char)*, const(char)*) servent*;
fn getservbyport(i32, const(char)*) servent*;
fn getservent() servent*;
fn sethostent(i32);
fn setnetent(i32);
fn setprotoent(i32);
fn setservent(i32);