module core.c.posix.netinet.in_
C Bindings | Posix Bindings

Code Map

module core.c.posix.netinet.in_;

public import core.c.posix.arpa.inet;
public import core.c.posix.sys.socket;


enum IPPROTO_IP;
enum IPPROTO_ICMP;
enum IPPROTO_IGMP;
enum IPPROTO_GGP;
enum IPPROTO_TCP;
enum IPPROTO_PUP;
enum IPPROTO_UDP;
enum IPPROTO_IDP;
enum IPPROTO_ND;
enum IPPROTO_MAX;
enum INADDR_ANY;
enum INADDR_BROADCAST;
enum INADDR_LOOPBACK;
enum INADDR_NONE;
enum IPPROTO_IPV6;
enum IPV6_JOIN_GROUP;
enum IPV6_LEAVE_GROUP;
enum IPV6_MULTICAST_HOPS;
enum IPV6_MULTICAST_IF;
enum IPV6_MULTICAST_LOOP;
enum IPV6_UNICAST_HOPS;
enum IPV6_V6ONLY;
enum IPPROTO_RAW;

struct sockaddr_in
{
public:
	sin_family: sa_family_t;
	sin_port: in_port_t;
	sin_addr: in_addr;
	__pad: u8[8];
}

struct in6_addr
{
public:
	union _u
	{
	public:
		s6_addr: u8[16];
		s6_addr16: u16[8];
		s6_addr32: u32[4];
	}


public:
	u: _u;


public:
	fn s6_addr() u8[16] { }
	fn s6_addr(val: u8[16]) { }
}

struct sockaddr_in6
{
public:
	sin6_family: sa_family_t;
	sin6_port: in_port_t;
	sin6_flowinfo: u32;
	sin6_addr: in6_addr;
	sin6_scope_id: u32;
}

struct ipv6_mreq
{
public:
	ipv6mr_multiaddr: in6_addr;
	ipv6mr_interface: u32;
}

global in6addr_any: immutable(in6_addr);
global in6addr_loopback: immutable(in6_addr);

fn IN6_IS_ADDR_UNSPECIFIED(addr: in6_addr*) i32 { }
fn IN6_IS_ADDR_LOOPBACK(addr: in6_addr*) i32 { }
fn IN6_IS_ADDR_MULTICAST(addr: in6_addr*) i32 { }
fn IN6_IS_ADDR_LINKLOCAL(addr: in6_addr*) i32 { }
fn IN6_IS_ADDR_SITELOCAL(addr: in6_addr*) i32 { }
fn IN6_IS_ADDR_V4MAPPED(addr: in6_addr*) i32 { }
fn IN6_IS_ADDR_V4COMPAT(addr: in6_addr*) i32 { }
fn IN6_IS_ADDR_MC_NODELOCAL(addr: in6_addr*) i32 { }
fn IN6_IS_ADDR_MC_LINKLOCAL(addr: in6_addr*) i32 { }
fn IN6_IS_ADDR_MC_SITELOCAL(addr: in6_addr*) i32 { }
fn IN6_IS_ADDR_MC_ORGLOCAL(addr: in6_addr*) i32 { }
fn IN6_IS_ADDR_MC_GLOBAL(addr: in6_addr*) i32 { }