Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages   Examples  

ip_frame Struct Reference


Detailed Description

This structure is used for holding information about various fields of the IPv4 header. In addition to standard IP header, buf_index variable has been added to store the information about the buffer address in the Ethernet controller from where upper layer protocols ( such as TCP, UDP or some other) can start reading their data. This is initialized by invoking NETWORK_RECEIVED_INITIALIZE macro with appropriate buf_index value.

For detailed explanation of the IPv4 header fields refer to RFC791.

Definition at line 113 of file ip.h.

Data Fields

UINT8 vihl
UINT8 tos
UINT16 tlen
UINT16 id
UINT16 frags
UINT8 ttl
UINT8 protocol
UINT16 checksum
UINT32 sip
UINT32 dip
UINT8 opt [MAX_IP_OPTLEN+1]
UINT16 buf_index


Field Documentation

UINT8 ip_frame::vihl
 

Version & Header Length field

Definition at line 115 of file ip.h.

Referenced by ip_check_cs(), ip_construct_cs(), process_ip_in(), and process_ip_out().

UINT8 ip_frame::tos
 

Type Of Service

Definition at line 116 of file ip.h.

Referenced by ip_check_cs(), ip_construct_cs(), process_ip_in(), and process_ip_out().

UINT16 ip_frame::tlen
 

Total Length

Definition at line 117 of file ip.h.

Referenced by ip_check_cs(), ip_construct_cs(), process_ip_in(), and process_ip_out().

UINT16 ip_frame::id
 

IP Identification number

Definition at line 118 of file ip.h.

Referenced by ip_check_cs(), ip_construct_cs(), process_ip_in(), and process_ip_out().

UINT16 ip_frame::frags
 

Flags & Fragment offsett

Definition at line 119 of file ip.h.

Referenced by ip_check_cs(), ip_construct_cs(), process_ip_in(), and process_ip_out().

UINT8 ip_frame::ttl
 

Time to live

Definition at line 120 of file ip.h.

Referenced by ip_check_cs(), ip_construct_cs(), process_ip_in(), and process_ip_out().

UINT8 ip_frame::protocol
 

Protocol over IP

Definition at line 121 of file ip.h.

Referenced by ip_check_cs(), ip_construct_cs(), process_icmp_in(), process_ip_in(), process_ip_out(), process_tcp_in(), process_udp_in(), and tcp_check_cs().

UINT16 ip_frame::checksum
 

Header Checksum

Definition at line 122 of file ip.h.

Referenced by ip_check_cs(), process_ip_in(), and process_ip_out().

UINT32 ip_frame::sip
 

Source IP address

Definition at line 123 of file ip.h.

Referenced by ip_check_cs(), ip_construct_cs(), process_icmp_in(), process_ip_in(), process_ip_out(), process_tcp_in(), process_udp_in(), tcp_check_cs(), and tcp_mapsocket().

UINT32 ip_frame::dip
 

Destination IP address

Definition at line 124 of file ip.h.

Referenced by ip_check_cs(), ip_construct_cs(), process_icmp_in(), process_ip_in(), process_ip_out(), process_udp_in(), and tcp_check_cs().

UINT8 ip_frame::opt[MAX_IP_OPTLEN + 1]
 

Option field

Definition at line 125 of file ip.h.

Referenced by ip_check_cs(), ip_construct_cs(), and process_ip_in().

UINT16 ip_frame::buf_index
 

Next offset from the start of network buffer

Definition at line 126 of file ip.h.

Referenced by process_icmp_in(), process_ip_in(), process_tcp_in(), and process_udp_in().


The documentation for this struct was generated from the following file:
Generated on Sun Aug 3 20:33:01 2003 for OpenTCP by doxygen1.2.18