RetroArch
Classes | Macros | Enumerations | Functions | Variables
uip_icmp.h File Reference
#include "uip.h"
#include "uip_arch.h"
Include dependency graph for uip_icmp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uip_icmp_echo_hdr
 
struct  uip_icmp_dur_hdr
 

Macros

#define UIP_ICMP_TTL   255
 
#define UIP_ICMP_ER   0 /* echo reply */
 
#define UIP_ICMP_DUR   3 /* destination unreachable */
 
#define UIP_ICMP_SQ   4 /* source quench */
 
#define UIP_ICMP_RD   5 /* redirect */
 
#define UIP_ICMP_ECHO   8 /* echo */
 
#define UIP_ICMP_TE   11 /* time exceeded */
 
#define UIP_ICMP_PP   12 /* parameter problem */
 
#define UIP_ICMP_TS   13 /* timestamp */
 
#define UIP_ICMP_TSR   14 /* timestamp reply */
 
#define UIP_ICMP_IRQ   15 /* information request */
 
#define UIP_ICMP_IR   16 /* information reply */
 
#define UIP_ICMPH_TYPE(hdr)   (ntohs((hdr)->_type_code) >> 8)
 
#define UIP_ICMPH_CODE(hdr)   (ntohs((hdr)->_type_code) & 0xff)
 
#define UIP_ICMPH_TYPE_SET(hdr, type)   ((hdr)->_type_code = htons(UIP_ICMPH_CODE(hdr) | ((type) << 8)))
 
#define UIP_ICMPH_CODE_SET(hdr, code)   ((hdr)->_type_code = htons((code) | (UIP_ICMPH_TYPE(hdr) << 8)))
 

Enumerations

enum  uip_icmp_dur_type {
  UIP_ICMP_DUR_NET = 0, UIP_ICMP_DUR_HOST = 1, UIP_ICMP_DUR_PROTO = 2, UIP_ICMP_DUR_PORT = 3,
  UIP_ICMP_DUR_FRAG = 4, UIP_ICMP_DUR_SR = 5
}
 

Functions

void uip_icmpinput (struct uip_pbuf *p, struct uip_netif *inp)
 
void uip_icmp_destunreach (struct uip_pbuf *p, enum uip_icmp_dur_type t)
 

Variables

PACK_STRUCT_BEGIN struct uip_icmp_echo_hdr PACK_STRUCT_STRUCT
 

Macro Definition Documentation

◆ UIP_ICMP_DUR

#define UIP_ICMP_DUR   3 /* destination unreachable */

◆ UIP_ICMP_ECHO

#define UIP_ICMP_ECHO   8 /* echo */

◆ UIP_ICMP_ER

#define UIP_ICMP_ER   0 /* echo reply */

◆ UIP_ICMP_IR

#define UIP_ICMP_IR   16 /* information reply */

◆ UIP_ICMP_IRQ

#define UIP_ICMP_IRQ   15 /* information request */

◆ UIP_ICMP_PP

#define UIP_ICMP_PP   12 /* parameter problem */

◆ UIP_ICMP_RD

#define UIP_ICMP_RD   5 /* redirect */

◆ UIP_ICMP_SQ

#define UIP_ICMP_SQ   4 /* source quench */

◆ UIP_ICMP_TE

#define UIP_ICMP_TE   11 /* time exceeded */

◆ UIP_ICMP_TS

#define UIP_ICMP_TS   13 /* timestamp */

◆ UIP_ICMP_TSR

#define UIP_ICMP_TSR   14 /* timestamp reply */

◆ UIP_ICMP_TTL

#define UIP_ICMP_TTL   255

◆ UIP_ICMPH_CODE

#define UIP_ICMPH_CODE (   hdr)    (ntohs((hdr)->_type_code) & 0xff)

◆ UIP_ICMPH_CODE_SET

#define UIP_ICMPH_CODE_SET (   hdr,
  code 
)    ((hdr)->_type_code = htons((code) | (UIP_ICMPH_TYPE(hdr) << 8)))

◆ UIP_ICMPH_TYPE

#define UIP_ICMPH_TYPE (   hdr)    (ntohs((hdr)->_type_code) >> 8)

◆ UIP_ICMPH_TYPE_SET

#define UIP_ICMPH_TYPE_SET (   hdr,
  type 
)    ((hdr)->_type_code = htons(UIP_ICMPH_CODE(hdr) | ((type) << 8)))

Enumeration Type Documentation

◆ uip_icmp_dur_type

Enumerator
UIP_ICMP_DUR_NET 
UIP_ICMP_DUR_HOST 
UIP_ICMP_DUR_PROTO 
UIP_ICMP_DUR_PORT 
UIP_ICMP_DUR_FRAG 
UIP_ICMP_DUR_SR 

Function Documentation

◆ uip_icmp_destunreach()

void uip_icmp_destunreach ( struct uip_pbuf p,
enum uip_icmp_dur_type  t 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_icmpinput()

void uip_icmpinput ( struct uip_pbuf p,
struct uip_netif inp 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ PACK_STRUCT_STRUCT