/*
 * Copyright (c) 2023 Raspberry Pi (Trading) Ltd.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#ifndef _PICO_BTSTACK_CYW43_H
#define _PICO_BTSTACK_CYW43_H

#include "pico/async_context.h"
#ifdef __cplusplus
extern "C" {
#endif

/** \file pico/btstack_cyw43.h
 * \defgroup pico_btstack_cyw43 pico_btstack_cyw43
 * \ingroup pico_cyw43_driver
 *
 * \brief Low-level Bluetooth HCI support
 *
 * This library provides utility functions to initialise and de-initialise BTstack for CYW43,
*/

/*
 * \brief Perform initialisation of BTstack/CYW43 integration
 * \ingroup pico_btstack_cyw43
 *
 * \param context the async_context instance that provides the abstraction for handling asynchronous work.
 * \return true on success or false an error
 */
bool btstack_cyw43_init(async_context_t *context);

/*
 * \brief De-initialise BTstack/CYW43 integration
 * \ingroup pico_btstack_cyw43
 *
 * \param context the async_context the btstack_cyw43 support was added to via \ref btstack_cyw43_init
 */
void btstack_cyw43_deinit(async_context_t *context);

#ifdef __cplusplus
}
#endif
#endif
