m2mb API docs  25.30.004.0
m2mb API sets documentation
m2mb_uart.h
Go to the documentation of this file.
1 /* $version: 252203 */
2 /*===============================================================================================*/
3 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
29 #ifndef M2M_M2MB_UART_API_H
30 #define M2M_M2MB_UART_API_H
31 
32 /* Global declarations ==========================================================================*/
33 #ifndef NULL
34 #define NULL 0
35 #endif
36 
37 /* Global enums ==============================================================================*/
38 
45 {
86  M2MB_UART_IOCTL_NOF_REQ
87 };
88 
89 /* Global typedefs ==============================================================================*/
90 
97 typedef enum
98 {
101  M2MB_UART_FCTL_MAX
103 
110 typedef enum
111 {
116  M2MB_UART_PARITY_MAX
118 
125 typedef enum
126 {
131  M2MB_UART_STOP_BITS_MAX
133 
140 typedef enum
141 {
146  M2MB_UART_BITS_PER_CHAR_MAX
148 
154 typedef enum
155 {
160 
167 typedef enum
168 {
171  ENUM_TO_INT( M2MB_UART_PIN_VALUE_E )
173 
174 
175 
211 typedef void ( *m2mb_uart_ind_callback )( INT32 fd, M2MB_UART_IND_E uart_event, UINT16 resp_size,
212  void *resp_struct, void *userdata );
213 
220 typedef struct
221 {
222  UINT32 baud_rate;
227  BOOLEAN loopback_mode;
228  UINT16 tx_timeout_ms;
229  UINT16 rx_timeout_ms;
232  void *cb_data;
235 
236 /* Global functions =============================================================================*/
237 
238 /*-----------------------------------------------------------------------------------------------*/
283 /*-----------------------------------------------------------------------------------------------*/
284 INT32 m2mb_uart_open( const CHAR *path, INT32 flags, ... );
285 
286 /*-----------------------------------------------------------------------------------------------*/
320 /*-----------------------------------------------------------------------------------------------*/
321 INT32 m2mb_uart_close( INT32 fd );
322 
323 /*-----------------------------------------------------------------------------------------------*/
691 /*-----------------------------------------------------------------------------------------------*/
692 INT32 m2mb_uart_ioctl( INT32 fd, INT32 request, ... );
693 
694 /*-----------------------------------------------------------------------------------------------*/
794 /*-----------------------------------------------------------------------------------------------*/
795 SSIZE_T m2mb_uart_read( INT32 fd, void *buf, SIZE_T nbyte );
796 
797 /*-----------------------------------------------------------------------------------------------*/
888 /*-----------------------------------------------------------------------------------------------*/
889 SSIZE_T m2mb_uart_write( INT32 fd, const void *buf, SIZE_T nbyte );
890 
891 #endif /* M2M_M2MB_UART_API_H */
892 
m2mb_uart_close
INT32 m2mb_uart_close(INT32 fd)
m2mb_uart_close closes a UART device.
M2MB_UART_CFG_T::cb_fn
m2mb_uart_ind_callback cb_fn
Definition: m2mb_uart.h:230
M2MB_UART_CFG_T
UART ioctl configuration.
Definition: m2mb_uart.h:220
M2MB_UART_6_BITS_PER_CHAR
Definition: m2mb_uart.h:143
M2MB_UART_BITS_PER_CHAR_E
M2MB_UART_BITS_PER_CHAR_E
UART number of bits per character.
Definition: m2mb_uart.h:140
M2MB_UART_IOCTL_REQUEST
M2MB_UART_IOCTL_REQUEST
UART configuration requests.
Definition: m2mb_uart.h:44
M2MB_UART_CFG_T::bits_per_char
M2MB_UART_BITS_PER_CHAR_E bits_per_char
Definition: m2mb_uart.h:226
M2MB_UART_LOW_VALUE
Definition: m2mb_uart.h:169
M2MB_UART_IOCTL_GET_RTS_STATE
Definition: m2mb_uart.h:75
M2MB_UART_IOCTL_SET_CFG
Definition: m2mb_uart.h:46
M2MB_UART_IOCTL_SET_DSR
Definition: m2mb_uart.h:78
M2MB_UART_IOCTL_GET_TX_ACTIVE
Definition: m2mb_uart.h:84
M2MB_UART_CTSRFR_AUTO_FCTL
Definition: m2mb_uart.h:100
m2mb_uart_open
INT32 m2mb_uart_open(const CHAR *path, INT32 flags,...)
m2mb_uart_open opens a UART device.
M2MB_UART_HIGH_VALUE
Definition: m2mb_uart.h:170
M2MB_UART_5_BITS_PER_CHAR
Definition: m2mb_uart.h:142
M2MB_UART_CFG_T::rx_timeout_ms
UINT16 rx_timeout_ms
Definition: m2mb_uart.h:229
M2MB_UART_IOCTL_SET_CB_FN
Definition: m2mb_uart.h:66
M2MB_UART_IOCTL_GET_CFG
Definition: m2mb_uart.h:47
M2MB_UART_IOCTL_GET_BITS_PER_CHAR
Definition: m2mb_uart.h:57
M2MB_UART_FCTL_OFF
Definition: m2mb_uart.h:99
m2mb_uart_read
SSIZE_T m2mb_uart_read(INT32 fd, void *buf, SIZE_T nbyte)
m2mb_uart_read reads data from an open UART device.
M2MB_UART_IOCTL_GET_PARITY_MODE
Definition: m2mb_uart.h:53
M2MB_UART_IOCTL_GET_RX_ACTIVE
Definition: m2mb_uart.h:83
M2MB_UART_PIN_VALUE_E
M2MB_UART_PIN_VALUE_E
UART pin voltage value.
Definition: m2mb_uart.h:167
M2MB_UART_CFG_T::loopback_mode
BOOLEAN loopback_mode
Definition: m2mb_uart.h:227
M2MB_UART_RX_EV
Definition: m2mb_uart.h:157
M2MB_UART_STOP_BITS_E
M2MB_UART_STOP_BITS_E
UART number of stop bits.
Definition: m2mb_uart.h:125
M2MB_UART_IOCTL_GET_RX_TIMEOUT
Definition: m2mb_uart.h:64
M2MB_UART_1_0_STOP_BITS
Definition: m2mb_uart.h:128
M2MB_UART_2_0_STOP_BITS
Definition: m2mb_uart.h:130
M2MB_UART_1_5_STOP_BITS
Definition: m2mb_uart.h:129
M2MB_UART_CFG_T::stop_bits
M2MB_UART_STOP_BITS_E stop_bits
Definition: m2mb_uart.h:225
M2MB_UART_TX_EV
Definition: m2mb_uart.h:156
m2mb_uart_ind_callback
void(* m2mb_uart_ind_callback)(INT32 fd, M2MB_UART_IND_E uart_event, UINT16 resp_size, void *resp_struct, void *userdata)
Transmit and receive operation callback type.
Definition: m2mb_uart.h:211
M2MB_UART_NO_PARITY
Definition: m2mb_uart.h:112
M2MB_UART_ODD_PARITY
Definition: m2mb_uart.h:113
M2MB_UART_IOCTL_SET_RX_TIMEOUT
Definition: m2mb_uart.h:62
M2MB_UART_IOCTL_SET_CB_USERDATA
Definition: m2mb_uart.h:70
M2MB_UART_IOCTL_SET_STOP_BITS
Definition: m2mb_uart.h:54
M2MB_UART_IOCTL_SET_DTR_FCTL
Definition: m2mb_uart.h:81
M2MB_UART_IOCTL_SET_CTS
Definition: m2mb_uart.h:77
m2mb_uart_write
SSIZE_T m2mb_uart_write(INT32 fd, const void *buf, SIZE_T nbyte)
m2mb_uart_write writes data to an open UART device.
m2mb_uart_ioctl
INT32 m2mb_uart_ioctl(INT32 fd, INT32 request,...)
m2mb_uart_ioctl configures an open UART device.
M2MB_UART_IOCTL_SET_FCTL
Definition: m2mb_uart.h:50
M2MB_UART_IOCTL_GET_CB_FN
Definition: m2mb_uart.h:68
M2MB_UART_IND_E
M2MB_UART_IND_E
UART event type.
Definition: m2mb_uart.h:154
M2MB_UART_IOCTL_SET_BITS_PER_CHAR
Definition: m2mb_uart.h:56
M2MB_UART_SPACE_PARITY
Definition: m2mb_uart.h:115
M2MB_UART_IOCTL_SET_TX_TIMEOUT
Definition: m2mb_uart.h:58
M2MB_UART_8_BITS_PER_CHAR
Definition: m2mb_uart.h:145
M2MB_UART_IOCTL_GET_DTR_STATE
Definition: m2mb_uart.h:76
M2MB_UART_IOCTL_SET_PARITY_MODE
Definition: m2mb_uart.h:52
M2MB_UART_CFG_T::flow_control
M2MB_UART_FCTL_E flow_control
Definition: m2mb_uart.h:223
M2MB_UART_0_5_STOP_BITS
Definition: m2mb_uart.h:127
M2MB_UART_CFG_T::cb_data
void * cb_data
Definition: m2mb_uart.h:232
M2MB_UART_7_BITS_PER_CHAR
Definition: m2mb_uart.h:144
M2MB_UART_IOCTL_SET_RING
Definition: m2mb_uart.h:80
M2MB_UART_CFG_T::baud_rate
UINT32 baud_rate
Definition: m2mb_uart.h:222
M2MB_UART_IOCTL_PURGE_TX
Definition: m2mb_uart.h:85
M2MB_UART_IOCTL_SET_POWER_STATE
Definition: m2mb_uart.h:72
M2MB_UART_IOCTL_GET_DTR_FCTL
Definition: m2mb_uart.h:82
M2MB_UART_EVEN_PARITY
Definition: m2mb_uart.h:114
M2MB_UART_CFG_T::tx_timeout_ms
UINT16 tx_timeout_ms
Definition: m2mb_uart.h:228
M2MB_UART_FCTL_E
M2MB_UART_FCTL_E
UART flow control type.
Definition: m2mb_uart.h:97
M2MB_UART_IOCTL_GET_OP_MODE
Definition: m2mb_uart.h:74
M2MB_UART_IOCTL_GET_POWER_STATE
Definition: m2mb_uart.h:73
M2MB_UART_IOCTL_GET_BR
Definition: m2mb_uart.h:49
M2MB_UART_IOCTL_SET_DCD
Definition: m2mb_uart.h:79
M2MB_UART_IOCTL_SET_BR
Definition: m2mb_uart.h:48
M2MB_UART_IOCTL_GET_FCTL
Definition: m2mb_uart.h:51
M2MB_UART_DTR_EV
Definition: m2mb_uart.h:158
M2MB_UART_IOCTL_GET_TX_TIMEOUT
Definition: m2mb_uart.h:60
M2MB_UART_CFG_T::parity_mode
M2MB_UART_PARITY_E parity_mode
Definition: m2mb_uart.h:224
M2MB_UART_IOCTL_GET_CB_USERDATA
Definition: m2mb_uart.h:71
M2MB_UART_IOCTL_GET_STOP_BITS
Definition: m2mb_uart.h:55
M2MB_UART_PARITY_E
M2MB_UART_PARITY_E
UART parity mode.
Definition: m2mb_uart.h:110