RTEMS
|
Termios. More...
Files | |
file | termiosinitialize.c |
Termios Initialization. | |
Classes | |
struct | rtems_termios_callbacks |
Typedefs | |
typedef struct rtems_termios_callbacks | rtems_termios_callbacks |
typedef rtems_termios_iproc_status_code(* | rtems_termios_isig_handler) (unsigned char c, struct rtems_termios_tty *tty) |
Type for ISIG (VINTR/VKILL) handler. More... | |
Enumerations | |
enum | rtems_termios_iproc_status_code { RTEMS_TERMIOS_IPROC_CONTINUE, RTEMS_TERMIOS_IPROC_INTERRUPT, RTEMS_TERMIOS_IPROC_DONE } |
The status code returned by all Termios input processing (iproc) functions and input signal (isig) handlers. More... | |
Functions | |
static __inline__ void | rtems_termios_initialize (void) |
rtems_status_code | rtems_termios_bufsize (size_t cbufsize, size_t raw_input, size_t raw_output) |
rtems_termios_iproc_status_code | rtems_termios_default_isig_handler (unsigned char c, struct rtems_termios_tty *tty) |
Default handler for ISIG (VINTR/VKILL) More... | |
rtems_termios_iproc_status_code | rtems_termios_posix_isig_handler (unsigned char c, struct rtems_termios_tty *tty) |
POSIX handler for ISIG (VINTR/VKILL) More... | |
rtems_status_code | rtems_termios_register_isig_handler (rtems_termios_isig_handler handler) |
Register handler for ISIG (VINTR/VKILL) More... | |
int | rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len) |
rtems_status_code | rtems_termios_open (rtems_device_major_number major, rtems_device_minor_number minor, void *arg, const rtems_termios_callbacks *callbacks) |
rtems_status_code | rtems_termios_close (void *arg) |
rtems_status_code | rtems_termios_read (void *arg) |
rtems_status_code | rtems_termios_write (void *arg) |
rtems_status_code | rtems_termios_ioctl (void *arg) |
int | rtems_termios_dequeue_characters (void *ttyp, int len) |
Termios.
typedef rtems_termios_iproc_status_code(* rtems_termios_isig_handler) (unsigned char c, struct rtems_termios_tty *tty) |
Type for ISIG (VINTR/VKILL) handler.
This type defines the interface to a method which will process VKILL and VINTR characters. The user can register a handler to override the default behavior which is to take no special action on these characters. The POSIX required behavior is to generate a SIGINTR or SIGQUIT signal. This behavior is implemented if the user registers the rtems_termios_posix_isig_handler().
c | character that was input |
tty | termios structure pointer for this input tty |
The status code returned by all Termios input processing (iproc) functions and input signal (isig) handlers.
rtems_termios_iproc_status_code rtems_termios_default_isig_handler | ( | unsigned char | c, |
struct rtems_termios_tty * | tty | ||
) |
Default handler for ISIG (VINTR/VKILL)
This handler is installed by default by termios. It performs no actions on receiving the VINTR and VKILL characters. This is not POSIX conformant behavior but is the historical RTEMS behavior and avoid any default dependency on signal processing code.
c | character that was input |
tty | termios structure pointer for this input tty |
The installed ISIG handler is only invoked if the character is (VKILL or VINTR) and ISIG is enabled. Thus the handler need only check the character and perform the appropriate action.
rtems_termios_iproc_status_code rtems_termios_posix_isig_handler | ( | unsigned char | c, |
struct rtems_termios_tty * | tty | ||
) |
POSIX handler for ISIG (VINTR/VKILL)
This handler is installed by the used to obtain POSIX behavior upon receiving the VINTR and VKILL characters. The POSIX required behavior is to generate a SIGINTR or SIGQUIT signal if ISIG is enabled.
c | character that was input |
tty | termios structure pointer for this input tty |
rtems_status_code rtems_termios_register_isig_handler | ( | rtems_termios_isig_handler | handler | ) |
Register handler for ISIG (VINTR/VKILL)
This method is invoked to install an ISIG handler. This may be used to install rtems_termios_posix_isig_handler() to obtain POSIX behavior or a custom handler. The handler rtems_termios_default_isig_handler() is installed by default.
handler | entry point of the new ISIG handler |
RTEMS_SUCCESSFUL | if successful or error code if unsuccessful. |