Subversion Repositories HelenOS

Rev

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.