amp.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. Copyright (c) 2011,2012 Intel Corp.
  3. This program is free software; you can redistribute it and/or modify
  4. it under the terms of the GNU General Public License version 2 and
  5. only version 2 as published by the Free Software Foundation.
  6. This program is distributed in the hope that it will be useful,
  7. but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  9. GNU General Public License for more details.
  10. */
  11. #ifndef __AMP_H
  12. #define __AMP_H
  13. struct amp_ctrl {
  14. struct list_head list;
  15. struct kref kref;
  16. __u8 id;
  17. __u16 assoc_len_so_far;
  18. __u16 assoc_rem_len;
  19. __u16 assoc_len;
  20. __u8 *assoc;
  21. };
  22. int amp_ctrl_put(struct amp_ctrl *ctrl);
  23. struct amp_ctrl *amp_ctrl_add(struct amp_mgr *mgr);
  24. struct amp_ctrl *amp_ctrl_lookup(struct amp_mgr *mgr, u8 id);
  25. void amp_ctrl_list_flush(struct amp_mgr *mgr);
  26. struct hci_conn *phylink_add(struct hci_dev *hdev, struct amp_mgr *mgr,
  27. u8 remote_id);
  28. void amp_read_loc_info(struct hci_dev *hdev, struct amp_mgr *mgr);
  29. void amp_read_loc_assoc_frag(struct hci_dev *hdev, u8 phy_handle);
  30. void amp_read_loc_assoc(struct hci_dev *hdev, struct amp_mgr *mgr);
  31. #endif /* __AMP_H */