Changeset 79ae36dd in mainline for uspace/srv/devman/devman.h


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/srv/devman/devman.h

    r764d71e r79ae36dd  
    4444#include <fibril_synch.h>
    4545#include <atomic.h>
     46#include <async.h>
    4647
    4748#include "util.h"
     
    8788        int state;
    8889       
    89         /** Phone asociated with this driver. */
    90         int phone;
     90        /** Session asociated with this driver. */
     91        async_sess_t *sess;
    9192        /** Name of the device driver. */
    9293        char *name;
     
    99100       
    100101        /**
    101          * Fibril mutex for this driver - driver state, list of devices, phone.
     102         * Fibril mutex for this driver - driver state, list of devices, session.
    102103         */
    103104        fibril_mutex_t driver_mutex;
     
    312313extern void add_driver(driver_list_t *, driver_t *);
    313314extern void attach_driver(dev_node_t *, driver_t *);
    314 extern void add_device(int, driver_t *, dev_node_t *, dev_tree_t *);
     315extern void add_device(async_sess_t *, driver_t *, dev_node_t *, dev_tree_t *);
    315316extern bool start_driver(driver_t *);
    316317
Note: See TracChangeset for help on using the changeset viewer.