mgmt.h revision b02a68367321b323db81823f43d7332e35ce96fa
1e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson/*
2e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *  BlueZ - Bluetooth protocol stack for Linux
3e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *
4e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *  Copyright (C) 2010  Nokia Corporation
5e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *  Copyright (C) 2010  Marcel Holtmann <marcel@holtmann.org>
6e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *
7e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *
8e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *  This program is free software; you can redistribute it and/or modify
9e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *  it under the terms of the GNU General Public License as published by
10e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *  the Free Software Foundation; either version 2 of the License, or
11e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *  (at your option) any later version.
12e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *
13e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *  This program is distributed in the hope that it will be useful,
14e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *  GNU General Public License for more details.
17e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *
18283a062a633d6e868aa2be319da812341fe73728Anders Carlsson *  You should have received a copy of the GNU General Public License
19e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *  along with this program; if not, write to the Free Software
20742cd1b7bb86b52b23b335d47abbd842dac0e1bfFariborz Jahanian *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
21e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson *
22774e7c6881ee6cb970cd42239d700dce87ed402aAnders Carlsson */
2386e9644199d91a33d0090395395bc718bd3a4981Anders Carlsson
24e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson#ifndef __packed
25e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson#define __packed __attribute__((packed))
26e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson#endif
27e1b29efab32d02e114046d33cca242a88585bf8aAnders Carlsson
280096acf421c4609ce7f43e8b05f8c5ca866d4611Daniel Dunbarstruct hci_mgmt_hdr {
293b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson	uint16_t opcode;
303b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson	uint16_t len;
313b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson} __packed;
323b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson#define HCI_MGMT_HDR_SIZE	4
333b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson
340032b2781b4deb131f8c9b7968f2030bf2489cddOwen Anderson#define HCI_MGMT_OP_READ_VERSION	0x0001
353b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlssonstruct hci_mgmt_read_version_rp {
363b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson	uint8_t status;
373b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson	uint8_t version;
383b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson	uint16_t revision;
393b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson} __packed;
403b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson#define HCI_MGMT_READ_VERSION_RP_SIZE	4
410032b2781b4deb131f8c9b7968f2030bf2489cddOwen Anderson
423b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson#define HCI_MGMT_OP_READ_FEATURES	0x0002
433b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson#define HCI_MGMT_OP_READ_INDEX_LIST	0x0003
443b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson#define HCI_MGMT_OP_READ_INFO		0x0004
453b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson#define HCI_MGMT_OP_READ_STATISTICS	0x0005
463b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson#define HCI_MGMT_OP_READ_MODE		0x0006
473b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson#define HCI_MGMT_OP_WRITE_MODE		0x0007
483b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson
493b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson#define HCI_MGMT_EV_CMD_COMPLETE	0x0001
503b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlssonstruct hci_mgmt_cmd_complete_ev {
513b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson	uint16_t opcode;
523b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson	uint8_t data[0];
533b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson} __packed;
543b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson#define HCI_MGMT_CMD_COMPLETE_SIZE	2
553b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson
563b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson#define HCI_MGMT_EV_CMD_STATUS		0x0002
573b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson#define HCI_MGMT_EV_CONTROLLER_ERROR	0x0003
583b2e16b3d25f6b311dba2871e2a566c96238c3d2Anders Carlsson