blob: 99415bccc0ac445bb2cd6a42ef4f359c17b0849a [file] [log] [blame]
Zach Johnsonfbbd42b2014-08-15 17:00:17 -07001/******************************************************************************
2 *
3 * Copyright (C) 2014 Google, Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at:
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 ******************************************************************************/
18
Sharvil Nanavatia7d7eb72014-06-14 23:45:16 -070019#pragma once
20
21#include <stdbool.h>
22
Zach Johnsonfbbd42b2014-08-15 17:00:17 -070023#include "bt_types.h"
Sharvil Nanavatidd28edb2014-07-17 00:53:01 -070024
Jakub Pawlowski713993d2016-04-21 13:16:45 -070025#ifdef __cplusplus
26extern "C" {
27#endif
28
Sharvil Nanavati06ef2052014-11-06 18:34:06 -080029static const char BTSNOOP_MODULE[] = "btsnoop_module";
30
Zach Johnsonbf8193b2014-09-08 09:56:35 -070031typedef struct btsnoop_t {
Zach Johnson9891f322014-09-22 22:11:55 -070032 // Inform btsnoop whether the API desires to log. If |value| is true.
33 // logging will be enabled. Otherwise it defers to the value from the
34 // config file.
35 void (*set_api_wants_to_log)(bool value);
Zach Johnsonfbbd42b2014-08-15 17:00:17 -070036
37 // Capture |packet| and dump it to the btsnoop logs. If |is_received| is
38 // true, the packet is marked as incoming. Otherwise, the packet is marked
39 // as outgoing.
40 void (*capture)(const BT_HDR *packet, bool is_received);
Zach Johnsonbf8193b2014-09-08 09:56:35 -070041} btsnoop_t;
Zach Johnsonfbbd42b2014-08-15 17:00:17 -070042
Sharvil Nanavati06ef2052014-11-06 18:34:06 -080043const btsnoop_t *btsnoop_get_interface(void);
Jakub Pawlowski713993d2016-04-21 13:16:45 -070044
45#ifdef __cplusplus
46}
47#endif