blob: 14fbf7295e29cded83ac7173c0e3eef8ea43ac1a [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
Sharvil Nanavati06ef2052014-11-06 18:34:06 -080025static const char BTSNOOP_MODULE[] = "btsnoop_module";
26
Zach Johnsonbf8193b2014-09-08 09:56:35 -070027typedef struct btsnoop_t {
Zach Johnson9891f322014-09-22 22:11:55 -070028 // Inform btsnoop whether the API desires to log. If |value| is true.
29 // logging will be enabled. Otherwise it defers to the value from the
30 // config file.
31 void (*set_api_wants_to_log)(bool value);
Zach Johnsonfbbd42b2014-08-15 17:00:17 -070032
33 // Capture |packet| and dump it to the btsnoop logs. If |is_received| is
34 // true, the packet is marked as incoming. Otherwise, the packet is marked
35 // as outgoing.
36 void (*capture)(const BT_HDR *packet, bool is_received);
Zach Johnsonbf8193b2014-09-08 09:56:35 -070037} btsnoop_t;
Zach Johnsonfbbd42b2014-08-15 17:00:17 -070038
Sharvil Nanavati06ef2052014-11-06 18:34:06 -080039const btsnoop_t *btsnoop_get_interface(void);