forked from Imagelibrary/rtems
2008-05-22 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/Makefile.am, libcsupport/preinstall.am, libcsupport/include/rtems/termiostypes.h: Move termios helper routines from libchip to libcsupport. Add routine which makes it easy for a termios device driver to inform termios of its default baud rate. This avoids inconsistencies in later termios settings changes.
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
2008-05-22 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libcsupport/Makefile.am, libcsupport/preinstall.am,
|
||||
libcsupport/include/rtems/termiostypes.h: Move termios helper
|
||||
routines from libchip to libcsupport. Add routine which makes it easy
|
||||
for a termios device driver to inform termios of its default baud
|
||||
rate. This avoids inconsistencies in later termios settings changes.
|
||||
|
||||
2008-05-22 Joel Sherrill <joel.sherrill@OARcorp.com>
|
||||
|
||||
* libcsupport/include/rtems/watchdogdrv.h: Finish writing comments.
|
||||
|
||||
@@ -52,7 +52,9 @@ BASE_FS_C_FILES = src/base_fs.c src/mount.c src/unmount.c src/libio.c \
|
||||
TERMIOS_C_FILES = src/cfgetispeed.c src/cfgetospeed.c src/cfsetispeed.c \
|
||||
src/cfsetospeed.c src/tcgetattr.c src/tcsetattr.c src/tcdrain.c \
|
||||
src/tcflow.c src/tcflush.c src/tcgetprgrp.c src/tcsendbreak.c \
|
||||
src/tcsetpgrp.c src/termios.c src/termiosinitialize.c
|
||||
src/tcsetpgrp.c src/termios.c src/termiosinitialize.c \
|
||||
src/termios_baud2index.c src/termios_baud2num.c src/termios_num2baud.c \
|
||||
src/termios_setinitialbaud.c
|
||||
|
||||
SYSTEM_CALL_C_FILES = src/open.c src/close.c src/read.c src/write.c \
|
||||
src/write_r.c \
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/*
|
||||
* RTEMS termios device support internal data structures
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2000.
|
||||
* COPYRIGHT (c) 1989-2008.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -15,8 +15,8 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef TERMIOSTYPES_H
|
||||
#define TERMIOSTYPES_H
|
||||
#ifndef __TERMIOSTYPES_H
|
||||
#define __TERMIOSTYPES_H
|
||||
|
||||
#include <rtems.h>
|
||||
#include <rtems/libio.h>
|
||||
@@ -118,11 +118,13 @@ struct rtems_termios_tty {
|
||||
*/
|
||||
rtems_id rxTaskId;
|
||||
rtems_id txTaskId;
|
||||
|
||||
/*
|
||||
* line discipline related stuff
|
||||
*/
|
||||
int t_line; /* id of line discipline */
|
||||
void *t_sc; /* hook for discipline-specific data structure */
|
||||
|
||||
/*
|
||||
* Wakeup callback variables
|
||||
*/
|
||||
@@ -150,18 +152,21 @@ struct rtems_termios_linesw {
|
||||
#define TERMIOS_IRQ_DRIVEN 1
|
||||
#define TERMIOS_TASK_DRIVEN 2
|
||||
|
||||
|
||||
/*
|
||||
* FIXME: this should move to termios.h!
|
||||
*/
|
||||
void rtems_termios_rxirq_occured(struct rtems_termios_tty *tty);
|
||||
|
||||
/*
|
||||
* FIXME: this should move to termios.h!
|
||||
* put a string to output ring buffer
|
||||
*/
|
||||
void rtems_termios_puts (const void *buf,
|
||||
void rtems_termios_puts (
|
||||
const void *buf,
|
||||
int len,
|
||||
struct rtems_termios_tty *tty);
|
||||
struct rtems_termios_tty *tty
|
||||
);
|
||||
|
||||
/*
|
||||
* global hooks for line disciplines
|
||||
*/
|
||||
@@ -174,6 +179,24 @@ extern int rtems_termios_nlinesw;
|
||||
#define PPPDISC 5 /* PPP discipline */
|
||||
#define MAXLDISC 8
|
||||
|
||||
/* convert xxx integer to equivalent Bxxx constant */
|
||||
int termios_number_to_baud(int baud);
|
||||
/* convert Bxxx constant to xxx integer */
|
||||
int termios_baud_to_number(int termios_baud);
|
||||
/* convert Bxxx constant to index */
|
||||
int termios_baud_to_index(int termios_baud);
|
||||
|
||||
/*
|
||||
* This method is used by a driver to tell termios its
|
||||
* initial baud rate. This is especially important when
|
||||
* the device driver does not set the baud to the default
|
||||
* of B9600.
|
||||
*/
|
||||
int rtems_termios_set_initial_baud(
|
||||
struct rtems_termios_tty *ttyp,
|
||||
int baud
|
||||
);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -68,10 +68,6 @@ $(PROJECT_INCLUDE)/rtems/vmeintr.h: include/vmeintr.h $(PROJECT_INCLUDE)/rtems/$
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/vmeintr.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/vmeintr.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/watchdogdrv.h: include/rtems/watchdogdrv.h $(PROJECT_INCLUDE)/rtems/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/watchdogdrv.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/watchdogdrv.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/motorola/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/rtems/motorola
|
||||
@: > $(PROJECT_INCLUDE)/rtems/motorola/$(dirstamp)
|
||||
|
||||
Reference in New Issue
Block a user