Ignore:
Timestamp:
2010-03-13T12:17:02Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6ba20a6b
Parents:
d0febca (diff), 2070570 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/structures/packet/packet_client.c

    rd0febca r7715994  
    4848#include "packet_client.h"
    4949
    50 int packet_copy_data( packet_t packet, const void * data, size_t length ){
    51         if( ! packet_is_valid( packet )) return EINVAL;
    52         if( packet->data_start + length >= packet->length ) return ENOMEM;
    53         memcpy(( void * ) packet + packet->data_start, data, length );
    54         if( packet->data_start + length > packet->data_end ){
     50int packet_copy_data(packet_t packet, const void * data, size_t length){
     51        if(! packet_is_valid(packet)){
     52                return EINVAL;
     53        }
     54        if(packet->data_start + length >= packet->length){
     55                return ENOMEM;
     56        }
     57        memcpy((void *) packet + packet->data_start, data, length);
     58        if(packet->data_start + length > packet->data_end){
    5559                packet->data_end = packet->data_start + length;
    5660        }
     
    5862}
    5963
    60 void * packet_prefix( packet_t packet, size_t length ){
    61         if(( ! packet_is_valid( packet )) || ( packet->data_start - sizeof( struct packet ) - 2 * ( packet->dest_addr - packet->src_addr ) < length )) return NULL;
     64void * packet_prefix(packet_t packet, size_t length){
     65        if((! packet_is_valid(packet)) || (packet->data_start - sizeof(struct packet) - 2 * (packet->dest_addr - packet->src_addr) < length)){
     66                return NULL;
     67        }
    6268        packet->data_start -= length;
    63         return ( void * ) packet + packet->data_start;
     69        return (void *) packet + packet->data_start;
    6470}
    6571
    66 void * packet_suffix( packet_t packet, size_t length ){
    67         if(( ! packet_is_valid( packet )) || ( packet->data_end + length >= packet->length )) return NULL;
     72void * packet_suffix(packet_t packet, size_t length){
     73        if((! packet_is_valid(packet)) || (packet->data_end + length >= packet->length)){
     74                return NULL;
     75        }
    6876        packet->data_end += length;
    69         return ( void * ) packet + packet->data_end - length;
     77        return (void *) packet + packet->data_end - length;
    7078}
    7179
    72 int packet_trim( packet_t packet, size_t prefix, size_t suffix ){
    73         if( ! packet_is_valid( packet )) return EINVAL;
    74         if( prefix + suffix > PACKET_DATA_LENGTH( packet )) return ENOMEM;
     80int packet_trim(packet_t packet, size_t prefix, size_t suffix){
     81        if(! packet_is_valid(packet)){
     82                return EINVAL;
     83        }
     84        if(prefix + suffix > PACKET_DATA_LENGTH(packet)){
     85                return ENOMEM;
     86        }
    7587        packet->data_start += prefix;
    7688        packet->data_end -= suffix;
     
    7890}
    7991
    80 packet_id_t packet_get_id( const packet_t packet ){
    81         return packet_is_valid( packet ) ? packet->packet_id : 0;
     92packet_id_t packet_get_id(const packet_t packet){
     93        return packet_is_valid(packet) ? packet->packet_id : 0;
    8294}
    8395
    84 int packet_get_addr( const packet_t packet, uint8_t ** src, uint8_t ** dest ){
    85         if( ! packet_is_valid( packet )) return EINVAL;
    86         if( ! packet->addr_len ) return 0;
    87         if( src ) * src = ( void * ) packet + packet->src_addr;
    88         if( dest ) * dest = ( void * ) packet + packet->dest_addr;
     96int packet_get_addr(const packet_t packet, uint8_t ** src, uint8_t ** dest){
     97        if(! packet_is_valid(packet)){
     98                return EINVAL;
     99        }
     100        if(! packet->addr_len){
     101                return 0;
     102        }
     103        if(src){
     104                *src = (void *) packet + packet->src_addr;
     105        }
     106        if(dest){
     107                *dest = (void *) packet + packet->dest_addr;
     108        }
    89109        return packet->addr_len;
    90110}
    91111
    92 size_t packet_get_data_length( const packet_t packet ){
    93         if( ! packet_is_valid( packet )) return 0;
    94         return PACKET_DATA_LENGTH( packet );
     112size_t packet_get_data_length(const packet_t packet){
     113        if(! packet_is_valid(packet)){
     114                return 0;
     115        }
     116        return PACKET_DATA_LENGTH(packet);
    95117}
    96118
    97 void * packet_get_data( const packet_t packet ){
    98         if( ! packet_is_valid( packet )) return NULL;
    99         return ( void * ) packet + packet->data_start;
     119void * packet_get_data(const packet_t packet){
     120        if(! packet_is_valid(packet)){
     121                return NULL;
     122        }
     123        return (void *) packet + packet->data_start;
    100124}
    101125
    102 int packet_set_addr( packet_t packet, const uint8_t * src, const uint8_t * dest, size_t addr_len ){
    103         size_t  padding;
    104         size_t  allocated;
     126int packet_set_addr(packet_t packet, const uint8_t * src, const uint8_t * dest, size_t addr_len){
     127        size_t padding;
     128        size_t allocated;
    105129
    106         if( ! packet_is_valid( packet )) return EINVAL;
    107         allocated = PACKET_MAX_ADDRESS_LENGTH( packet );
    108         if( allocated < addr_len ) return ENOMEM;
     130        if(! packet_is_valid(packet)){
     131                return EINVAL;
     132        }
     133        allocated = PACKET_MAX_ADDRESS_LENGTH(packet);
     134        if(allocated < addr_len){
     135                return ENOMEM;
     136        }
    109137        padding = allocated - addr_len;
    110138        packet->addr_len = addr_len;
    111         if( src ){
    112                 memcpy(( void * ) packet + packet->src_addr, src, addr_len );
    113                 if( padding ) bzero(( void * ) packet + packet->src_addr + addr_len, padding );
     139        if(src){
     140                memcpy((void *) packet + packet->src_addr, src, addr_len);
     141                if(padding){
     142                        bzero((void *) packet + packet->src_addr + addr_len, padding);
     143                }
    114144        }else{
    115                 bzero(( void * ) packet + packet->src_addr, allocated );
     145                bzero((void *) packet + packet->src_addr, allocated);
    116146        }
    117         if( dest ){
    118                 memcpy(( void * ) packet + packet->dest_addr, dest, addr_len );
    119                 if( padding ) bzero(( void * ) packet + packet->dest_addr + addr_len, padding );
     147        if(dest){
     148                memcpy((void *) packet + packet->dest_addr, dest, addr_len);
     149                if(padding){
     150                        bzero((void *) packet + packet->dest_addr + addr_len, padding);
     151                }
    120152        }else{
    121                 bzero(( void * ) packet + packet->dest_addr, allocated );
     153                bzero((void *) packet + packet->dest_addr, allocated);
    122154        }
    123155        return EOK;
    124156}
    125157
    126 packet_t packet_get_copy( int phone, packet_t packet ){
    127         packet_t        copy;
    128         uint8_t *       src;
    129         uint8_t *       dest;
    130         size_t          addrlen;
     158packet_t packet_get_copy(int phone, packet_t packet){
     159        packet_t copy;
     160        uint8_t * src;
     161        uint8_t * dest;
     162        size_t addrlen;
    131163
    132         if( ! packet_is_valid( packet )) return NULL;
     164        if(! packet_is_valid(packet)){
     165                return NULL;
     166        }
    133167        // get a new packet
    134         copy = packet_get_4( phone, PACKET_DATA_LENGTH( packet ), PACKET_MAX_ADDRESS_LENGTH( packet ), packet->max_prefix, PACKET_MIN_SUFFIX( packet ));
    135         if( ! copy ) return NULL;
     168        copy = packet_get_4(phone, PACKET_DATA_LENGTH(packet), PACKET_MAX_ADDRESS_LENGTH(packet), packet->max_prefix, PACKET_MIN_SUFFIX(packet));
     169        if(! copy){
     170                return NULL;
     171        }
    136172        // get addresses
    137         addrlen = packet_get_addr( packet, & src, & dest );
     173        addrlen = packet_get_addr(packet, &src, &dest);
    138174        // copy data
    139         if(( packet_copy_data( copy, packet_get_data( packet ), PACKET_DATA_LENGTH( packet )) == EOK )
     175        if((packet_copy_data(copy, packet_get_data(packet), PACKET_DATA_LENGTH(packet)) == EOK)
    140176        // copy addresses if present
    141         && (( addrlen <= 0 ) || ( packet_set_addr( copy, src, dest, addrlen ) == EOK ))){
     177                && ((addrlen <= 0) || (packet_set_addr(copy, src, dest, addrlen) == EOK))){
    142178                copy->order = packet->order;
    143179                copy->metric = packet->metric;
    144180                return copy;
    145181        }else{
    146                 pq_release( phone, copy->packet_id );
     182                pq_release(phone, copy->packet_id);
    147183                return NULL;
    148184        }
Note: See TracChangeset for help on using the changeset viewer.