Ignore:
Timestamp:
2011-06-08T19:01:55Z (13 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.)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/usbhid/multimedia/multimedia.c

    r764d71e r79ae36dd  
    4646
    4747#include <errno.h>
     48#include <async.h>
     49#include <async_obsolete.h>
    4850#include <str_error.h>
    4951
    5052#include <ipc/kbd.h>
    5153#include <io/console.h>
     54
     55// FIXME: remove this header
     56#include <kernel/ipc/ipc_methods.h>
    5257
    5358#define NAME "multimedia-keys"
     
    143148        assert(multim_dev != NULL);
    144149       
    145         console_event_t ev;
     150        kbd_event_t ev;
    146151       
    147152        ev.type = type;
     
    157162        }
    158163       
    159         async_msg_4(multim_dev->console_phone, KBD_EVENT, ev.type, ev.key,
     164        async_obsolete_msg_4(multim_dev->console_phone, KBD_EVENT, ev.type, ev.key,
    160165            ev.mods, ev.c);
    161166}
     
    170175       
    171176        // hangup phone to the console
    172         async_hangup((*multim_dev)->console_phone);
     177        async_obsolete_hangup((*multim_dev)->console_phone);
    173178
    174179        free(*multim_dev);
Note: See TracChangeset for help on using the changeset viewer.