Changeset b7068da in mainline for uspace/lib/drv/generic/remote_nic.c


Ignore:
Timestamp:
2012-02-09T20:35:12Z (12 years ago)
Author:
Maurizio Lombardi <m.lombardi85@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
591762c6
Parents:
7cede12c (diff), 3d4750f (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/lib/drv/generic/remote_nic.c

    r7cede12c rb7068da  
    3939#include <errno.h>
    4040#include <ipc/services.h>
    41 #include <adt/measured_strings.h>
    4241#include <sys/time.h>
    4342#include "ops/nic.h"
    4443
    45 static void remote_nic_send_message(ddf_fun_t *dev, void *iface,
    46     ipc_callid_t callid, ipc_call_t *call)
    47 {
    48         nic_iface_t *nic_iface = (nic_iface_t *) iface;
    49         assert(nic_iface->send_message);
    50        
    51         packet_id_t packet_id = (packet_id_t) IPC_GET_ARG2(*call);
    52        
    53         int rc = nic_iface->send_message(dev, packet_id);
    54         async_answer_0(callid, rc);
    55 }
    56 
    57 static void remote_nic_connect_to_nil(ddf_fun_t *dev, void *iface,
    58     ipc_callid_t callid, ipc_call_t *call)
    59 {
    60         nic_iface_t *nic_iface = (nic_iface_t *) iface;
    61         assert(nic_iface->connect_to_nil);
    62        
    63         services_t nil_service = (services_t) IPC_GET_ARG2(*call);
    64         nic_device_id_t device_id = (nic_device_id_t) IPC_GET_ARG3(*call);
    65        
    66         int rc = nic_iface->connect_to_nil(dev, nil_service, device_id);
     44static void remote_nic_send_frame(ddf_fun_t *dev, void *iface,
     45    ipc_callid_t callid, ipc_call_t *call)
     46{
     47        nic_iface_t *nic_iface = (nic_iface_t *) iface;
     48        assert(nic_iface->send_frame);
     49       
     50        void *data;
     51        size_t size;
     52        int rc;
     53       
     54        rc = async_data_write_accept(&data, false, 0, 0, 0, &size);
     55        if (rc != EOK) {
     56                async_answer_0(callid, EINVAL);
     57                return;
     58        }
     59       
     60        rc = nic_iface->send_frame(dev, data, size);
     61        async_answer_0(callid, rc);
     62        free(data);
     63}
     64
     65static void remote_nic_callback_create(ddf_fun_t *dev, void *iface,
     66    ipc_callid_t callid, ipc_call_t *call)
     67{
     68        nic_iface_t *nic_iface = (nic_iface_t *) iface;
     69        assert(nic_iface->callback_create);
     70       
     71        int rc = nic_iface->callback_create(dev);
    6772        async_answer_0(callid, rc);
    6873}
     
    829834       
    830835        uint16_t tag = (uint16_t) IPC_GET_ARG2(*call);
    831         int add = (int) IPC_GET_ARG3(*call);
    832         int strip = (int) IPC_GET_ARG4(*call);
     836        bool add = (int) IPC_GET_ARG3(*call);
     837        bool strip = (int) IPC_GET_ARG4(*call);
    833838       
    834839        int rc = nic_iface->vlan_set_tag(dev, tag, add, strip);
     
    11941199 */
    11951200static remote_iface_func_ptr_t remote_nic_iface_ops[] = {
    1196         &remote_nic_send_message,
    1197         &remote_nic_connect_to_nil,
     1201        &remote_nic_send_frame,
     1202        &remote_nic_callback_create,
    11981203        &remote_nic_get_state,
    11991204        &remote_nic_set_state,
Note: See TracChangeset for help on using the changeset viewer.