KallistiOS git master
Independent SDK for the Sega Dreamcast
Loading...
Searching...
No Matches
ICMPv6

API for v6 of the Internet Control Message Protocol More...

Topics

 Destination Unreachable Codes
 Destination unreachable packet types
 
 Parameter Problem Codes
 Codes for ICMPv6 parameter problem packets
 
 Time Exceeded Codes
 Time exceeded codes for ICMPv6
 

Typedefs

typedef void(* net6_echo_cb) (const struct in6_addr *ip, uint16 seq, uint64 delta_us, uint8 hlim, const uint8 *data, size_t len)
 ICMPv6 echo reply callback type.
 

Functions

int net_icmp6_send_echo (netif_t *net, const struct in6_addr *dst, uint16 ident, uint16 seq, const uint8 *data, size_t size)
 Send an ICMPv6 Echo (PING6) packet to the specified device.
 
int net_icmp6_send_nsol (netif_t *net, const struct in6_addr *dst, const struct in6_addr *target, int dupdet)
 Send a Neighbor Solicitation packet on the specified device.
 
int net_icmp6_send_nadv (netif_t *net, const struct in6_addr *dst, const struct in6_addr *target, int sol)
 Send a Neighbor Advertisement packet on the specified device.
 
int net_icmp6_send_rsol (netif_t *net)
 Send a Router Solicitation request on the specified interface.
 
int net_icmp6_send_dest_unreach (netif_t *net, uint8 code, const uint8 *ppkt, size_t psz)
 Send a destination unreachable packet on the specified interface.
 
int net_icmp6_send_time_exceeded (netif_t *net, uint8 code, const uint8 *ppkt, size_t psz)
 Send a time exceeded message on the specified interface.
 
int net_icmp6_send_param_prob (netif_t *net, uint8 code, uint32 ptr, const uint8 *ppkt, size_t psz)
 Send an ICMPv6 Parameter Problem about the given packet.
 

Variables

net6_echo_cb net_icmp6_echo_cb
 Where will we handle possibly notifying the user of ping replies?
 

Detailed Description

API for v6 of the Internet Control Message Protocol

Typedef Documentation

◆ net6_echo_cb

typedef void(* net6_echo_cb) (const struct in6_addr *ip, uint16 seq, uint64 delta_us, uint8 hlim, const uint8 *data, size_t len)

ICMPv6 echo reply callback type.

Parameters
ipThe IPv6 address the reply is from.
seqThe sequence number of the packet.
delta_usThe time difference, in microseconds.
hlimThe hop limit value in the packet.
dataAny data in the packet.
lenThe length of the data, in bytes.

Function Documentation

◆ net_icmp6_send_dest_unreach()

int net_icmp6_send_dest_unreach ( netif_t * net,
uint8 code,
const uint8 * ppkt,
size_t psz )

Send a destination unreachable packet on the specified interface.

Parameters
netThe network device to use.
codeThe type of message this is.
ppktThe message that caused this error.
pszSize of the original message.
Returns
0 on success, <0 on failure.

◆ net_icmp6_send_echo()

int net_icmp6_send_echo ( netif_t * net,
const struct in6_addr * dst,
uint16 ident,
uint16 seq,
const uint8 * data,
size_t size )

Send an ICMPv6 Echo (PING6) packet to the specified device.

Parameters
netThe network device to use.
dstThe address to send to.
identA packet identifier.
seqA packet sequence number.
dataData to send with the packet.
sizeLength of the data, in bytes.
Returns
0 on success, <0 on failure.

◆ net_icmp6_send_nadv()

int net_icmp6_send_nadv ( netif_t * net,
const struct in6_addr * dst,
const struct in6_addr * target,
int sol )

Send a Neighbor Advertisement packet on the specified device.

Parameters
netThe network device to use.
dstThe destination address.
targetThe target address.
sol1 if solicited, 0 otherwise.
Returns
0 on success, <0 on failure.

◆ net_icmp6_send_nsol()

int net_icmp6_send_nsol ( netif_t * net,
const struct in6_addr * dst,
const struct in6_addr * target,
int dupdet )

Send a Neighbor Solicitation packet on the specified device.

Parameters
netThe network device to use.
dstThe destination address.
targetThe target address.
dupdet1 if this is for duplicate detection.
Returns
0 on success, <0 on failure.

◆ net_icmp6_send_param_prob()

int net_icmp6_send_param_prob ( netif_t * net,
uint8 code,
uint32 ptr,
const uint8 * ppkt,
size_t psz )

Send an ICMPv6 Parameter Problem about the given packet.

Parameters
netThe network device to use.
codeThe error code.
ptrWhere in the packet is the error?
ppktThe message that caused the error.
pszSize of the original packet.
Returns
0 on success, <0 on failure.

◆ net_icmp6_send_rsol()

int net_icmp6_send_rsol ( netif_t * net)

Send a Router Solicitation request on the specified interface.

Parameters
netThe network device to use.
Returns
0 on success, <0 on failure.

◆ net_icmp6_send_time_exceeded()

int net_icmp6_send_time_exceeded ( netif_t * net,
uint8 code,
const uint8 * ppkt,
size_t psz )

Send a time exceeded message on the specified interface.

Parameters
netThe network device to use.
codeThe error code.
ppktThe message that caused this error.
pszSize of the original packet.
Returns
0 on success, <0 on failure.

Variable Documentation

◆ net_icmp6_echo_cb

net6_echo_cb net_icmp6_echo_cb
extern

Where will we handle possibly notifying the user of ping replies?