Changes in uspace/srv/devman/devman.h [80a96d2:422722e] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/devman/devman.h
r80a96d2 r422722e 118 118 } driver_list_t; 119 119 120 /** Device state*/120 /** The state of the device. */ 121 121 typedef enum { 122 122 DEVICE_NOT_INITIALIZED = 0, 123 123 DEVICE_USABLE, 124 124 DEVICE_NOT_PRESENT, 125 DEVICE_INVALID, 126 /** Device node has been removed from the tree */ 127 DEVICE_REMOVED 125 DEVICE_INVALID 128 126 } device_state_t; 129 127 130 128 /** Device node in the device tree. */ 131 129 struct dev_node { 132 /** Reference count */133 atomic_t refcnt;134 135 130 /** The global unique identifier of the device. */ 136 131 devman_handle_t handle; … … 159 154 }; 160 155 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 156 /** Function node in the device tree. */ 171 157 struct fun_node { 172 /** Reference count */173 atomic_t refcnt;174 /** State */175 fun_state_t state;176 177 158 /** The global unique identifier of the function */ 178 159 devman_handle_t handle; … … 258 239 259 240 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 *); 241 extern void attach_driver(dev_node_t *, driver_t *); 262 242 extern void add_device(driver_t *, dev_node_t *, dev_tree_t *); 263 243 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 244 269 245 extern driver_t *find_driver(driver_list_t *, const char *); … … 278 254 extern dev_node_t *create_dev_node(void); 279 255 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 256 extern dev_node_t *find_dev_node_no_lock(dev_tree_t *tree, 283 257 devman_handle_t handle); … … 289 263 extern fun_node_t *create_fun_node(void); 290 264 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 265 extern fun_node_t *find_fun_node_no_lock(dev_tree_t *tree, 294 266 devman_handle_t handle); 295 267 extern fun_node_t *find_fun_node(dev_tree_t *tree, devman_handle_t handle); 296 268 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 *); 269 extern fun_node_t *find_fun_node_in_device(dev_node_t *, const char *); 299 270 300 271 /* Device tree */ … … 303 274 extern bool create_root_nodes(dev_tree_t *); 304 275 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 276 extern bool insert_fun_node(dev_tree_t *, fun_node_t *, char *, dev_node_t *); 307 277 extern void remove_fun_node(dev_tree_t *, fun_node_t *);
Note:
See TracChangeset
for help on using the changeset viewer.