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>
42 lines
978 B
C
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
|