1*8b26181fSAndroid Build Coastguard Worker /* 2*8b26181fSAndroid Build Coastguard Worker * Copyright (c) 2006 Paolo Abeni (Italy) 3*8b26181fSAndroid Build Coastguard Worker * All rights reserved. 4*8b26181fSAndroid Build Coastguard Worker * 5*8b26181fSAndroid Build Coastguard Worker * Redistribution and use in source and binary forms, with or without 6*8b26181fSAndroid Build Coastguard Worker * modification, are permitted provided that the following conditions 7*8b26181fSAndroid Build Coastguard Worker * are met: 8*8b26181fSAndroid Build Coastguard Worker * 9*8b26181fSAndroid Build Coastguard Worker * 1. Redistributions of source code must retain the above copyright 10*8b26181fSAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer. 11*8b26181fSAndroid Build Coastguard Worker * 2. Redistributions in binary form must reproduce the above copyright 12*8b26181fSAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer in the 13*8b26181fSAndroid Build Coastguard Worker * documentation and/or other materials provided with the distribution. 14*8b26181fSAndroid Build Coastguard Worker * 3. The name of the author may not be used to endorse or promote 15*8b26181fSAndroid Build Coastguard Worker * products derived from this software without specific prior written 16*8b26181fSAndroid Build Coastguard Worker * permission. 17*8b26181fSAndroid Build Coastguard Worker * 18*8b26181fSAndroid Build Coastguard Worker * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19*8b26181fSAndroid Build Coastguard Worker * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20*8b26181fSAndroid Build Coastguard Worker * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21*8b26181fSAndroid Build Coastguard Worker * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22*8b26181fSAndroid Build Coastguard Worker * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23*8b26181fSAndroid Build Coastguard Worker * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24*8b26181fSAndroid Build Coastguard Worker * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25*8b26181fSAndroid Build Coastguard Worker * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26*8b26181fSAndroid Build Coastguard Worker * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27*8b26181fSAndroid Build Coastguard Worker * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28*8b26181fSAndroid Build Coastguard Worker * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29*8b26181fSAndroid Build Coastguard Worker * 30*8b26181fSAndroid Build Coastguard Worker * bluetooth data struct 31*8b26181fSAndroid Build Coastguard Worker * By Paolo Abeni <[email protected]> 32*8b26181fSAndroid Build Coastguard Worker */ 33*8b26181fSAndroid Build Coastguard Worker 34*8b26181fSAndroid Build Coastguard Worker #ifndef lib_pcap_bluetooth_h 35*8b26181fSAndroid Build Coastguard Worker #define lib_pcap_bluetooth_h 36*8b26181fSAndroid Build Coastguard Worker 37*8b26181fSAndroid Build Coastguard Worker #include <pcap/pcap-inttypes.h> 38*8b26181fSAndroid Build Coastguard Worker 39*8b26181fSAndroid Build Coastguard Worker /* 40*8b26181fSAndroid Build Coastguard Worker * Header prepended libpcap to each bluetooth h4 frame, 41*8b26181fSAndroid Build Coastguard Worker * fields are in network byte order 42*8b26181fSAndroid Build Coastguard Worker */ 43*8b26181fSAndroid Build Coastguard Worker typedef struct _pcap_bluetooth_h4_header { 44*8b26181fSAndroid Build Coastguard Worker uint32_t direction; /* if first bit is set direction is incoming */ 45*8b26181fSAndroid Build Coastguard Worker } pcap_bluetooth_h4_header; 46*8b26181fSAndroid Build Coastguard Worker 47*8b26181fSAndroid Build Coastguard Worker /* 48*8b26181fSAndroid Build Coastguard Worker * Header prepended libpcap to each bluetooth linux monitor frame, 49*8b26181fSAndroid Build Coastguard Worker * fields are in network byte order 50*8b26181fSAndroid Build Coastguard Worker */ 51*8b26181fSAndroid Build Coastguard Worker typedef struct _pcap_bluetooth_linux_monitor_header { 52*8b26181fSAndroid Build Coastguard Worker uint16_t adapter_id; 53*8b26181fSAndroid Build Coastguard Worker uint16_t opcode; 54*8b26181fSAndroid Build Coastguard Worker } pcap_bluetooth_linux_monitor_header; 55*8b26181fSAndroid Build Coastguard Worker 56*8b26181fSAndroid Build Coastguard Worker #endif 57