ip.h File Reference

#include "nip_init.h"
#include "net_if.h"

Include dependency graph for ip.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  IP_HEADER
struct  ICMP_HEADER
struct  nip_ip_group_membership
struct  nip_igmp_msg

Defines

#define NIP_IP_DEFAULT_HEADER_SIZE   20
 activate this option to disable memory management for icmp
#define NIP_IP_DEFAULT_VERSION   4
#define NIP_IP_TTL   64
#define NIP_IGMP_MAX_REPORT_DELAY   10
#define NIP_IP_MAX_HOST_GROUPS   1
#define NIP_IGMP_VERTYPE_QUERY   0x11
#define NIP_IGMP_VERTYPE_REPORT   0x12
IP protocol types
#define NIP_IP_PROTO_ICMP   01
 see "Assigned Numbers" RFC for complete list
#define NIP_IP_PROTO_IGMP   02
#define NIP_IP_PROTO_IP   04
#define NIP_IP_PROTO_TCP   06
#define NIP_IP_PROTO_UDP   17

Typedefs

typedef uint8_t nip_host_group_id_t
typedef uint8_t nip_ip_addr [4]

Enumerations

enum  nip_icmp_type_t {
  NIP_ICMP_T_ECHO_REP = 0, NIP_ICMP_T_DST_UNREACH = 3, NIP_ICMP_T_SRC_QUENCH = 4, NIP_ICMP_T_ECHO_REQ = 8,
  NIP_ICMP_T_ROUTER_ADV = 9, NIP_ICMP_T_ROUTER_SOL = 10, NIP_ICMP_T_TIME_EXCEED = 11, NIP_ICMP_T_PARAM_PROBL = 12,
  NIP_ICMP_T_TIMESTAMP = 13, NIP_ICMP_T_TIMESTAMP_REP = 14, NIP_ICMP_T_ADDR_MASK_REQ = 15, NIP_ICMP_T_ADDR_MASK_REP = 18,
  NIP_ICMP_T_TRACEROUTE = 30, NIP_ICMP_T_DATAGRAM_CONV_ERR = 31, NIP_ICMP_T_MOBILE_HOST_REDIR = 32, NIP_ICMP_T_IPV6_WHERE_ARE_U = 33,
  NIP_ICMP_T_IPV6_I_AM_HERE = 34, NIP_ICMP_T_MOBILE_REG_REQ = 35, NIP_ICMP_T_MOBILE_REG_RES = 36, NIP_ICMP_T_DOMAIN_NAME_REQ = 37,
  NIP_ICMP_T_DOMAIN_NAME_REP = 38, NIP_ICMP_T_SKIP = 39, NIP_ICMP_T_PHOTURIS = 40
}
enum  nip_ip_group_membership_stat_t { NIP_IP_GROUP_NON = 0, NIP_IP_GROUP_DELAYING, NIP_IP_GROUP_IDLE }

Functions

void nip_ip_disp_receive (void)
void nip_ip_disp_send (void)
void nip_ip_addr_set (nip_net_if_id_t if_id, uint8_t *addr)
void nip_ip_subnet_set (nip_net_if_id_t if_id, uint8_t *mask)
void nip_ip_addr_autoconf (nip_net_if_id_t if_id)
nip_net_if_trans_tnip_ip_route (uint8_t *target_addr, nip_net_if_id_t if_id, nip_net_if_trans_t *trans)
nip_error_t nip_ip_join_host_group (nip_net_if_id_t if_id, uint8_t *addr)
void nip_ip_disp_check_group (void)
void nip_igmp_disp_receive (void)
void nip_ip_query_groups (nip_net_if_id_t if_id)
void nip_ip_up (nip_net_if_id_t if_id)
void nip_ip_down (nip_net_if_id_t if_id)

Variables

uint8_t nip_ip_localhost [4]
uint8_t nip_ip_broadcast [4]
uint8_t nip_ip_null [4]


Define Documentation

#define NIP_IGMP_MAX_REPORT_DELAY   10

Definition at line 45 of file ip.h.

#define NIP_IGMP_VERTYPE_QUERY   0x11

Definition at line 159 of file ip.h.

#define NIP_IGMP_VERTYPE_REPORT   0x12

Definition at line 160 of file ip.h.

#define NIP_IP_DEFAULT_HEADER_SIZE   20

activate this option to disable memory management for icmp

Definition at line 41 of file ip.h.

#define NIP_IP_DEFAULT_VERSION   4

Definition at line 42 of file ip.h.

#define NIP_IP_MAX_HOST_GROUPS   1

Definition at line 48 of file ip.h.

#define NIP_IP_PROTO_ICMP   01

see "Assigned Numbers" RFC for complete list

Definition at line 63 of file ip.h.

#define NIP_IP_PROTO_IGMP   02

Definition at line 64 of file ip.h.

#define NIP_IP_PROTO_IP   04

Definition at line 65 of file ip.h.

#define NIP_IP_PROTO_TCP   06

Definition at line 66 of file ip.h.

Referenced by nip_tcp_checksum(), nip_tcp_disp_receive(), and nip_tcp_disp_send().

#define NIP_IP_PROTO_UDP   17

Definition at line 67 of file ip.h.

Referenced by nip_udp_transmit().

#define NIP_IP_TTL   64

Definition at line 43 of file ip.h.


Typedef Documentation

typedef uint8_t nip_host_group_id_t

Definition at line 52 of file ip.h.

typedef uint8_t nip_ip_addr[4]

Definition at line 71 of file ip.h.


Enumeration Type Documentation

Enumerator:
NIP_ICMP_T_ECHO_REP 
NIP_ICMP_T_DST_UNREACH 
NIP_ICMP_T_SRC_QUENCH 
NIP_ICMP_T_ECHO_REQ 
NIP_ICMP_T_ROUTER_ADV 
NIP_ICMP_T_ROUTER_SOL 
NIP_ICMP_T_TIME_EXCEED 
NIP_ICMP_T_PARAM_PROBL 
NIP_ICMP_T_TIMESTAMP 
NIP_ICMP_T_TIMESTAMP_REP 
NIP_ICMP_T_ADDR_MASK_REQ 
NIP_ICMP_T_ADDR_MASK_REP 
NIP_ICMP_T_TRACEROUTE 
NIP_ICMP_T_DATAGRAM_CONV_ERR 
NIP_ICMP_T_MOBILE_HOST_REDIR 
NIP_ICMP_T_IPV6_WHERE_ARE_U 
NIP_ICMP_T_IPV6_I_AM_HERE 
NIP_ICMP_T_MOBILE_REG_REQ 
NIP_ICMP_T_MOBILE_REG_RES 
NIP_ICMP_T_DOMAIN_NAME_REQ 
NIP_ICMP_T_DOMAIN_NAME_REP 
NIP_ICMP_T_SKIP 
NIP_ICMP_T_PHOTURIS 

Definition at line 92 of file ip.h.

Enumerator:
NIP_IP_GROUP_NON 
NIP_IP_GROUP_DELAYING  Membership configuration unused.
NIP_IP_GROUP_IDLE  Notify network about host group membership.

Definition at line 135 of file ip.h.


Function Documentation

void nip_igmp_disp_receive ( void   ) 

void nip_ip_addr_autoconf ( nip_net_if_id_t  if_id  ) 

Referenced by nip_dhcp_disp_check().

Here is the caller graph for this function:

void nip_ip_addr_set ( nip_net_if_id_t  if_id,
uint8_t *  addr 
)

Referenced by nip_dhcp_disp_check().

Here is the caller graph for this function:

void nip_ip_disp_check_group ( void   ) 

void nip_ip_disp_receive ( void   ) 

void nip_ip_disp_send ( void   ) 

Referenced by nip_tcp_disp_receive(), and nip_tcp_disp_send().

Here is the caller graph for this function:

void nip_ip_down ( nip_net_if_id_t  if_id  ) 

nip_error_t nip_ip_join_host_group ( nip_net_if_id_t  if_id,
uint8_t *  addr 
)

Referenced by nip_mdns_init().

Here is the caller graph for this function:

void nip_ip_query_groups ( nip_net_if_id_t  if_id  ) 

nip_net_if_trans_t* nip_ip_route ( uint8_t *  target_addr,
nip_net_if_id_t  if_id,
nip_net_if_trans_t trans 
)

Referenced by nip_tcp_disp_receive(), nip_tcp_disp_send(), and nip_udp_transmit().

Here is the caller graph for this function:

void nip_ip_subnet_set ( nip_net_if_id_t  if_id,
uint8_t *  mask 
)

Referenced by nip_dhcp_disp_check().

Here is the caller graph for this function:

void nip_ip_up ( nip_net_if_id_t  if_id  ) 


Variable Documentation

uint8_t nip_ip_broadcast[4]

Definition at line 45 of file ip.c.

uint8_t nip_ip_localhost[4]

Definition at line 44 of file ip.c.

uint8_t nip_ip_null[4]

Definition at line 46 of file ip.c.

Referenced by nip_tcp_disp_receive().


Generated on Thu Jul 10 01:09:45 2008 for NIP by  doxygen 1.5.5