Changeset 79ae36dd in mainline for uspace/lib/net/netif


Ignore:
Timestamp:
2011-06-08T19:01:55Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0eff68e
Parents:
764d71e
Message:

new async framework with integrated exchange tracking

  • strict isolation between low-level IPC and high-level async framework with integrated exchange tracking
    • each IPC connection is represented by an async_sess_t structure
    • each IPC exchange is represented by an async_exch_t structure
    • exchange management is either based on atomic messages (EXCHANGE_ATOMIC), locking (EXCHANGE_SERIALIZE) or connection cloning (EXCHANGE_CLONE)
  • async_obsolete: temporary compatibility layer to keep old async clients working (several pieces of code are currently broken, but only non-essential functionality)
  • IPC_M_PHONE_HANGUP is now method no. 0 (for elegant boolean evaluation)
  • IPC_M_DEBUG_ALL has been renamed to IPC_M_DEBUG
  • IPC_M_PING has been removed (VFS protocol now has VFS_IN_PING)
  • console routines in libc have been rewritten for better abstraction
  • additional use for libc-private header files (FILE structure opaque to the client)
  • various cstyle changes (typos, indentation, missing externs in header files, improved comments, etc.)
Location:
uspace/lib/net/netif
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/net/netif/netif_remote.c

    r764d71e r79ae36dd  
    3838#include <packet_client.h>
    3939#include <generic.h>
    40 
     40#include <async_obsolete.h>
    4141#include <ipc/services.h>
    4242#include <ipc/netif.h>
     
    8282int netif_probe_req(int netif_phone, device_id_t device_id, int irq, void *io)
    8383{
    84         return async_req_3_0(netif_phone, NET_NETIF_PROBE, device_id, irq,
     84        return async_obsolete_req_3_0(netif_phone, NET_NETIF_PROBE, device_id, irq,
    8585            (sysarg_t) io);
    8686}
     
    119119int netif_start_req(int netif_phone, device_id_t device_id)
    120120{
    121         return async_req_1_0(netif_phone, NET_NETIF_START, device_id);
     121        return async_obsolete_req_1_0(netif_phone, NET_NETIF_START, device_id);
    122122}
    123123
     
    136136int netif_stop_req(int netif_phone, device_id_t device_id)
    137137{
    138         return async_req_1_0(netif_phone, NET_NETIF_STOP, device_id);
     138        return async_obsolete_req_1_0(netif_phone, NET_NETIF_STOP, device_id);
    139139}
    140140
     
    154154                return EBADMEM;
    155155       
    156         aid_t message_id = async_send_1(netif_phone, NET_NETIF_STATS,
     156        aid_t message_id = async_obsolete_send_1(netif_phone, NET_NETIF_STATS,
    157157            (sysarg_t) device_id, NULL);
    158         async_data_read_start(netif_phone, stats, sizeof(*stats));
     158        async_obsolete_data_read_start(netif_phone, stats, sizeof(*stats));
    159159       
    160160        sysarg_t result;
  • uspace/lib/net/netif/netif_skel.c

    r764d71e r79ae36dd  
    5454#include <nil_remote.h>
    5555
     56// FIXME: remove this header
     57#include <kernel/ipc/ipc_methods.h>
     58
    5659DEVICE_MAP_IMPLEMENT(netif_device_map, netif_device_t);
    5760
     
    288291        *count = 0;
    289292       
     293        if (!IPC_GET_IMETHOD(*call))
     294                return EOK;
     295       
    290296        switch (IPC_GET_IMETHOD(*call)) {
    291         case IPC_M_PHONE_HUNGUP:
    292                 return EOK;
    293        
    294297        case NET_NETIF_PROBE:
    295298                return netif_probe_req_local(0, IPC_GET_DEVICE(*call),
     
    385388               
    386389                /* End if said to either by the message or the processing result */
    387                 if ((IPC_GET_IMETHOD(call) == IPC_M_PHONE_HUNGUP) ||
    388                     (res == EHANGUP))
     390                if ((!IPC_GET_IMETHOD(call)) || (res == EHANGUP))
    389391                        return;
    390392               
Note: See TracChangeset for help on using the changeset viewer.