Cordio Stack and Cordio Profiles  r2p3-02rel0
hci_drv.h
Go to the documentation of this file.
1 /*************************************************************************************************/
2 /*!
3  * \file
4  *
5  * \brief HCI driver interface.
6  *
7  * Copyright (c) 2012-2018 Arm Ltd. All Rights Reserved.
8  * ARM Ltd. confidential and proprietary.
9  *
10  * IMPORTANT. Your use of this file is governed by a Software License Agreement
11  * ("Agreement") that must be accepted in order to download or otherwise receive a
12  * copy of this file. You may not use or copy this file for any purpose other than
13  * as described in the Agreement. If you do not agree to all of the terms of the
14  * Agreement do not use this file and delete all copies in your possession or control;
15  * if you do not have a copy of the Agreement, you must contact ARM Ltd. prior
16  * to any use, copying or further distribution of this software.
17  */
18 /*************************************************************************************************/
19 #ifndef HCI_DRV_H
20 #define HCI_DRV_H
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 /**************************************************************************************************
27  Function Declarations
28 **************************************************************************************************/
29 
30 /*************************************************************************************************/
31 /*!
32  * \brief Write data the driver.
33  *
34  * \param type HCI packet type
35  * \param len Number of bytes to write.
36  * \param pData Byte array to write.
37  *
38  * \return Return actual number of data bytes written.
39  *
40  * \note The type parameter allows the driver layer to prepend the data with a header on the
41  * same write transaction.
42  */
43 /*************************************************************************************************/
44 uint16_t hciDrvWrite(uint8_t type, uint16_t len, uint8_t *pData);
45 
46 /*************************************************************************************************/
47 /*!
48  * \brief Read data bytes from the driver.
49  *
50  * \param len Number of bytes to read.
51  * \param pData Byte array to store data.
52  *
53  * \return Return actual number of data bytes read.
54  */
55 /*************************************************************************************************/
56 uint16_t hciDrvRead(uint16_t len, uint8_t *pData);
57 
58 /*************************************************************************************************/
59 /*!
60  * \brief Returns TRUE if driver allows MCU to enter low power sleep mode.
61  *
62  * \return TRUE if ready to sleep, FALSE otherwise.
63  */
64 /*************************************************************************************************/
66 
67 #ifdef __cplusplus
68 };
69 #endif
70 
71 #endif /* HCI_DRV_H */
uint8_t bool_t
Boolean data type.
Definition: wsf_types.h:78
uint16_t hciDrvWrite(uint8_t type, uint16_t len, uint8_t *pData)
Write data the driver.
unsigned short uint16_t
Unsigned 16-bit value.
Definition: wsf_types.h:67
uint16_t hciDrvRead(uint16_t len, uint8_t *pData)
Read data bytes from the driver.
bool_t hciDrvReadyToSleep(void)
Returns TRUE if driver allows MCU to enter low power sleep mode.
unsigned char uint8_t
Unsigned 8-bit value.
Definition: wsf_types.h:63