hid_device.c (2fca4dad957cd7b88f4657ed51e89c12615dda72) hid_device.c (b93f89661ecd1d19be40311be96b92932960a800)
1/*
2 * Copyright (C) 2014 BlueKitchen GmbH
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright

--- 949 unchanged lines hidden (view full) ---

958void hid_device_disconnect_interrupt_channel(uint16_t hid_cid){
959 hid_device_t * hid_device = hid_device_get_instance_for_hid_cid(hid_cid);
960 if (!hid_device){
961 log_error("hid_device_disconnect_interrupt_channel: could not find hid device instace");
962 return;
963 }
964 log_info("Disconnect from interrupt channel HID Host");
965 if (hid_device->interrupt_cid){
1/*
2 * Copyright (C) 2014 BlueKitchen GmbH
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright

--- 949 unchanged lines hidden (view full) ---

958void hid_device_disconnect_interrupt_channel(uint16_t hid_cid){
959 hid_device_t * hid_device = hid_device_get_instance_for_hid_cid(hid_cid);
960 if (!hid_device){
961 log_error("hid_device_disconnect_interrupt_channel: could not find hid device instace");
962 return;
963 }
964 log_info("Disconnect from interrupt channel HID Host");
965 if (hid_device->interrupt_cid){
966 l2cap_disconnect(hid_device->interrupt_cid, 0); // reason isn't used
966 l2cap_disconnect(hid_device->interrupt_cid);
967 }
968}
969
970void hid_device_disconnect_control_channel(uint16_t hid_cid){
971 hid_device_t * hid_device = hid_device_get_instance_for_hid_cid(hid_cid);
972 if (!hid_device){
973 log_error("hid_device_disconnect_control_channel: could not find hid device instace");
974 return;
975 }
976 log_info("Disconnect from control channel HID Host");
977 if (hid_device->control_cid){
967 }
968}
969
970void hid_device_disconnect_control_channel(uint16_t hid_cid){
971 hid_device_t * hid_device = hid_device_get_instance_for_hid_cid(hid_cid);
972 if (!hid_device){
973 log_error("hid_device_disconnect_control_channel: could not find hid device instace");
974 return;
975 }
976 log_info("Disconnect from control channel HID Host");
977 if (hid_device->control_cid){
978 l2cap_disconnect(hid_device->control_cid, 0); // reason isn't used
978 l2cap_disconnect(hid_device->control_cid);
979 }
980}
981
982void hid_device_disconnect(uint16_t hid_cid){
983 hid_device_t * hid_device = hid_device_get_instance_for_hid_cid(hid_cid);
984 if (!hid_device){
985 log_error("hid_device_disconnect: could not find hid device instace");
986 return;
987 }
988 log_info("Disconnect from HID Host");
989 if (hid_device->interrupt_cid){
979 }
980}
981
982void hid_device_disconnect(uint16_t hid_cid){
983 hid_device_t * hid_device = hid_device_get_instance_for_hid_cid(hid_cid);
984 if (!hid_device){
985 log_error("hid_device_disconnect: could not find hid device instace");
986 return;
987 }
988 log_info("Disconnect from HID Host");
989 if (hid_device->interrupt_cid){
990 l2cap_disconnect(hid_device->interrupt_cid, 0); // reason isn't used
990 l2cap_disconnect(hid_device->interrupt_cid);
991 }
992 if (hid_device->control_cid){
991 }
992 if (hid_device->control_cid){
993 l2cap_disconnect(hid_device->control_cid, 0); // reason isn't used
994 }
993 l2cap_disconnect(hid_device->control_cid);
994 }
995}
996
997int hid_device_in_boot_protocol_mode(uint16_t hid_cid){
998 hid_device_t * hid_device = hid_device_get_instance_for_hid_cid(hid_cid);
999 if (!hid_device){
1000 log_error("hid_device_in_boot_protocol_mode: could not find hid device instace");
1001 return 0;
1002 }
1003 return hid_device->protocol_mode == HID_PROTOCOL_MODE_BOOT;
1004}
995}
996
997int hid_device_in_boot_protocol_mode(uint16_t hid_cid){
998 hid_device_t * hid_device = hid_device_get_instance_for_hid_cid(hid_cid);
999 if (!hid_device){
1000 log_error("hid_device_in_boot_protocol_mode: could not find hid device instace");
1001 return 0;
1002 }
1003 return hid_device->protocol_mode == HID_PROTOCOL_MODE_BOOT;
1004}