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; |
} |
|