Changes in uspace/srv/devman/devman.h [80a96d2:45059d6b] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/devman/devman.h
r80a96d2 r45059d6b 63 63 typedef struct fun_node fun_node_t; 64 64 65 typedef struct {66 fibril_mutex_t mutex;67 struct driver *driver;68 } client_t;69 70 65 typedef enum { 71 66 /** Driver has not been started. */ … … 118 113 } driver_list_t; 119 114 120 /** Device state*/115 /** The state of the device. */ 121 116 typedef enum { 122 117 DEVICE_NOT_INITIALIZED = 0, 123 118 DEVICE_USABLE, 124 119 DEVICE_NOT_PRESENT, 125 DEVICE_INVALID, 126 /** Device node has been removed from the tree */ 127 DEVICE_REMOVED 120 DEVICE_INVALID 128 121 } device_state_t; 129 122 130 123 /** Device node in the device tree. */ 131 124 struct dev_node { 132 /** Reference count */133 atomic_t refcnt;134 135 125 /** The global unique identifier of the device. */ 136 126 devman_handle_t handle; … … 159 149 }; 160 150 161 /** Function state */162 typedef enum {163 FUN_INIT = 0,164 FUN_OFF_LINE,165 FUN_ON_LINE,166 /** Function node has been removed from the tree */167 FUN_REMOVED168 } fun_state_t;169 170 151 /** Function node in the device tree. */ 171 152 struct fun_node { 172 /** Reference count */173 atomic_t refcnt;174 /** State */175 fun_state_t state;176 177 153 /** The global unique identifier of the function */ 178 154 devman_handle_t handle; … … 258 234 259 235 extern void add_driver(driver_list_t *, driver_t *); 260 extern void attach_driver(dev_tree_t *, dev_node_t *, driver_t *); 261 extern void detach_driver(dev_tree_t *, dev_node_t *); 236 extern void attach_driver(dev_node_t *, driver_t *); 262 237 extern void add_device(driver_t *, dev_node_t *, dev_tree_t *); 263 238 extern bool start_driver(driver_t *); 264 extern int driver_dev_remove(dev_tree_t *, dev_node_t *);265 extern int driver_dev_gone(dev_tree_t *, dev_node_t *);266 extern int driver_fun_online(dev_tree_t *, fun_node_t *);267 extern int driver_fun_offline(dev_tree_t *, fun_node_t *);268 239 269 240 extern driver_t *find_driver(driver_list_t *, const char *); … … 278 249 extern dev_node_t *create_dev_node(void); 279 250 extern void delete_dev_node(dev_node_t *node); 280 extern void dev_add_ref(dev_node_t *);281 extern void dev_del_ref(dev_node_t *);282 251 extern dev_node_t *find_dev_node_no_lock(dev_tree_t *tree, 283 252 devman_handle_t handle); … … 289 258 extern fun_node_t *create_fun_node(void); 290 259 extern void delete_fun_node(fun_node_t *); 291 extern void fun_add_ref(fun_node_t *);292 extern void fun_del_ref(fun_node_t *);293 260 extern fun_node_t *find_fun_node_no_lock(dev_tree_t *tree, 294 261 devman_handle_t handle); 295 262 extern fun_node_t *find_fun_node(dev_tree_t *tree, devman_handle_t handle); 296 263 extern fun_node_t *find_fun_node_by_path(dev_tree_t *, char *); 297 extern fun_node_t *find_fun_node_in_device(dev_tree_t *tree, dev_node_t *, 298 const char *); 264 extern fun_node_t *find_fun_node_in_device(dev_node_t *, const char *); 299 265 300 266 /* Device tree */ … … 303 269 extern bool create_root_nodes(dev_tree_t *); 304 270 extern bool insert_dev_node(dev_tree_t *, dev_node_t *, fun_node_t *); 305 extern void remove_dev_node(dev_tree_t *, dev_node_t *);306 271 extern bool insert_fun_node(dev_tree_t *, fun_node_t *, char *, dev_node_t *); 307 272 extern void remove_fun_node(dev_tree_t *, fun_node_t *);
Note:
See TracChangeset
for help on using the changeset viewer.