Ignore:
Timestamp:
2010-03-07T22:51:38Z (14 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
60ab6c3
Parents:
b5cbff4 (diff), 31c80a5 (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 from lp:~lukasmejdrech/helenos/network.

File:
1 edited

Legend:

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

    rb5cbff4 r71b00dcc  
    6060 *  @returns Other error codes as defined for the async_share_in_start() function.
    6161 */
    62 int packet_return( int phone, packet_ref packet, packet_id_t packet_id, size_t size );
     62int packet_return(int phone, packet_ref packet, packet_id_t packet_id, size_t size);
    6363
    64 int packet_translate( int phone, packet_ref packet, packet_id_t packet_id ){
     64int packet_translate(int phone, packet_ref packet, packet_id_t packet_id){
    6565        ERROR_DECLARE;
    6666
    67         ipcarg_t                        size;
    68         packet_t                        next;
     67        ipcarg_t size;
     68        packet_t next;
    6969
    70         if( ! packet ) return EINVAL;
    71         * packet = pm_find( packet_id );
    72         if( !( * packet )){
    73                 ERROR_PROPAGATE( async_req_1_1( phone, NET_PACKET_GET_SIZE, packet_id, & size ));
    74                 ERROR_PROPAGATE( packet_return( phone, packet, packet_id, size ));
     70        if(! packet){
     71                return EINVAL;
    7572        }
    76         if(( ** packet ).next ){
    77                 return packet_translate( phone, & next, ( ** packet ).next );
     73        *packet = pm_find(packet_id);
     74        if(!(*packet)){
     75                ERROR_PROPAGATE(async_req_1_1(phone, NET_PACKET_GET_SIZE, packet_id, &size));
     76                ERROR_PROPAGATE(packet_return(phone, packet, packet_id, size));
     77        }
     78        if((** packet).next){
     79                return packet_translate(phone, &next, (** packet).next);
    7880        }else return EOK;
    7981}
    8082
    81 int packet_return( int phone, packet_ref packet, packet_id_t packet_id, size_t size ){
     83int packet_return(int phone, packet_ref packet, packet_id_t packet_id, size_t size){
    8284        ERROR_DECLARE;
    8385
    84         aid_t           message;
    85         ipc_call_t      answer;
    86         ipcarg_t        result;
     86        aid_t message;
     87        ipc_call_t answer;
     88        ipcarg_t result;
    8789
    88         message = async_send_1( phone, NET_PACKET_GET, packet_id, & answer );
    89         * packet = ( packet_t ) as_get_mappable_page( size );
    90         if( ERROR_OCCURRED( async_share_in_start_0_0( phone, * packet, size ))
    91         || ERROR_OCCURRED( pm_add( * packet ))){
    92                 munmap( * packet, size );
    93                 async_wait_for( message, NULL );
     90        message = async_send_1(phone, NET_PACKET_GET, packet_id, &answer);
     91        *packet = (packet_t) as_get_mappable_page(size);
     92        if(ERROR_OCCURRED(async_share_in_start_0_0(phone, * packet, size))
     93                || ERROR_OCCURRED(pm_add(*packet))){
     94                munmap(*packet, size);
     95                async_wait_for(message, NULL);
    9496                return ERROR_CODE;
    9597        }
    96         async_wait_for( message, & result );
     98        async_wait_for(message, &result);
    9799        return result;
    98100}
    99101
    100 packet_t packet_get_4( int phone, size_t max_content, size_t addr_len, size_t max_prefix, size_t max_suffix ){
     102packet_t packet_get_4(int phone, size_t max_content, size_t addr_len, size_t max_prefix, size_t max_suffix){
    101103        ERROR_DECLARE;
    102104
     
    105107        packet_t packet;
    106108
    107         if( ERROR_OCCURRED( async_req_4_2( phone, NET_PACKET_CREATE_4, max_content, addr_len, max_prefix, max_suffix, & packet_id, & size ))){
     109        if(ERROR_OCCURRED(async_req_4_2(phone, NET_PACKET_CREATE_4, max_content, addr_len, max_prefix, max_suffix, &packet_id, &size))){
    108110                return NULL;
    109111        }
    110         packet = pm_find( packet_id );
    111         if( ! packet ){
    112                 if( ERROR_OCCURRED( packet_return( phone, & packet, packet_id, size ))){
     112        packet = pm_find(packet_id);
     113        if(! packet){
     114                if(ERROR_OCCURRED(packet_return(phone, &packet, packet_id, size))){
    113115                        return NULL;
    114116                }
     
    117119}
    118120
    119 packet_t packet_get_1( int phone, size_t content ){
     121packet_t packet_get_1(int phone, size_t content){
    120122        ERROR_DECLARE;
    121123
    122         ipcarg_t        packet_id;
    123         ipcarg_t        size;
    124         packet_t        packet;
     124        ipcarg_t packet_id;
     125        ipcarg_t size;
     126        packet_t packet;
    125127
    126         if( ERROR_OCCURRED( async_req_1_2( phone, NET_PACKET_CREATE_1, content, & packet_id, & size ))){
     128        if(ERROR_OCCURRED(async_req_1_2(phone, NET_PACKET_CREATE_1, content, &packet_id, &size))){
    127129                return NULL;
    128130        }
    129         packet = pm_find( packet_id );
    130         if( ! packet ){
    131                 if( ERROR_OCCURRED( packet_return( phone, & packet, packet_id, size ))){
     131        packet = pm_find(packet_id);
     132        if(! packet){
     133                if(ERROR_OCCURRED(packet_return(phone, &packet, packet_id, size))){
    132134                        return NULL;
    133135                }
     
    136138}
    137139
    138 void pq_release( int phone, packet_id_t packet_id ){
    139         async_msg_1( phone, NET_PACKET_RELEASE, packet_id );
     140void pq_release(int phone, packet_id_t packet_id){
     141        async_msg_1(phone, NET_PACKET_RELEASE, packet_id);
    140142}
    141143
Note: See TracChangeset for help on using the changeset viewer.