37#ifndef _RTEMS_TERMIOSDEVICE_H
38#define _RTEMS_TERMIOSDEVICE_H
43#include <sys/ioccom.h>
77 void ( *lock_acquire )(
82 void ( *lock_release )(
92 TERMIOS_IRQ_SERVER_DRIVEN
93} rtems_termios_device_mode;
121 struct termios *term,
178 const struct termios *term
192 ioctl_command_t request,
199 rtems_termios_device_mode
mode;
223void rtems_termios_device_lock_acquire_default(
228void rtems_termios_device_lock_release_default(
241static inline void rtems_termios_device_context_initialize(
247 context->lock_acquire = rtems_termios_device_lock_acquire_default;
248 context->lock_release = rtems_termios_device_lock_release_default;
257#define RTEMS_TERMIOS_DEVICE_CONTEXT_INITIALIZER( name ) \
259 { RTEMS_INTERRUPT_LOCK_INITIALIZER( name ) }, \
260 rtems_termios_device_lock_acquire_default, \
261 rtems_termios_device_lock_release_default \
271static inline void rtems_termios_device_lock_acquire(
286static inline void rtems_termios_device_lock_release(
char rtems_interrupt_lock
This structure represents an ISR lock.
Definition intr.h:532
#define rtems_interrupt_lock_initialize(_lock, _name)
Initializes the ISR lock.
Definition intr.h:577
ISR_lock_Context rtems_interrupt_lock_context
This structure provides an ISR lock context for acquire and release pairs.
Definition intr.h:559
This header file defines the Interrupt Manager API.
Parameter block for open/close.
Definition libio.h:1366
Termios device context.
Definition termiosdevice.h:68
Termios device flow control handler.
Definition termiosdevice.h:207
void(*) start_remote_tx(rtems_termios_device_context *context)
Indicate to start remote transmitter.
Definition termiosdevice.h:220
void(*) stop_remote_tx(rtems_termios_device_context *context)
Indicate to stop remote transmitter.
Definition termiosdevice.h:213
Termios device handler.
Definition termiosdevice.h:100
rtems_termios_device_mode mode
Termios device mode.
Definition termiosdevice.h:199
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.
Definition termiosdevice.h:118
bool(*) set_attributes(rtems_termios_device_context *context, const struct termios *term)
Set attributes after a Termios settings change.
Definition termiosdevice.h:176
int(*) ioctl(rtems_termios_device_context *context, ioctl_command_t request, void *buffer)
IO control handler.
Definition termiosdevice.h:190
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.
Definition termiosdevice.h:133
int(*) poll_read(rtems_termios_device_context *context)
Polled read.
Definition termiosdevice.h:151
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.
Definition termiosdevice.h:161
Definition termiostypes.h:94
unsigned context
Definition tlb.h:1
This header file provides the API of Self-Contained Objects.