Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/tl/udp/udp.c

    r14f1db0 r849ed54  
    4848#include <adt/dynamic_fifo.h>
    4949#include <packet/packet_client.h>
    50 #include <packet_remote.h>
    5150#include <net_checksum.h>
    5251#include <in.h>
     
    6463#include <socket_messages.h>
    6564#include <tl_common.h>
    66 #include <tl_local.h>
    67 #include <tl_interface.h>
    6865#include <tl_messages.h>
    6966
     
    261258        icmp_type_t type;
    262259        icmp_code_t code;
    263         void *ip_header;
     260        ip_pseudo_header_ref ip_header;
    264261        struct sockaddr * src;
    265262        struct sockaddr * dest;
     
    359356                        while(tmp_packet){
    360357                                next_packet = pq_detach(tmp_packet);
    361                                 pq_release_remote(udp_globals.net_phone, packet_get_id(tmp_packet));
     358                                pq_release(udp_globals.net_phone, packet_get_id(tmp_packet));
    362359                                tmp_packet = next_packet;
    363360                        }
     
    385382        // queue the received packet
    386383        if(ERROR_OCCURRED(dyn_fifo_push(&socket->received, packet_get_id(packet), SOCKET_MAX_RECEIVED_SIZE))
    387             || ERROR_OCCURRED(tl_get_ip_packet_dimension(udp_globals.ip_phone, &udp_globals.dimensions, device_id, &packet_dimension))){
     384                || ERROR_OCCURRED(tl_get_ip_packet_dimension(udp_globals.ip_phone, &udp_globals.dimensions, device_id, &packet_dimension))){
    388385                return udp_release_and_return(packet, ERROR_CODE);
    389386        }
     
    395392}
    396393
    397 int udp_message_standalone(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){
     394int udp_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){
    398395        ERROR_DECLARE;
    399396
     
    403400        switch(IPC_GET_METHOD(*call)){
    404401                case NET_TL_RECEIVED:
    405                         if(! ERROR_OCCURRED(packet_translate_remote(udp_globals.net_phone, &packet, IPC_GET_PACKET(call)))){
     402                        if(! ERROR_OCCURRED(packet_translate(udp_globals.net_phone, &packet, IPC_GET_PACKET(call)))){
    406403                                ERROR_CODE = udp_received_msg(IPC_GET_DEVICE(call), packet, SERVICE_UDP, IPC_GET_ERROR(call));
    407404                        }
     
    460457
    461458                                if(res == EOK){
    462                                         if (tl_get_ip_packet_dimension(udp_globals.ip_phone, &udp_globals.dimensions, DEVICE_INVALID_ID, &packet_dimension) == EOK){
     459                                        if(tl_get_ip_packet_dimension(udp_globals.ip_phone, &udp_globals.dimensions, DEVICE_INVALID_ID, &packet_dimension) == EOK){
    463460                                                SOCKET_SET_DATA_FRAGMENT_SIZE(answer, packet_dimension->content);
    464461                                        }
     
    536533        uint16_t dest_port;
    537534        uint32_t checksum;
    538         void *ip_header;
     535        ip_pseudo_header_ref ip_header;
    539536        size_t headerlen;
    540537        device_id_t device_id;
     
    665662                return NO_DATA;
    666663        }
    667         ERROR_PROPAGATE(packet_translate_remote(udp_globals.net_phone, &packet, packet_id));
     664        ERROR_PROPAGATE(packet_translate(udp_globals.net_phone, &packet, packet_id));
    668665        // get udp header
    669666        data = packet_get_data(packet);
    670667        if(! data){
    671                 pq_release_remote(udp_globals.net_phone, packet_id);
     668                pq_release(udp_globals.net_phone, packet_id);
    672669                return NO_DATA;
    673670        }
     
    677674        result = packet_get_addr(packet, (uint8_t **) &addr, NULL);
    678675        if(ERROR_OCCURRED(tl_set_address_port(addr, result, ntohs(header->source_port)))){
    679                 pq_release_remote(udp_globals.net_phone, packet_id);
     676                pq_release(udp_globals.net_phone, packet_id);
    680677                return ERROR_CODE;
    681678        }
     
    692689        // release the packet
    693690        dyn_fifo_pop(&socket->received);
    694         pq_release_remote(udp_globals.net_phone, packet_get_id(packet));
     691        pq_release(udp_globals.net_phone, packet_get_id(packet));
    695692        // return the total length
    696693        return (int) length;
     
    698695
    699696int udp_release_and_return(packet_t packet, int result){
    700         pq_release_remote(udp_globals.net_phone, packet_get_id(packet));
     697        pq_release(udp_globals.net_phone, packet_get_id(packet));
    701698        return result;
    702699}
     700
     701#ifdef CONFIG_NETWORKING_modular
     702
     703#include <tl_standalone.h>
    703704
    704705/** Default thread for new connections.
     
    728729               
    729730                /* Process the message */
    730                 int res = tl_module_message_standalone(callid, &call, &answer,
    731                     &answer_count);
     731                int res = tl_module_message(callid, &call, &answer, &answer_count);
    732732               
    733733                /* End if said to either by the message or the processing result */
     
    753753        ERROR_DECLARE;
    754754       
     755        /* Print the module label */
     756        printf("Task %d - %s\n", task_get_id(), NAME);
     757       
    755758        /* Start the module */
    756         if (ERROR_OCCURRED(tl_module_start_standalone(tl_client_connection)))
     759        if (ERROR_OCCURRED(tl_module_start(tl_client_connection))) {
     760                printf(" - ERROR %i\n", ERROR_CODE);
    757761                return ERROR_CODE;
     762        }
    758763       
    759764        return EOK;
    760765}
    761766
     767#endif /* CONFIG_NETWORKING_modular */
     768
    762769/** @}
    763770 */
Note: See TracChangeset for help on using the changeset viewer.