| /**************************************************************************** |
| * |
| * Copyright (c) 2014 - 2016 Samsung Electronics Co., Ltd. All rights reserved |
| * |
| ****************************************************************************/ |
| |
| /**************************************************************************** |
| * FILE |
| * bhcs.h - Bluetooth Host Configuration Structure |
| * |
| * DESCRIPTION |
| * This file specifies the layout of the Bluetooth Host Configuration |
| * Structure. The structure is written by the host and passed to the |
| * firmware as an argument to the service start callback function in |
| * the form of an offset that must be converted to a local address. |
| * |
| * ASSUMPTIONS |
| * The host and the firmware has the same endiannes. |
| * The ABI on the host and the firmware results in the same memory |
| * layout of the defined structure. |
| * |
| */ |
| |
| #ifndef BHCS_H__ |
| #define BHCS_H__ |
| |
| /* The version of the BHCS structure. Must be written to the version field |
| * by the host and confirmed to match the define by the firmware. Increment |
| * the version when changing the layout of the structure. This also serves |
| * as a rudimentary endianess check. */ |
| #define BHCS_VERSION 2 |
| |
| struct BHCS { |
| uint32_t version; /* BHCS_VERSION */ |
| uint32_t bsmhcp_protocol_offset; /* BSMHCP_PROTOCOL structure offset */ |
| uint32_t bsmhcp_protocol_length; /* BSMHCP_PROTOCOL structure length */ |
| uint32_t configuration_offset; /* Binary configuration data offset */ |
| uint32_t configuration_length; /* Binary configuration data length */ |
| uint32_t bluetooth_address_lap; /* Lower Address Part 00..23 */ |
| uint8_t bluetooth_address_uap; /* Upper Address Part 24..31 */ |
| uint16_t bluetooth_address_nap; /* Non-significant 32..47 */ |
| }; |
| |
| #endif /* BHCS_H__ */ |