Changeset e5556e4a in mainline for uspace/lib/c


Ignore:
Timestamp:
2013-09-11T09:46:38Z (12 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7969087
Parents:
4c6ade6
Message:

Reverse order of drivers in driver list. Print driver state.

Location:
uspace/lib/c
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/devman.c

    r4c6ade6 re5556e4a  
    604604}
    605605
     606int devman_driver_get_state(devman_handle_t drvh, driver_state_t *rstate)
     607{
     608        sysarg_t state;
     609        async_exch_t *exch = devman_exchange_begin(DEVMAN_CLIENT);
     610        if (exch == NULL)
     611                return ENOMEM;
     612       
     613        int rc = async_req_1_1(exch, DEVMAN_DRIVER_GET_STATE, drvh,
     614            &state);
     615       
     616        devman_exchange_end(exch);
     617        if (rc != EOK)
     618                return rc;
     619
     620        *rstate = state;
     621        return rc;
     622}
     623
    606624/** @}
    607625 */
  • uspace/lib/c/include/devman.h

    r4c6ade6 re5556e4a  
    7373extern int devman_get_drivers(devman_handle_t **, size_t *);
    7474extern int devman_driver_get_name(devman_handle_t, char *, size_t);
     75extern int devman_driver_get_state(devman_handle_t, driver_state_t *);
    7576
    7677#endif
  • uspace/lib/c/include/ipc/devman.h

    r4c6ade6 re5556e4a  
    4242
    4343typedef sysarg_t devman_handle_t;
     44
     45typedef enum {
     46        /** Driver has not been started. */
     47        DRIVER_NOT_STARTED = 0,
     48       
     49        /**
     50         * Driver has been started, but has not registered as running and ready
     51         * to receive requests.
     52         */
     53        DRIVER_STARTING,
     54       
     55        /** Driver is running and prepared to serve incomming requests. */
     56        DRIVER_RUNNING
     57} driver_state_t;
    4458
    4559typedef enum {
     
    163177        DEVMAN_FUN_SID_TO_HANDLE,
    164178        DEVMAN_GET_DRIVERS,
    165         DEVMAN_DRIVER_GET_NAME
     179        DEVMAN_DRIVER_GET_NAME,
     180        DEVMAN_DRIVER_GET_STATE
    166181} client_to_devman_t;
    167182
Note: See TracChangeset for help on using the changeset viewer.