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