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>
|
2008-05-22 Joel Sherrill <joel.sherrill@OARcorp.com>
|
||||||
|
|
||||||
* libcsupport/include/rtems/watchdogdrv.h: Finish writing comments.
|
* 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 \
|
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/cfsetospeed.c src/tcgetattr.c src/tcsetattr.c src/tcdrain.c \
|
||||||
src/tcflow.c src/tcflush.c src/tcgetprgrp.c src/tcsendbreak.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 \
|
SYSTEM_CALL_C_FILES = src/open.c src/close.c src/read.c src/write.c \
|
||||||
src/write_r.c \
|
src/write_r.c \
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
/*
|
/*
|
||||||
* RTEMS termios device support internal data structures
|
* RTEMS termios device support internal data structures
|
||||||
*
|
*
|
||||||
* COPYRIGHT (c) 1989-2000.
|
* COPYRIGHT (c) 1989-2008.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
*
|
*
|
||||||
* The license and distribution terms for this file may be
|
* The license and distribution terms for this file may be
|
||||||
@@ -15,8 +15,8 @@
|
|||||||
* $Id$
|
* $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef TERMIOSTYPES_H
|
#ifndef __TERMIOSTYPES_H
|
||||||
#define TERMIOSTYPES_H
|
#define __TERMIOSTYPES_H
|
||||||
|
|
||||||
#include <rtems.h>
|
#include <rtems.h>
|
||||||
#include <rtems/libio.h>
|
#include <rtems/libio.h>
|
||||||
@@ -118,11 +118,13 @@ struct rtems_termios_tty {
|
|||||||
*/
|
*/
|
||||||
rtems_id rxTaskId;
|
rtems_id rxTaskId;
|
||||||
rtems_id txTaskId;
|
rtems_id txTaskId;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* line discipline related stuff
|
* line discipline related stuff
|
||||||
*/
|
*/
|
||||||
int t_line; /* id of line discipline */
|
int t_line; /* id of line discipline */
|
||||||
void *t_sc; /* hook for discipline-specific data structure */
|
void *t_sc; /* hook for discipline-specific data structure */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Wakeup callback variables
|
* Wakeup callback variables
|
||||||
*/
|
*/
|
||||||
@@ -150,18 +152,21 @@ struct rtems_termios_linesw {
|
|||||||
#define TERMIOS_IRQ_DRIVEN 1
|
#define TERMIOS_IRQ_DRIVEN 1
|
||||||
#define TERMIOS_TASK_DRIVEN 2
|
#define TERMIOS_TASK_DRIVEN 2
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* FIXME: this should move to termios.h!
|
* FIXME: this should move to termios.h!
|
||||||
*/
|
*/
|
||||||
void rtems_termios_rxirq_occured(struct rtems_termios_tty *tty);
|
void rtems_termios_rxirq_occured(struct rtems_termios_tty *tty);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* FIXME: this should move to termios.h!
|
* FIXME: this should move to termios.h!
|
||||||
* put a string to output ring buffer
|
* put a string to output ring buffer
|
||||||
*/
|
*/
|
||||||
void rtems_termios_puts (const void *buf,
|
void rtems_termios_puts (
|
||||||
|
const void *buf,
|
||||||
int len,
|
int len,
|
||||||
struct rtems_termios_tty *tty);
|
struct rtems_termios_tty *tty
|
||||||
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* global hooks for line disciplines
|
* global hooks for line disciplines
|
||||||
*/
|
*/
|
||||||
@@ -174,6 +179,24 @@ extern int rtems_termios_nlinesw;
|
|||||||
#define PPPDISC 5 /* PPP discipline */
|
#define PPPDISC 5 /* PPP discipline */
|
||||||
#define MAXLDISC 8
|
#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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -68,10 +68,6 @@ $(PROJECT_INCLUDE)/rtems/vmeintr.h: include/vmeintr.h $(PROJECT_INCLUDE)/rtems/$
|
|||||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/vmeintr.h
|
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/vmeintr.h
|
||||||
PREINSTALL_FILES += $(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):
|
$(PROJECT_INCLUDE)/rtems/motorola/$(dirstamp):
|
||||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/rtems/motorola
|
@$(MKDIR_P) $(PROJECT_INCLUDE)/rtems/motorola
|
||||||
@: > $(PROJECT_INCLUDE)/rtems/motorola/$(dirstamp)
|
@: > $(PROJECT_INCLUDE)/rtems/motorola/$(dirstamp)
|
||||||
|
|||||||
Reference in New Issue
Block a user