vos/ambiq-hal-sys/ambiq-sparkfun-sdk/third_party/exactle/wsf/include/wsf_bufio.h

96 lines
3.3 KiB
C
Raw Permalink Normal View History

2022-10-24 06:45:43 +00:00
/*************************************************************************************************/
/*!
* \file wsf_bufio.h
*
* \brief Buffer I/O service.
*
* Copyright (c) 2009-2018 Arm Ltd.
*
* Copyright (c) 2019 Packetcraft, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*************************************************************************************************/
#ifndef WSF_BUF_IO_H
#define WSF_BUF_IO_H
#ifdef __cplusplus
extern "C" {
#endif
/*! \addtogroup WSF_BUF_IO_API
* \{ */
/**************************************************************************************************
Macros
**************************************************************************************************/
/**************************************************************************************************
Data Types
**************************************************************************************************/
/**************************************************************************************************
Callback Function Datatypes
**************************************************************************************************/
/*! \brief Buffer IO UART Rx callback. */
typedef void (*WsfBufIoUartRxCback_t)(uint8_t rxByte);
/**************************************************************************************************
Function Declarations
**************************************************************************************************/
/*************************************************************************************************/
/*!
* \brief Initialize the platform UART.
*
* \param pBuf Tx Buffer pointer.
* \param size Length of buffer.
*
* \return memory used.
*/
/*************************************************************************************************/
uint32_t WsfBufIoUartInit(void *pBuf, uint32_t size);
/*************************************************************************************************/
/*!
* \brief Register the platform UART RX callback.
*
* \param[in] Callback function for UART RX.
*
* \return None.
*/
/*************************************************************************************************/
void WsfBufIoUartRegister(WsfBufIoUartRxCback_t rxCback);
/*************************************************************************************************/
/*!
* \brief Transmit buffer on platform UART.
*
* \param pBuf Buffer to transmit.
* \param len Length of buffer in octets.
*
* \return None.
*/
/*************************************************************************************************/
bool_t WsfBufIoWrite(const uint8_t *pBuf, uint32_t len);
/*! \} */ /* WSF_BUF_IO_API */
#ifdef __cplusplus
};
#endif
#endif /* WSF_BUF_IO_H */