mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-29 15:36:08 +00:00
Move implementation of hci_driver.h exposed functions to a common file. The functions exposed by hci_driver.h header file is implemented in either hci_core.c, or hci_raw.c. But since these functions would be identical for both implementations have them in a new file that is included for both. Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
53 lines
1.0 KiB
C
53 lines
1.0 KiB
C
/*
|
|
* Copyright (c) 2020 Nordic Semiconductor ASA
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <stdint.h>
|
|
#include <sys/byteorder.h>
|
|
#include <drivers/bluetooth/hci_driver.h>
|
|
|
|
struct net_buf *bt_hci_evt_create(uint8_t evt, uint8_t len)
|
|
{
|
|
struct bt_hci_evt_hdr *hdr;
|
|
struct net_buf *buf;
|
|
|
|
buf = bt_buf_get_evt(evt, false, K_FOREVER);
|
|
|
|
hdr = net_buf_add(buf, sizeof(*hdr));
|
|
hdr->evt = evt;
|
|
hdr->len = len;
|
|
|
|
return buf;
|
|
}
|
|
|
|
struct net_buf *bt_hci_cmd_complete_create(uint16_t op, uint8_t plen)
|
|
{
|
|
struct net_buf *buf;
|
|
struct bt_hci_evt_cmd_complete *cc;
|
|
|
|
buf = bt_hci_evt_create(BT_HCI_EVT_CMD_COMPLETE, sizeof(*cc) + plen);
|
|
|
|
cc = net_buf_add(buf, sizeof(*cc));
|
|
cc->ncmd = 1U;
|
|
cc->opcode = sys_cpu_to_le16(op);
|
|
|
|
return buf;
|
|
}
|
|
|
|
struct net_buf *bt_hci_cmd_status_create(uint16_t op, uint8_t status)
|
|
{
|
|
struct net_buf *buf;
|
|
struct bt_hci_evt_cmd_status *cs;
|
|
|
|
buf = bt_hci_evt_create(BT_HCI_EVT_CMD_STATUS, sizeof(*cs));
|
|
|
|
cs = net_buf_add(buf, sizeof(*cs));
|
|
cs->status = status;
|
|
cs->ncmd = 1U;
|
|
cs->opcode = sys_cpu_to_le16(op);
|
|
|
|
return buf;
|
|
}
|