RTEMS: rtems_termios_device_handler Struct Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Fields
rtems_termios_device_handler Struct Reference

Termios device handler. More...

`#include <termiostypes.h>`

## Data Fields
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.
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.
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.

## Detailed Description

Termios device handler.

See also
  rtems_termios_device_install().

## Field Documentation

## ◆ first_open

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.

Parameters

  [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.

Return values

  true | Successful operation.
  false | Cannot open device.

See also
  rtems_termios_get_device_context() and rtems_termios_set_best_baud().

## ◆ ioctl

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.

Parameters

  [in] | context | The Termios device context.
  [in] | request | The IO control request.
  [in] | buffer | The IO control buffer.

## ◆ last_close

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.

Parameters

  [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.

## ◆ poll_read

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().

Parameters

  [in] | context | The Termios device context.

Return values

  char | The received data encoded as unsigned char.
  -1 | No data currently available.

## ◆ set_attributes

bool(* rtems_termios_device_handler::set_attributes) (rtems_termios_device_context *context, const struct termios *term)

Set attributes after a Termios settings change.

Parameters

  [in] | context | The Termios device context.
  [in] | term | The new Termios attributes.

Return values

  true | Successful operation.
  false | Invalid attributes.

## ◆ write

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.

Parameters

  [in] | context | The Termios device context.
  [in] | buf | The output buffer.
  [in] | len | The output buffer length in characters.

The documentation for this struct was generated from the following file:

- cpukit/include/rtems/termiostypes.h