![]() |
RTEMS 6.3
|
Termios device handler. More...
#include <termiosdevice.h>
Data Fields | |
| bool(*) | first_open (struct rtems_termios_tty *tty, rtems_termios_device_context *context, struct termios *term, struct rtems_libio_open_close_args *args) |
| First open of this device. | |
| void(*) | last_close (struct rtems_termios_tty *tty, rtems_termios_device_context *context, struct rtems_libio_open_close_args *args) |
| Last close of this device. | |
| int(*) | poll_read (rtems_termios_device_context *context) |
| Polled read. | |
| 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. | |
| bool(*) | set_attributes (rtems_termios_device_context *context, const struct termios *term) |
| Set attributes after a Termios settings change. | |
| int(*) | ioctl (rtems_termios_device_context *context, ioctl_command_t request, void *buffer) |
| IO control handler. | |
| rtems_termios_device_mode | mode |
| Termios device mode. | |
Termios device handler.
| bool(*) rtems_termios_device_handler::first_open(struct rtems_termios_tty *tty, rtems_termios_device_context *context, struct termios *term, struct rtems_libio_open_close_args *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. |
| 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. |
| void(*) rtems_termios_device_handler::last_close(struct rtems_termios_tty *tty, rtems_termios_device_context *context, struct rtems_libio_open_close_args *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. |
| 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. |
| 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. |
| 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. |