blob: 12c4b55a0c11fd229c88294575aa4a8d31ecb3ea [file] [log] [blame]
/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
*
* BlueZ - Bluetooth protocol stack for Linux
*
* Copyright (C) 2011-2014 Intel Corporation
* Copyright (C) 2004-2010 Marcel Holtmann <marcel@holtmann.org>
*
*
*/
#include <stdint.h>
struct vhci;
typedef void (*vhci_debug_func_t)(const char *str, void *user_data);
typedef void (*vhci_destroy_func_t)(void *user_data);
bool vhci_set_debug(struct vhci *vhci, vhci_debug_func_t callback,
void *user_data, vhci_destroy_func_t destroy);
struct vhci *vhci_open(uint8_t type);
void vhci_close(struct vhci *vhci);
struct btdev *vhci_get_btdev(struct vhci *vhci);
int vhci_set_force_suspend(struct vhci *vhci, bool enable);
int vhci_set_force_wakeup(struct vhci *vhci, bool enable);
int vhci_set_msft_opcode(struct vhci *vhci, uint16_t opcode);
int vhci_set_aosp_capable(struct vhci *vhci, bool enable);
int vhci_set_emu_opcode(struct vhci *vhci, uint16_t opcode);
int vhci_set_force_static_address(struct vhci *vhci, bool enable);
int vhci_force_devcd(struct vhci *vhci, const void *data, size_t len);
int vhci_read_devcd(struct vhci *vhci, void *buf, size_t size);
bool vhci_pause_input(struct vhci *vhci, bool paused);