RTEMS
|
Termios device handler. More...
#include <termiostypes.h>
Public Attributes | |
bool(* | first_open )(struct rtems_termios_tty *tty, rtems_termios_device_context *context, struct termios *term, rtems_libio_open_close_args_t *args) |
First open of this device. More... | |
void(* | last_close )(struct rtems_termios_tty *tty, rtems_termios_device_context *context, rtems_libio_open_close_args_t *args) |
Last close of this device. More... | |
int(* | poll_read )(rtems_termios_device_context *context) |
Polled read. More... | |
void(* | write )(rtems_termios_device_context *context, const char *buf, size_t len) |
Polled write in case mode is TERMIOS_POLLED or write support otherwise. More... | |
bool(* | set_attributes )(rtems_termios_device_context *context, const struct termios *term) |
Set attributes after a Termios settings change. More... | |
int(* | ioctl )(rtems_termios_device_context *context, ioctl_command_t request, void *buffer) |
IO control handler. More... | |
rtems_termios_device_mode | mode |
Termios device mode. | |
Termios device handler.
Definition at line 141 of file termiostypes.h.
bool(* rtems_termios_device_handler::first_open) (struct rtems_termios_tty *tty, rtems_termios_device_context *context, struct termios *term, rtems_libio_open_close_args_t *args) |
First open of this device.
[in] | tty | The Termios control. This parameter may be passed to interrupt service routines since it must be provided for the rtems_termios_enqueue_raw_characters() and rtems_termios_dequeue_characters() functions. |
[in] | context | The Termios device context. |
[in] | term | The current Termios attributes. |
[in] | args | The open/close arguments. This is parameter provided to support legacy drivers. It must not be used by new drivers. |
true | Successful operation. |
false | Cannot open device. |
Definition at line 159 of file termiostypes.h.
int(* rtems_termios_device_handler::ioctl) (rtems_termios_device_context *context, ioctl_command_t request, void *buffer) |
IO control handler.
Invoked in case the Termios layer cannot deal with the IO request.
[in] | context | The Termios device context. |
[in] | request | The IO control request. |
[in] | buffer | The IO control buffer. |
Definition at line 231 of file termiostypes.h.
void(* rtems_termios_device_handler::last_close) (struct rtems_termios_tty *tty, rtems_termios_device_context *context, rtems_libio_open_close_args_t *args) |
Last close of this device.
[in] | tty | The Termios control. |
[in] | context | The Termios device context. |
[in] | args | The open/close arguments. This is parameter provided to support legacy drivers. It must not be used by new drivers. |
Definition at line 174 of file termiostypes.h.
int(* rtems_termios_device_handler::poll_read) (rtems_termios_device_context *context) |
Polled read.
In case mode is TERMIOS_IRQ_DRIVEN, TERMIOS_IRQ_SERVER_DRIVEN or TERMIOS_TASK_DRIVEN, then data is received via rtems_termios_enqueue_raw_characters().
[in] | context | The Termios device context. |
char | The received data encoded as unsigned char. |
-1 | No data currently available. |
Definition at line 192 of file termiostypes.h.
bool(* rtems_termios_device_handler::set_attributes) (rtems_termios_device_context *context, const struct termios *term) |
Set attributes after a Termios settings change.
[in] | context | The Termios device context. |
[in] | term | The new Termios attributes. |
true | Successful operation. |
false | Invalid attributes. |
Definition at line 217 of file termiostypes.h.
void(* rtems_termios_device_handler::write) (rtems_termios_device_context *context, const char *buf, size_t len) |
Polled write in case mode is TERMIOS_POLLED or write support otherwise.
[in] | context | The Termios device context. |
[in] | buf | The output buffer. |
[in] | len | The output buffer length in characters. |
Definition at line 202 of file termiostypes.h.