zephyr/drivers/console/uart_mux_internal.h
Daniel Leung ca4c2c9b7f console: uart_mux: uart_mux_send to return number of bytes sent
This changes the return value of uart_mux_send() to return
how many bytes sent instead of simply zero for any bytes sent.
This would make it consistent with other UART send commands where
they return number of bytes sent.

Fixes #48470

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-08-16 08:28:03 +00:00

42 lines
978 B
C

/*
* Copyright (c) 2020 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/device.h>
#include <zephyr/drivers/console/uart_mux.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief Send data to real UART (the data should be muxed already)
*
* @param uart Muxed uart
* @param buf Data to send
* @param size Data length
*
* @return >=0 if data was sent (and number of bytes sent), <0 if error
*/
int uart_mux_send(const struct device *uart, const uint8_t *buf, size_t size);
/**
* @brief Receive unmuxed data.
*
* @param mux UART mux device structure.
* @param uart Real UART device structure.
* @param dlci_address DLCI id for the virtual muxing channel
* @param timeout Amount of time to wait for the channel creation.
*
* @retval >=0 No errors, number of bytes received
* @retval <0 Error
*/
int uart_mux_recv(const struct device *mux, struct gsm_dlci *dlci,
uint8_t *data, size_t len);
#ifdef __cplusplus
}
#endif