Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4394 → Rev 4395

/branches/network/uspace/srv/net/structures/packet/packet_server.c
129,7 → 129,7
*/
packet_t packet_create( size_t length, size_t addr_len, size_t max_prefix, size_t max_content, size_t max_suffix );
 
/** Initializes the packet according to the given dimensions.
/** Clears and initializes the packet according to the given dimensions.
* @param packet The packet to be initialized. Input parameter.
* @param addr_len The source and destination addresses maximal length in bytes. Input parameter.
* @param max_prefix The maximal prefix length in bytes. Input parameter.
258,7 → 258,6
packet->packet_id = ps_globals.count;
packet->length = length;
packet_init( packet, addr_len, max_prefix, max_content, max_suffix );
packet->magic_value = PACKET_MAGIC_VALUE;
if( ERROR_OCCURRED( pm_add( packet ))){
munmap( packet, packet->length );
return NULL;
268,16 → 267,24
}
 
void packet_init( packet_t packet, size_t addr_len, size_t max_prefix, size_t max_content, size_t max_suffix ){
int length;
 
// clear whole packet
length = packet->length;
bzero( packet, packet->length );
packet->length = length;
packet->magic_value = PACKET_MAGIC_VALUE;
/* // clear the packet header
packet->order = 0;
packet->metric = 0;
packet->previous = 0;
packet->next = 0;
packet->addr_len = addr_len;
packet->src_addr = sizeof( struct packet );
packet->dest_addr = packet->src_addr + packet->addr_len;
packet->addr_len = 0;
*/ packet->src_addr = sizeof( struct packet );
packet->dest_addr = packet->src_addr + addr_len;
packet->max_prefix = max_prefix;
packet->max_content = max_content;
packet->data_start = packet->dest_addr + packet->addr_len + packet->max_prefix;
packet->data_start = packet->dest_addr + addr_len + packet->max_prefix;
packet->data_end = packet->data_start;
}