Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e62fae6 authored by Adam Lesinski's avatar Adam Lesinski
Browse files

Add socket tx/rx accounting

Records network traffic going over bluetooth sockets. This patch adds support
for L2CAP and RFCOMM.

Bug: 26039657
Change-Id: Id30d69e4cd648f0e88ab23517e3b94f29b393995
parent 7597e515
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ static_library("btif") {
    "src/btif_sock_thread.c",
    "src/btif_sock_util.c",
    "src/btif_storage.c",
    "src/btif_uid.c",
    "src/btif_util.c",
    "src/stack_manager.c",
  ]
+5 −0
Original line number Diff line number Diff line
@@ -20,10 +20,15 @@
#define BTIF_DM_H

#include "bta_api.h"
#include "btif_uid.h"

/************************************************************************************
**  Functions
********************************************************************************/

void btif_dm_init(uid_set_t* set);
void btif_dm_cleanup(void);

/**
 * BTIF callback to switch context from bte to btif
 */
+3 −1
Original line number Diff line number Diff line
@@ -18,9 +18,11 @@

#pragma once

#include "btif_uid.h"

#include <hardware/bt_sock.h>

btsock_interface_t *btif_sock_get_interface(void);

bt_status_t btif_sock_init(void);
bt_status_t btif_sock_init(uid_set_t* uid_set);
void btif_sock_cleanup(void);
+5 −3
Original line number Diff line number Diff line
@@ -5,16 +5,18 @@
#ifndef BTIF_SOCK_L2CAP_H
#define BTIF_SOCK_L2CAP_H

#include "btif_uid.h"

#include <hardware/bluetooth.h>

#define L2CAP_MASK_FIXED_CHANNEL    0x10000

bt_status_t btsock_l2cap_init(int handle);
bt_status_t btsock_l2cap_init(int handle, uid_set_t* set);
bt_status_t btsock_l2cap_cleanup();
bt_status_t btsock_l2cap_listen(const char* name, int channel,
                              int* sock_fd, int flags);
                              int* sock_fd, int flags, int app_uid);
bt_status_t btsock_l2cap_connect(const bt_bdaddr_t *bd_addr,
                               int channel, int* sock_fd, int flags);
                               int channel, int* sock_fd, int flags, int app_uid);
void btsock_l2cap_signaled(int fd, int flags, uint32_t user_id);
void on_l2cap_psm_assigned(int id, int psm);

+5 −3
Original line number Diff line number Diff line
@@ -27,12 +27,14 @@
#ifndef BTIF_SOCK_RFC_H
#define BTIF_SOCK_RFC_H

bt_status_t btsock_rfc_init(int handle);
#include "btif_uid.h"

bt_status_t btsock_rfc_init(int handle, uid_set_t* set);
bt_status_t btsock_rfc_cleanup();
bt_status_t btsock_rfc_listen(const char* name, const uint8_t* uuid, int channel,
                              int* sock_fd, int flags);
                              int* sock_fd, int flags, int app_uid);
bt_status_t btsock_rfc_connect(const bt_bdaddr_t *bd_addr, const uint8_t* uuid,
                               int channel, int* sock_fd, int flags);
                               int channel, int* sock_fd, int flags, int app_uid);
void btsock_rfc_signaled(int fd, int flags, uint32_t user_id);

#endif
Loading