xref: /aosp_15_r20/system/chre/platform/shared/include/chre/platform/shared/bt_snoop_log.h (revision 84e339476a462649f82315436d70fd732297a399)
1 /*
2  * Copyright (C) 2023 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef CHRE_PLATFORM_SHARED_BT_SNOOP_LOG_H_
18 #define CHRE_PLATFORM_SHARED_BT_SNOOP_LOG_H_
19 
20 #include <cinttypes>
21 #include <cstddef>
22 
23 //! Indicates direction of a BT snoop log.
24 //! TODO(b/294884658): Make the fbs definition as the single source of truth.
25 enum class BtSnoopDirection : uint8_t {
26   INCOMING_FROM_BT_CONTROLLER = 0,
27   OUTGOING_TO_ARBITER = 1,
28 };
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 /**
35  * Sends a BT snoop log to CHRE. The log is handled separately from
36  * normal CHRE logs.
37  *
38  * @param direction Direction of the BT snoop log.
39  * @param buffer a byte buffer containing the encoded log message.
40  * @param size size of the bt log message buffer.
41  */
42 void chrePlatformBtSnoopLog(BtSnoopDirection direction, const uint8_t *buffer,
43                             size_t size);
44 
45 #ifdef __cplusplus
46 }
47 #endif
48 
49 #endif  // CHRE_PLATFORM_SHARED_BT_SNOOP_LOG_H_
50