bluetooth.h revision aca2845d2be375190b3738672b25997516cbb48d
1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Bluez header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to Android. It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ****************************************************************************
11 ****************************************************************************/
12#ifndef __BLUETOOTH_H
13#define __BLUETOOTH_H
14
15#ifdef __cplusplus
16#endif
17#include <stdio.h>
18#include <stdint.h>
19#include <string.h>
20#include <endian.h>
21#include <byteswap.h>
22#ifndef AF_BLUETOOTH
23#define AF_BLUETOOTH 31
24#define PF_BLUETOOTH AF_BLUETOOTH
25#endif
26#ifndef SOL_BLUETOOTH
27#define SOL_BLUETOOTH 274
28#endif
29#define BTPROTO_L2CAP 0
30#define BTPROTO_HCI 1
31#define BTPROTO_SCO 2
32#define BTPROTO_RFCOMM 3
33#define BTPROTO_BNEP 4
34#define BTPROTO_CMTP 5
35#define BTPROTO_HIDP 6
36#define BTPROTO_AVDTP 7
37#define SOL_HCI 0
38#define SOL_L2CAP 6
39#define SOL_SCO 17
40#define SOL_RFCOMM 18
41#if __BYTE_ORDER == __LITTLE_ENDIAN
42#define htobs(d) (d)
43#define htobl(d) (d)
44#define btohs(d) (d)
45#define btohl(d) (d)
46#elif __BYTE_ORDER == __BIG_ENDIAN
47#define htobs(d) bswap_16(d)
48#define htobl(d) bswap_32(d)
49#define btohs(d) bswap_16(d)
50#define btohl(d) bswap_32(d)
51#else
52#error "Unknown byte order"
53#endif
54#define bt_get_unaligned(ptr)  ({   struct __attribute__((packed)) {   typeof(*(ptr)) __v;   } *__p = (void *) (ptr);   __p->__v;  })
55#define bt_put_unaligned(val, ptr)  do {   struct __attribute__((packed)) {   typeof(*(ptr)) __v;   } *__p = (void *) (ptr);   __p->__v = (val);  } while(0)
56#define BDADDR_ANY (&(bdaddr_t) {{0, 0, 0, 0, 0, 0}})
57#define BDADDR_ALL (&(bdaddr_t) {{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}})
58#define BDADDR_LOCAL (&(bdaddr_t) {{0, 0, 0, 0xff, 0xff, 0xff}})
59#ifdef __cplusplus
60#endif
61typedef struct {
62	uint8_t b[6];
63} __attribute__((packed)) bdaddr_t;
64static inline void bacpy(bdaddr_t *dst, const bdaddr_t *src)
65{
66	memcpy(dst, src, sizeof(bdaddr_t));
67}
68#endif
69