/* * Copyright 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #pragma once /* BTM service definitions * Used for storing EIR data to bit mask */ #define BTM_EIR_MAX_SERVICES 46 /* Determine the number of uint32_t's necessary for services */ #define BTM_EIR_ARRAY_BITS 32 /* Number of bits in each array element */ #define BTM_EIR_SERVICE_ARRAY_SIZE \ (((uint32_t)BTM_EIR_MAX_SERVICES / BTM_EIR_ARRAY_BITS) + \ (((uint32_t)BTM_EIR_MAX_SERVICES % BTM_EIR_ARRAY_BITS) ? 1 : 0)) /* start of EIR in HCI buffer, 4 bytes = HCI Command(2) + Length(1) + FEC_Req(1) */ #define BTM_HCI_EIR_OFFSET (BT_HDR_SIZE + 4)