Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4557 → Rev 4558

/branches/network/uspace/srv/net/il/ip/ip_client.c
45,10 → 45,10
 
#include "ip_header.h"
 
int ip_client_prepare_packet( packet_t packet, int protocol, int ttl, int tos, int dont_fragment, int ipopt_length ){
int ip_client_prepare_packet( packet_t packet, ip_protocol_t protocol, ip_ttl_t ttl, ip_tos_t tos, int dont_fragment, size_t ipopt_length ){
ip_header_ref header;
uint8_t * data;
int padding;
size_t padding;
 
padding = ipopt_length % 4;
if( padding ){
59,8 → 59,8
if( ! data ) return ENOMEM;
while( padding -- ) data[ sizeof( ip_header_t ) + padding ] = IPOPT_NOOP;
header = ( ip_header_ref ) data;
header->ihl = ( sizeof( ip_header_t ) + ipopt_length ) / 4;
header->ttl = ( ttl > 0 ) ? (( ttl <= MAXTTL ) ? ttl : MAXTTL ) : IPDEFTTL;
header->ihl = ( uint8_t ) ( sizeof( ip_header_t ) + ipopt_length ) / 4;
header->ttl = ttl ? (( ttl <= MAXTTL ) ? ttl : MAXTTL ) : IPDEFTTL;
header->tos = tos;
header->protocol = protocol;
if( dont_fragment ) header->flags = IPFLAG_DONT_FRAGMENT;