Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/net/il/il_remote.c

    r797b704 r609243f4  
    3939#include <generic.h>
    4040#include <packet_client.h>
    41 
    4241#include <ipc/services.h>
    4342#include <ipc/il.h>
    44 
    4543#include <net/device.h>
    4644#include <net/packet.h>
     
    4846/** Notify the internetwork layer modules about the device state change.
    4947 *
    50  * @param[in] il_phone  The internetwork layer module phone used for
    51  *                      (semi)remote calls.
    52  * @param[in] device_id The device identifier.
    53  * @param[in] state     The new device state.
    54  * @param[in] target    The target internetwork module service to be
     48 * @param[in] sess      Internetwork layer module session.
     49 * @param[in] device_id Device identifier.
     50 * @param[in] state     New device state.
     51 * @param[in] target    Target internetwork module service to be
    5552 *                      delivered to.
    5653 *
     
    5855 *
    5956 */
    60 int il_device_state_msg(int il_phone, device_id_t device_id,
    61     device_state_t state, services_t target)
     57int il_device_state_msg(async_sess_t *sess, nic_device_id_t device_id,
     58    nic_device_state_t state, services_t target)
    6259{
    63         return generic_device_state_msg_remote(il_phone, NET_IL_DEVICE_STATE,
     60        return generic_device_state_msg_remote(sess, NET_IL_DEVICE_STATE,
    6461            device_id, state, target);
    6562}
     
    6764/** Notify the internetwork layer modules about the received packet/s.
    6865 *
    69  * @param[in] il_phone  The internetwork layer module phone used for
    70  *                      (semi)remote calls.
    71  * @param[in] device_id The device identifier.
    72  * @param[in] packet    The received packet or the received packet queue.
    73  * @param[in] target    The target internetwork module service to be
     66 * @param[in] sess      Internetwork layer module session.
     67 * @param[in] device_id Device identifier.
     68 * @param[in] packet    Received packet or the received packet queue.
     69 * @param[in] target    Target internetwork module service to be
    7470 *                      delivered to.
    7571 *
     
    7773 *
    7874 */
    79 int il_received_msg(int il_phone, device_id_t device_id, packet_t *packet,
    80     services_t target)
     75int il_received_msg(async_sess_t *sess, nic_device_id_t device_id,
     76    packet_t *packet, services_t target)
    8177{
    82         return generic_received_msg_remote(il_phone, NET_IL_RECEIVED, device_id,
     78        return generic_received_msg_remote(sess, NET_IL_RECEIVED, device_id,
    8379            packet_get_id(packet), target, 0);
    8480}
     
    8682/** Notify the internetwork layer modules about the mtu change.
    8783 *
    88  * @param[in] il_phone  The internetwork layer module phone used for
    89  *                      (semi)remote calls.
    90  * @param[in] device_id The device identifier.
    91  * @param[in] mtu       The new mtu value.
    92  * @param[in] target    The target internetwork module service to be
     84 * @param[in] sess      Internetwork layer module session.
     85 * @param[in] device_id Device identifier.
     86 * @param[in] mtu       New MTU value.
     87 * @param[in] target    Target internetwork module service to be
    9388 *                      delivered to.
    9489 *
     
    9691 *
    9792 */
    98 int il_mtu_changed_msg(int il_phone, device_id_t device_id, size_t mtu,
     93int il_mtu_changed_msg(async_sess_t *sess, nic_device_id_t device_id, size_t mtu,
    9994    services_t target)
    10095{
    101         return generic_device_state_msg_remote(il_phone, NET_IL_MTU_CHANGED,
    102             device_id, (int) mtu, target);
     96        return generic_device_state_msg_remote(sess, NET_IL_MTU_CHANGED,
     97            device_id, mtu, target);
     98}
     99
     100/** Notify IL layer modules about address change (implemented by ARP)
     101 *
     102 */
     103int il_addr_changed_msg(async_sess_t *sess, nic_device_id_t device_id,
     104    size_t addr_len, const uint8_t *address)
     105{
     106        async_exch_t *exch = async_exchange_begin(sess);
     107       
     108        aid_t message_id = async_send_1(exch, NET_IL_ADDR_CHANGED,
     109                        (sysarg_t) device_id, NULL);
     110        int rc = async_data_write_start(exch, address, addr_len);
     111       
     112        async_exchange_end(exch);
     113       
     114        sysarg_t res;
     115    async_wait_for(message_id, &res);
     116    if (rc != EOK)
     117                return rc;
     118       
     119    return (int) res;
    103120}
    104121
Note: See TracChangeset for help on using the changeset viewer.