bnep.c (e501bae08349e058caa4648e0af3dd01cbd89d20) | bnep.c (fb3896319c8d6fd0c347f732c9f703ed52c090cc) |
---|---|
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 --- 73 unchanged lines hidden (view full) --- 82 uint8_t event[3 + sizeof(bd_addr_t) + 4 * sizeof(uint16_t)]; 83 event[0] = BNEP_EVENT_CHANNEL_OPENED; 84 event[1] = sizeof(event) - 2; 85 event[2] = status; 86 little_endian_store_16(event, 3, channel->l2cap_cid); 87 little_endian_store_16(event, 5, channel->uuid_source); 88 little_endian_store_16(event, 7, channel->uuid_dest); 89 little_endian_store_16(event, 9, channel->max_frame_size); | 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 --- 73 unchanged lines hidden (view full) --- 82 uint8_t event[3 + sizeof(bd_addr_t) + 4 * sizeof(uint16_t)]; 83 event[0] = BNEP_EVENT_CHANNEL_OPENED; 84 event[1] = sizeof(event) - 2; 85 event[2] = status; 86 little_endian_store_16(event, 3, channel->l2cap_cid); 87 little_endian_store_16(event, 5, channel->uuid_source); 88 little_endian_store_16(event, 7, channel->uuid_dest); 89 little_endian_store_16(event, 9, channel->max_frame_size); |
90 bd_addr_copy(&event[11], channel->remote_addr); | 90 reverse_bd_addr(channel->remote_addr, &event[11]); |
91 hci_dump_packet( HCI_EVENT_PACKET, 0, event, sizeof(event)); 92 (*channel->packet_handler)(HCI_EVENT_PACKET, 0, (uint8_t *) event, sizeof(event)); 93} 94 95static void bnep_emit_channel_timeout(bnep_channel_t *channel) 96{ 97 log_info("BNEP_EVENT_CHANNEL_TIMEOUT bd_addr: %s, handler %p", bd_addr_to_str(channel->remote_addr), channel->packet_handler); 98 if (!channel->packet_handler) return; 99 100 uint8_t event[2 + sizeof(bd_addr_t) + 3 * sizeof(uint16_t) + sizeof(uint8_t)]; 101 event[0] = BNEP_EVENT_CHANNEL_TIMEOUT; 102 event[1] = sizeof(event) - 2; 103 little_endian_store_16(event, 2, channel->l2cap_cid); 104 little_endian_store_16(event, 4, channel->uuid_source); 105 little_endian_store_16(event, 6, channel->uuid_dest); | 91 hci_dump_packet( HCI_EVENT_PACKET, 0, event, sizeof(event)); 92 (*channel->packet_handler)(HCI_EVENT_PACKET, 0, (uint8_t *) event, sizeof(event)); 93} 94 95static void bnep_emit_channel_timeout(bnep_channel_t *channel) 96{ 97 log_info("BNEP_EVENT_CHANNEL_TIMEOUT bd_addr: %s, handler %p", bd_addr_to_str(channel->remote_addr), channel->packet_handler); 98 if (!channel->packet_handler) return; 99 100 uint8_t event[2 + sizeof(bd_addr_t) + 3 * sizeof(uint16_t) + sizeof(uint8_t)]; 101 event[0] = BNEP_EVENT_CHANNEL_TIMEOUT; 102 event[1] = sizeof(event) - 2; 103 little_endian_store_16(event, 2, channel->l2cap_cid); 104 little_endian_store_16(event, 4, channel->uuid_source); 105 little_endian_store_16(event, 6, channel->uuid_dest); |
106 bd_addr_copy(&event[8], channel->remote_addr); | 106 reverse_bd_addr(channel->remote_addr, &event[8]); |
107 event[14] = channel->state; 108 hci_dump_packet( HCI_EVENT_PACKET, 0, event, sizeof(event)); 109 (*channel->packet_handler)(HCI_EVENT_PACKET, 0, (uint8_t *) event, sizeof(event)); 110} 111 112static void bnep_emit_channel_closed(bnep_channel_t *channel) 113{ 114 log_info("BNEP_EVENT_CHANNEL_CLOSED bd_addr: %s, handler %p", bd_addr_to_str(channel->remote_addr), channel->packet_handler); 115 if (!channel->packet_handler) return; 116 117 uint8_t event[2 + sizeof(bd_addr_t) + 3 * sizeof(uint16_t)]; 118 event[0] = BNEP_EVENT_CHANNEL_CLOSED; 119 event[1] = sizeof(event) - 2; 120 little_endian_store_16(event, 2, channel->l2cap_cid); 121 little_endian_store_16(event, 4, channel->uuid_source); 122 little_endian_store_16(event, 6, channel->uuid_dest); | 107 event[14] = channel->state; 108 hci_dump_packet( HCI_EVENT_PACKET, 0, event, sizeof(event)); 109 (*channel->packet_handler)(HCI_EVENT_PACKET, 0, (uint8_t *) event, sizeof(event)); 110} 111 112static void bnep_emit_channel_closed(bnep_channel_t *channel) 113{ 114 log_info("BNEP_EVENT_CHANNEL_CLOSED bd_addr: %s, handler %p", bd_addr_to_str(channel->remote_addr), channel->packet_handler); 115 if (!channel->packet_handler) return; 116 117 uint8_t event[2 + sizeof(bd_addr_t) + 3 * sizeof(uint16_t)]; 118 event[0] = BNEP_EVENT_CHANNEL_CLOSED; 119 event[1] = sizeof(event) - 2; 120 little_endian_store_16(event, 2, channel->l2cap_cid); 121 little_endian_store_16(event, 4, channel->uuid_source); 122 little_endian_store_16(event, 6, channel->uuid_dest); |
123 bd_addr_copy(&event[8], channel->remote_addr); | 123 reverse_bd_addr(channel->remote_addr, &event[8]); |
124 hci_dump_packet( HCI_EVENT_PACKET, 0, event, sizeof(event)); 125 (*channel->packet_handler)(HCI_EVENT_PACKET, 0, (uint8_t *) event, sizeof(event)); 126} 127 128static void bnep_emit_ready_to_send(bnep_channel_t *channel) 129{ 130 if (!channel->packet_handler) return; 131 --- 1500 unchanged lines hidden --- | 124 hci_dump_packet( HCI_EVENT_PACKET, 0, event, sizeof(event)); 125 (*channel->packet_handler)(HCI_EVENT_PACKET, 0, (uint8_t *) event, sizeof(event)); 126} 127 128static void bnep_emit_ready_to_send(bnep_channel_t *channel) 129{ 130 if (!channel->packet_handler) return; 131 --- 1500 unchanged lines hidden --- |