haiku/headers/os/bluetooth/bluetooth.h
Oliver Tappe 269ebc04b9 Fix #6373, second try
* make BDADDR_* macros refer to value types instead of addresses
* adjust all interfaces using bdaddr_t* to use (mostly const) refs instead,
  which IMHO makes the interface & code clearer
* that got rid of a couple of const incorrectness casts
* some cleanup along the way


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-19 15:29:02 +00:00

56 lines
1.3 KiB
C

/*
* Copyright 2007 Oliver Ruiz Dorantes, oliver.ruiz.dorantes_at_gmail.com
* Copyright 2008 Mika Lindqvist, monni1995_at_gmail.com
* All rights reserved. Distributed under the terms of the MIT License.
*/
#ifndef _BLUETOOTH_H
#define _BLUETOOTH_H
#include <ByteOrder.h>
/* Bluetooth version */
#define BLUETOOTH_1_1B 0
#define BLUETOOTH_1_1 1
#define BLUETOOTH_1_2 2
#define BLUETOOTH_2_0 3
#define BLUETOOTH_VERSION BLUETOOTH_2_0
/* Bluetooth common types */
/* BD Address */
typedef struct {
uint8 b[6];
} __attribute__((packed)) bdaddr_t;
#define BDADDR_NULL ((bdaddr_t) {{0, 0, 0, 0, 0, 0}})
#define BDADDR_LOCAL ((bdaddr_t) {{0, 0, 0, 0xff, 0xff, 0xff}})
#define BDADDR_BROADCAST ((bdaddr_t) {{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}})
#define BDADDR_ANY BDADDR_BROADCAST
/* Link key */
typedef struct {
uint8 l[16];
} __attribute__((packed)) linkkey_t;
/* 128 integer type needed for SDP */
struct int128 {
int8 b[16];
};
typedef struct int128 int128;
typedef struct int128 uint128;
/* Protocol definitions - add to as required... */
#define BLUETOOTH_PROTO_HCI 134 /* HCI protocol number */
#define BLUETOOTH_PROTO_L2CAP 135 /* L2CAP protocol number */
#define BLUETOOTH_PROTO_RFCOMM 136 /* RFCOMM protocol number */
#define BLUETOOTH_PROTO_MAX 256
#endif // _BLUETOOTH_H