Rev 4243 | Rev 4704 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4243 | Rev 4350 | ||
---|---|---|---|
Line 108... | Line 108... | ||
108 | */ |
108 | */ |
109 | uint8_t ttl; |
109 | uint8_t ttl; |
110 | /** This field indicates the next level protocol used in the data portion of the internet datagram. |
110 | /** This field indicates the next level protocol used in the data portion of the internet datagram. |
111 | */ |
111 | */ |
112 | uint8_t protocol; |
112 | uint8_t protocol; |
113 | /** A checksum on the header only. |
113 | /** A checksum of the header only. |
114 | * Since some header fields change (e.g., time to live), this is recomputed and verified at each point that the internet header is processed. |
114 | * Since some header fields change (e.g., time to live), this is recomputed and verified at each point that the internet header is processed. |
115 | * The checksum algorithm is: The checksum field is the 16~bit one's complement of the one's complement sum of all 16~bit words in the header. |
115 | * The checksum algorithm is: The checksum field is the 16~bit one's complement of the one's complement sum of all 16~bit words in the header. |
116 | * For purposes of computing the checksum, the value of the checksum field is zero. |
116 | * For purposes of computing the checksum, the value of the checksum field is zero. |
117 | */ |
117 | */ |
118 | uint16_t header_checksum; |
118 | uint16_t header_checksum; |
Line 122... | Line 122... | ||
122 | /** The destination address. |
122 | /** The destination address. |
123 | */ |
123 | */ |
124 | uint32_t destination_address; |
124 | uint32_t destination_address; |
125 | } __attribute__ ((packed)); |
125 | } __attribute__ ((packed)); |
126 | 126 | ||
- | 127 | /** Type definition of the internet option header. |
|
- | 128 | * @see ip_header |
|
- | 129 | */ |
|
127 | typedef struct ip_option ip_option_t; |
130 | typedef struct ip_option ip_option_t; |
- | 131 | ||
- | 132 | /** Type definition of the internet option header pointer. |
|
- | 133 | * @see ip_header |
|
- | 134 | */ |
|
128 | typedef ip_option * ip_option_ref; |
135 | typedef ip_option * ip_option_ref; |
129 | 136 | ||
130 | /** Internet option header. |
137 | /** Internet option header. |
131 | * Only type field is always valid. |
138 | * Only type field is always valid. |
132 | * Other fields' validity depends on the option type. |
139 | * Other fields' validity depends on the option type. |