Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #ifndef COMPONENT_H
  2. #define COMPONENT_H
  3.  
  4. struct device;
  5.  
  6. struct component_ops {
  7.         int (*bind)(struct device *, struct device *, void *);
  8.         void (*unbind)(struct device *, struct device *, void *);
  9. };
  10.  
  11. int component_add(struct device *, const struct component_ops *);
  12. void component_del(struct device *, const struct component_ops *);
  13.  
  14. int component_bind_all(struct device *, void *);
  15. void component_unbind_all(struct device *, void *);
  16.  
  17. struct master;
  18.  
  19. struct component_master_ops {
  20.         int (*add_components)(struct device *, struct master *);
  21.         int (*bind)(struct device *);
  22.         void (*unbind)(struct device *);
  23. };
  24.  
  25. int component_master_add(struct device *, const struct component_master_ops *);
  26. void component_master_del(struct device *,
  27.         const struct component_master_ops *);
  28.  
  29. int component_master_add_child(struct master *master,
  30.         int (*compare)(struct device *, void *), void *compare_data);
  31.  
  32. struct component_match;
  33.  
  34. int component_master_add_with_match(struct device *,
  35.         const struct component_master_ops *, struct component_match *);
  36. void component_match_add(struct device *, struct component_match **,
  37.         int (*compare)(struct device *, void *), void *compare_data);
  38.  
  39. #endif
  40.