| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.bluetooth.gatt; |
| |
| const uint16 MAX_VALUE_LENGTH = 512; |
| |
| // Maximum number of ReadByTypeResults that fit in a FIDL message. |
| const uint16 MAX_READ_BY_TYPE_RESULTS = 189; |
| |
| // From Bluetooth Core Spec v5.2, Vol 3, Part F, 3.4.4.2. |
| const uint16 MAX_READ_BY_TYPE_VALUE_LENGTH = 253; |
| |
| // The maximum number of attributes that can be contained in an attribute database. |
| const uint16 MAX_ATTRIBUTE_COUNT = 0xFFFF; |
| |
| // The maximum number of services allowed. While the specification does not define an upper |
| // limit, this number is here to impose a bound on FIDL messages. |
| // |
| // This number is calculated based on 1 attribute per service declaration for a database that |
| // contains no characteristics. |
| const uint16 MAX_SERVICE_COUNT = MAX_ATTRIBUTE_COUNT; |
| |
| // The maximum number of characteristics allowed. While the specification does not define an upper |
| // limit, this number is here to impose a bound on FIDL messages. |
| // |
| // This number is calculated based on 2 attributes per characteristic and excluding the service |
| // declaration attribute. I.e. this is the number of characteristics that can be represented in a |
| // database with a single service and no characteristic descriptors. |
| const uint16 MAX_CHARACTERISTIC_COUNT = 0x7FFF; // (MAX_ATTRIBUTE_COUNT - 1) / 2; |
| |
| // The maximum number of characteristic descriptors allowed. While the specification does not define |
| // an upper limit, this number is here to impose a bound on FIDL messages. |
| // |
| // This number is calculated based on 1 attribute per descriptor and excluding the service and |
| // characteristic declaration attributes. I.e. this is the number of characteristics that can be |
| // represented in a database with a single service and a single characteristic. |
| const uint16 MAX_DESCRIPTOR_COUNT = 0xFFFC; // MAX_ATTRIBUTE_COUNT - 3; |