# Function overview

ICMP

ping() Perform the standard ICMP ping service to an unicast IP address or to a link local multicast address.

IPV6 ROUTING

num_rtentries() Get the number of valid route entries in the routing table.

routecntl() Get and configure the routing table. If successful, the routes in the route table can be extracted or changed.

SOCKET PROGRAMMING

socket() Create an endpoint for communication and return a descriptor

send() Send a message on a socket in a connected state.

sendto() Send a message on a socket in a connectionless state.

udpbind() Give a UDP socket the local address, a user allocated buffer for message queuing, and a callback for reception notification.

tcpbind() Give a TCP socket the local address, a user allocated buffer for message queuing, and a callback handler for interacting with the TCP stack.

connect() Connect the socket referred to by the socket descriptor to an destination IP address.

accept() Accept an incoming connection on the socket referred to by the socket descriptor to an destination IP address.

inet_pton() Convert the character string src into a network address structure in the af address family, then copies the network address structure to dst.

inet_ntop() Convert a network address structure to the character string in the af address family.

ntohs() htons() ntohl() htonl() Convert byte order between network and host for short and long data types.

CONTEXT SWITCHING

continuation() Request a unique resource identifier that enables scheduling a continuation from the interrupt context to Arch Rock's application context. Note this call is safe to be invoked in the interrupt context.

sch_continuation() Schedule a continuation from the interrupt context to Arch Rock's application context. Note this call is safe to be invoked in the interrupt context.

continuation_close() Close a continuation resource identifier so that it may be reused. close() is not used because this supports call within the interrupt context.

INTERRUPT MANIPULATION/CRITICAL REGION PROTECTION

atomic_begin() Disable global interrupt for the start of a critical section.

atomic_end() Enable global interrupt for the end of a critical section.

async_irqbind() Bind a callback handler to a particular interrupt vector that are partially used by or shared with the kernel.

async_irqunbind() Unbind a previously installed callback handler to a particular interrupt vector that are partially used by or shared with the kernel.

TIME MANIPULATION

gettimeofday() Access time of day.

settimeofday() Set time of day.

timer() Request a unique resource identifier.

gettitimer() Get value of an interval timer.

setitimer() Set the value of an interval timer.

FLASH MANIPULATION

flread() Read the on-chip flash

flsize() Get the total size of the internal non-volatile storage in bytes that are available for application to use.

flwrite() Write a buffer to the on-chip flash

SYSTEM SERVICES

close() Closes a resource identifier (e.g socket, timerid, or a resource id) so that it may be reused.

iwconfig() Configure the wireless link interface

notifywrite() Register a callback for when a socket identifier has enough buffer space to accept data for transmission.

svccntl() Invoke kernel services or listen for kernel notifications.