![]() |
RTEMS 6.1-rc7
|
This group contains the Termios Device Support provided by RTEMS. More...
Modules | |
SC16IS752 Serial Device Driver | |
Files | |
file | termiosdevice.h |
This header file provides the interfaces of the RTEMS Termios Device Support. | |
file | termios_baud2index.c |
Convert Bxxx Constant to Index. | |
file | termios_baud2num.c |
Convert Baud Part of Termios control flags to an integral Baud Value. | |
file | termios_baudtable.c |
RTEMS Termios Baud Table. | |
file | termios_num2baud.c |
Converts the Integral Baud to Termios Control Flag Representation. | |
file | termios_setinitialbaud.c |
Sets the Initial Baud in the Termios Context. | |
file | termiosinitialize.c |
This source file contains the implementation of rtems_termios_device_lock_acquire_default() and rtems_termios_device_lock_release_default(). | |
Data Structures | |
struct | ttywakeup |
struct | rtems_termios_rawbuf |
struct | rtems_termios_device_node |
Termios device node for installed devices. More... | |
struct | rtems_termios_tty |
struct | rtems_termios_linesw |
Macros | |
#define | TTYDISC 0 /* termios tty line discipline */ |
#define | TABLDISC 3 /* tablet discipline */ |
#define | SLIPDISC 4 /* serial IP discipline */ |
#define | PPPDISC 5 /* PPP discipline */ |
#define | MAXLDISC 8 |
#define | RTEMS_IO_SNDWAKEUP _IOW('t', 11, struct ttywakeup ) /* send tty wakeup */ |
#define | RTEMS_IO_RCVWAKEUP _IOW('t', 12, struct ttywakeup ) /* recv tty wakeup */ |
#define | OLCUC 0x00000100 /* map lower case to upper case on output */ |
#define | IUCLC 0x00004000 /* map upper case to lower case on input */ |
#define | RTEMS_TERMIOS_NUMBER_BAUD_RATES 25 |
Typedefs | |
typedef struct rtems_termios_device_node | rtems_termios_device_node |
Termios device node for installed devices. | |
typedef struct rtems_termios_tty | rtems_termios_tty |
typedef uint32_t | rtems_termios_baud_t |
Enumerations | |
enum | { rob_idle , rob_busy , rob_wait } |
Functions | |
rtems_status_code | rtems_termios_device_install (const char *device_file, const rtems_termios_device_handler *handler, const rtems_termios_device_flow *flow, rtems_termios_device_context *context) |
Installs a Termios device. | |
void | rtems_termios_set_best_baud (struct termios *term, uint32_t baud) |
Sets the best baud value in the Termios control. | |
void | rtems_termios_rxirq_occured (struct rtems_termios_tty *tty) |
void | rtems_termios_puts (const void *buf, size_t len, struct rtems_termios_tty *tty) |
speed_t | rtems_termios_number_to_baud (rtems_termios_baud_t baud) |
Converts the Integral Baud value baud to the Termios Control Flag Representation. | |
rtems_termios_baud_t | rtems_termios_baud_to_number (speed_t baud) |
Converts the baud flags to an integral baud value. | |
int | rtems_termios_baud_to_index (rtems_termios_baud_t termios_baud) |
Convert Bxxx Constant to Index. | |
int | rtems_termios_set_initial_baud (struct rtems_termios_tty *tty, rtems_termios_baud_t baud) |
Sets the initial baud in the Termios context tty. | |
int | rtems_termios_kqfilter (rtems_libio_t *iop, struct knote *kn) |
Termios kqueue() filter filesystem node handler. | |
int | rtems_termios_mmap (rtems_libio_t *iop, void **addr, size_t len, int prot, off_t off) |
Termios mmap() filter filesystem node handler. | |
int | rtems_termios_poll (rtems_libio_t *iop, int events) |
Termios poll() filesystem node handler. | |
Variables | |
void(* | ttywakeup::sw_pfn )(struct termios *tty, void *arg) |
void * | ttywakeup::sw_arg |
char * | rtems_termios_rawbuf::theBuf |
volatile unsigned int | rtems_termios_rawbuf::Head |
volatile unsigned int | rtems_termios_rawbuf::Tail |
volatile unsigned int | rtems_termios_rawbuf::Size |
rtems_binary_semaphore | rtems_termios_rawbuf::Semaphore |
rtems_chain_node | rtems_termios_device_node::node |
rtems_device_major_number | rtems_termios_device_node::major |
rtems_device_minor_number | rtems_termios_device_node::minor |
const rtems_termios_device_handler * | rtems_termios_device_node::handler |
const rtems_termios_device_flow * | rtems_termios_device_node::flow |
rtems_termios_device_context * | rtems_termios_device_node::context |
struct rtems_termios_tty * | rtems_termios_device_node::tty |
struct rtems_termios_tty * | rtems_termios_tty::forw |
struct rtems_termios_tty * | rtems_termios_tty::back |
int | rtems_termios_tty::refcount |
rtems_device_major_number | rtems_termios_tty::major |
rtems_device_minor_number | rtems_termios_tty::minor |
rtems_mutex | rtems_termios_tty::isem |
rtems_mutex | rtems_termios_tty::osem |
char * | rtems_termios_tty::cbuf |
int | rtems_termios_tty::ccount |
int | rtems_termios_tty::cindex |
int | rtems_termios_tty::column |
int | rtems_termios_tty::read_start_column |
struct termios | rtems_termios_tty::termios |
rtems_interval | rtems_termios_tty::vtimeTicks |
struct rtems_termios_rawbuf | rtems_termios_tty::rawInBuf |
bool | rtems_termios_tty::rawInBufSemaphoreWait |
rtems_interval | rtems_termios_tty::rawInBufSemaphoreTimeout |
rtems_interval | rtems_termios_tty::rawInBufSemaphoreFirstTimeout |
unsigned int | rtems_termios_tty::rawInBufDropped |
struct rtems_termios_rawbuf | rtems_termios_tty::rawOutBuf |
int | rtems_termios_tty::t_dqlen |
enum rtems_termios_tty:: { ... } | rtems_termios_tty::rawOutBufState |
rtems_termios_callbacks | rtems_termios_tty::device |
rtems_termios_device_context | rtems_termios_tty::legacy_device_context |
Context for legacy devices using the callbacks. | |
rtems_termios_device_handler | rtems_termios_tty::handler |
The device handler. | |
rtems_termios_device_flow | rtems_termios_tty::flow |
The device flow control handler. | |
volatile unsigned int | rtems_termios_tty::flow_ctrl |
unsigned int | rtems_termios_tty::lowwater |
unsigned int | rtems_termios_tty::highwater |
rtems_id | rtems_termios_tty::rxTaskId |
rtems_id | rtems_termios_tty::txTaskId |
int | rtems_termios_tty::txTaskCharsDequeued |
int | rtems_termios_tty::t_line |
void * | rtems_termios_tty::t_sc |
struct ttywakeup | rtems_termios_tty::tty_snd |
struct ttywakeup | rtems_termios_tty::tty_rcv |
bool | rtems_termios_tty::tty_rcvwakeup |
rtems_termios_device_node * | rtems_termios_tty::device_node |
Corresponding device node. | |
rtems_termios_device_context * | rtems_termios_tty::device_context |
Context for device driver. | |
int(* | rtems_termios_linesw::l_open )(struct rtems_termios_tty *tp) |
int(* | rtems_termios_linesw::l_close )(struct rtems_termios_tty *tp) |
int(* | rtems_termios_linesw::l_read )(struct rtems_termios_tty *tp, rtems_libio_rw_args_t *args) |
int(* | rtems_termios_linesw::l_write )(struct rtems_termios_tty *tp, rtems_libio_rw_args_t *args) |
int(* | rtems_termios_linesw::l_rint )(int c, struct rtems_termios_tty *tp) |
int(* | rtems_termios_linesw::l_start )(struct rtems_termios_tty *tp, int len) |
int(* | rtems_termios_linesw::l_ioctl )(struct rtems_termios_tty *tp, rtems_libio_ioctl_args_t *args) |
int(* | rtems_termios_linesw::l_modem )(struct rtems_termios_tty *tp, int flags) |
struct rtems_termios_linesw | rtems_termios_linesw [] |
int | rtems_termios_nlinesw |
const rtems_assoc_t | rtems_termios_baud_table [] |
RTEMS Termios Baud Table. | |
This group contains the Termios Device Support provided by RTEMS.
typedef struct rtems_termios_device_node rtems_termios_device_node |
Termios device node for installed devices.
rtems_termios_baud_t rtems_termios_baud_to_number | ( | speed_t | baud | ) |
Converts the baud flags to an integral baud value.
0 | Invalid baud value or a baud value of B0 . |
other | Integral baud value. |
rtems_status_code rtems_termios_device_install | ( | const char * | device_file, |
const rtems_termios_device_handler * | handler, | ||
const rtems_termios_device_flow * | flow, | ||
rtems_termios_device_context * | context | ||
) |
Installs a Termios device.
The installed Termios device may be removed via unlink().
[in] | device_file | The device file path. |
[in] | handler | The device handler. It must be persistent throughout the installed time of the device. |
[in] | flow | The device flow control handler. The device flow control handler are optional and may be NULL . If present must be persistent throughout the installed time of the device. |
[in] | context | The device context. It must be persistent throughout the installed time of the device. |
RTEMS_SUCCESSFUL | Successful operation. |
RTEMS_NO_MEMORY | Not enough memory to create a device node. |
RTEMS_UNSATISFIED | Creation of the device file failed. |
RTEMS_INCORRECT_STATE | Termios is not initialized. |
int rtems_termios_kqfilter | ( | rtems_libio_t * | iop, |
struct knote * | kn | ||
) |
Termios kqueue() filter filesystem node handler.
Real implementation is provided by libbsd.
int rtems_termios_mmap | ( | rtems_libio_t * | iop, |
void ** | addr, | ||
size_t | len, | ||
int | prot, | ||
off_t | off | ||
) |
Termios mmap() filter filesystem node handler.
Real implementation is provided by libbsd.
speed_t rtems_termios_number_to_baud | ( | rtems_termios_baud_t | baud | ) |
Converts the Integral Baud value baud to the Termios Control Flag Representation.
B0 | Invalid baud value or a baud value of 0. |
other | Baud constant according to baud. |
int rtems_termios_poll | ( | rtems_libio_t * | iop, |
int | events | ||
) |
Termios poll() filesystem node handler.
Real implementation is provided by libbsd.
void rtems_termios_set_best_baud | ( | struct termios * | term, |
uint32_t | baud | ||
) |
Sets the best baud value in the Termios control.
The valid Termios baud values are between 0 and 460800. The Termios baud value is chosen which minimizes the difference to the value specified.
[in] | term | The Termios attributes. |
[in] | baud | The current baud setting of the device. |
int rtems_termios_set_initial_baud | ( | struct rtems_termios_tty * | tty, |
rtems_termios_baud_t | baud | ||
) |
Sets the initial baud in the Termios context tty.
0 | Successful operation. |
-1 | Invalid baud value. |