Very briefly:
((u8_t *)addr)[0]
First octet of addr.
%02x
This is a format string for the printf family of functions. It will print a hexadecimal number padded to 2 digits (e.g. 5c).
((struct uip_udpip_hdr *)&uip_buf[UIP_LLH_LEN])
A struct uip_udpip_hdr at the offset UIP_LLH_LEN from uip_buf in memory.
static struct uip_udp_conn *server_conn
A static pointer to a struct uip_udp_conn, called server_conn.
((char *)uip_appdata)[uip_datalen()] = 0;
Set the char at offset uip_datalen() (in chars) from uip_appdata to 0. I’m guessing this is supposed to set a null terminator.
PRINT6ADDR(&UDP_IP_BUF->srcipaddr);
I’m guessing this prints the IPv6 address contained in UDP_IP_BUF->srcipaddr (“source IP address”).
state = uip_ds6_if.addr_list[i].state;
Assign uip_ds6_if.addr_list[i].state to state. 🙂
solved Need interpretation of functions and pointers [closed]