Changeset 798f364 in mainline for uspace/srv/devmap/devmap.h


Ignore:
Timestamp:
2007-11-05T20:57:56Z (17 years ago)
Author:
Josef Cejka <malyzelenyhnus@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6537572
Parents:
320c884
Message:

New version of device mapper.
Added devmap test to tester.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/devmap/devmap.h

    r320c884 r798f364  
    4040
    4141typedef enum {
    42         DEVMAP_REGISTER = IPC_FIRST_USER_METHOD,
    43         DEVMAP_UNREGISTER,
    44         DEVMAP_CONNECT_TO_DEVICE,
    45         DEVMAP_GET_HANDLE
     42        DEVMAP_DRIVER_REGISTER = IPC_FIRST_USER_METHOD,
     43        DEVMAP_DRIVER_UNREGISTER,
     44        DEVMAP_DEVICE_CONNECT_ME_TO,
     45        DEVMAP_DEVICE_REGISTER,
     46        DEVMAP_DEVICE_UNREGISTER,
     47        DEVMAP_DEVICE_GET_NAME,
     48        DEVMAP_DEVICE_GET_HANDLE
    4649} devmap_request_t;
    4750
     51/** Representation of device driver.
     52 * Each driver is responsible for a set of devices.
     53 */
     54typedef struct {
     55                /** Pointers to previous and next drivers in linked list */
     56        link_t drivers;
     57                /** Pointer to the linked list of devices controlled by
     58                 * this driver */
     59        link_t devices;
     60                /** Phone asociated with this driver */
     61        ipcarg_t phone;
     62                /** Device driver name */
     63        char *name;     
     64                /** Futex for list of devices owned by this driver */
     65        atomic_t devices_futex;
     66} devmap_driver_t;
    4867
    4968/** Info about registered device
     
    5170 */
    5271typedef struct {
    53         link_t list;
     72                /** Pointer to the previous and next device in the list of all devices */
     73        link_t devices;
     74                /** Pointer to the previous and next device in the list of devices
     75                 owned by one driver */
     76        link_t driver_devices;
     77                /** Unique device identifier  */
    5478        int handle;
     79                /** Device name */
    5580        char *name;
    56         ipcarg_t phone;
     81                /** Device driver handling this device */
     82        devmap_driver_t *driver;
    5783} devmap_device_t;
     84
     85/** Interface provided by DevMap.
     86 *
     87 */
     88typedef enum {
     89        DEVMAP_DRIVER = 1,
     90        DEVMAP_CLIENT
     91} devmap_interface_t;
    5892
    5993#endif
Note: See TracChangeset for help on using the changeset viewer.