Module sys/dns

sys/dns

DNS resolution operations.

Provides async DNS resolution wrapping getaddrinfo/getnameinfo, plus accessors for iterating the linked list of addrinfo results.

All async operations return IOFuture which resolves to:

  • 0: success
  • Non-zero: raw gai_error code (EAI_NONAME, EAI_AGAIN, etc.)

Functions

getaddrinfo function
fn(node : *(u8), service : Option(*(u8)), hints : Option(*(u8)), result : *(Option(*(u8)))) -> IOFuture

Parameters

NameTypeNotes
node*(u8)
serviceOption(*(u8))
hintsOption(*(u8))
result*(Option(*(u8)))

Returns: IOFuture

getnameinfo function
fn(addr : *(u8), addrlen : u32, host : *(u8), hostlen : usize, service : *(u8), servlen : usize, flags : i32) -> IOFuture

Parameters

NameTypeNotes
addr*(u8)
addrlenu32
host*(u8)
hostlenusize
service*(u8)
servlenusize
flagsi32

Returns: IOFuture

freeaddrinfo function
fn(res : *(u8)) -> unit

Parameters

NameTypeNotes
res*(u8)

Returns: unit

alloc_result function
fn() -> *(Option(*(u8)))

Returns: *(Option(*(u8)))

get_result function
fn(result : *(Option(*(u8)))) -> Option(*(u8))

Parameters

NameTypeNotes
result*(Option(*(u8)))

Returns: Option(*(u8))

free_result function
fn(result : *(Option(*(u8)))) -> unit

Parameters

NameTypeNotes
result*(Option(*(u8)))

Returns: unit

addrinfo_size function
fn() -> usize

Returns: usize

addrinfo_flags function
fn(ai : *(u8)) -> i32

Parameters

NameTypeNotes
ai*(u8)

Returns: i32

addrinfo_family function
fn(ai : *(u8)) -> i32

Parameters

NameTypeNotes
ai*(u8)

Returns: i32

fn(ai : *(u8)) -> i32

Parameters

NameTypeNotes
ai*(u8)

Returns: i32

fn(ai : *(u8)) -> i32

Parameters

NameTypeNotes
ai*(u8)

Returns: i32

addrinfo_addrlen function
fn(ai : *(u8)) -> u32

Parameters

NameTypeNotes
ai*(u8)

Returns: u32

addrinfo_addr function
fn(ai : *(u8)) -> *(u8)

Parameters

NameTypeNotes
ai*(u8)

Returns: *(u8)

fn(ai : *(u8)) -> Option(*(u8))

Parameters

NameTypeNotes
ai*(u8)

Returns: Option(*(u8))

addrinfo_next function
fn(ai : *(u8)) -> Option(*(u8))

Parameters

NameTypeNotes
ai*(u8)

Returns: Option(*(u8))

alloc_hints function
fn() -> *(u8)

Returns: *(u8)

free_hints function
fn(hints : *(u8)) -> unit

Parameters

NameTypeNotes
hints*(u8)

Returns: unit