summaryrefslogtreecommitdiff
path: root/cpukit/libcsupport/src/termios.c (follow)
AgeCommit message (Collapse)Author
2014-03-11score: Add local context to SMP lock APISebastian Huber
Add a local context structure to the SMP lock API for acquire and release pairs. This context can be used to store the ISR level and profiling information. It may be later used to enable more sophisticated lock algorithms, e.g. MCS locks. There is only one lock that cannot be used with a local context. This is the per-CPU lock since here we would have to transfer the local context through a context switch which is very complicated.
2013-09-05termios: check return value from semaphore obtain/releaseGedare Bloom
Raise a fatal error in case of failure.
2013-06-12termios: SMP supportSebastian Huber
2013-06-12termios: Notify driver about inactive transmitSebastian Huber
Returning this state in the return value leads to race conditions on SMP. The inactive state notification must be inside the critical section.
2013-06-12termios: Expand critical sectionSebastian Huber
Use interrupt disable/enable to protect the complete refill state change. This avoids race conditions for the task driven configuration and a later SMP support.
2013-06-12termios: Move wake up writer task actionSebastian Huber
2013-06-12termios: Avoid second return pathSebastian Huber
2013-06-07termios: Fix warningSebastian Huber
2012-12-13termios: Fix output flushSebastian Huber
2012-12-13termios: Implement tcflush()Sebastian Huber
New IO control RTEMS_IO_TCFLUSH.
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill
Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
2012-04-03Filesystem: Change type of ioctl_returnSebastian Huber
Change the ioctl_return type of rtems_libio_ioctl_args_t to match the ioctl() return value type.
2011-12-082011-12-08 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius
* libcsupport/src/termios.c: Make rtems_termios_refill_transmitter static.
2011-12-052011-12-05 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius
* libcsupport/src/termios.c: Remove unnecessary cast.
2011-12-032011-12-03 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius
* libcsupport/src/termios.c: Make FL_* defines unsigned.
2011-10-182011-10-18 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius
* libcsupport/include/rtems/libio.h, libcsupport/src/termios.c: Use size_t for sizes.
2011-10-112011-10-11 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius
* libcsupport/src/termios.c, libcsupport/include/rtems/termiostypes.h (rtems_termios_puts): Use size_t for buffer size.
2011-10-102011-10-10 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius
* libcsupport/src/termios.c: Remove meaningless typecast.
2011-06-172011-06-17 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber
* libcsupport/include/rtems/libio.h, cpukit/libcsupport/src/termios.c: Added const qualifier to rtems_termios_enqueue_raw_characters(). Removed superfluous cast.
2010-08-102010-08-09 Bharath Suri <bharath.s.jois@gmail.com>Joel Sherrill
PR 1662/filesystem * libcsupport/src/termios.c: osem is now released before attempt to delete in rtems_termios_close.
2010-07-052010-07-05 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill
* libcsupport/src/getlogin.c: Formatting. Add EFAULT. * libcsupport/src/termios.c: Formatting.
2010-06-282010-06-28 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill
* libcsupport/src/termios.c: Formatting.
2010-01-192010-01-19 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill
Coverity Id 28 * libcsupport/src/termios.c: Set then unconditionally to avoid potential paths where it might be used uninitialized. Recommended by Eric Norum.
2009-12-172009-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill
* libcsupport/src/termios.c, libfs/src/dosfs/msdos_format.c, libfs/src/nfsclient/src/nfs.c, libfs/src/pipe/fifo.c, libnetworking/lib/rtems_bsdnet_ntp.c, libnetworking/lib/tftpDriver.c, libnetworking/rtems/rtems_glue.c, libnetworking/rtems/rtems_select.c: Eliminate uses of deprecated rtems_clock_get() and replace with properly typed routine.
2009-11-30Obtain output semaphore before drain output during close to prevent an ↵Thomas Doerfler
infinite output drain loop
2009-11-29Whitespace removal.Ralf Corsepius
2008-09-01Convert using "bool".Ralf Corsepius
2008-08-192008-08-19 Cedric Aubert <cedric_aubert@yahoo.fr>Joel Sherrill
PR 500/misc * libcsupport/src/termios.c: Avoid potential buffer overflow.
2007-03-172007-03-17 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius
* libcsupport/include/rtems/termiostypes.h, libcsupport/src/termios.c: Prefix linesw, struct linesw, nwlinesw with rtems_termios_*.
2006-11-152006-11-15 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill
* libcsupport/src/termios.c, posix/Makefile.am, posix/preinstall.am, posix/include/rtems/posix/config.h, posix/include/rtems/posix/time.h, sapi/src/posixapi.c, score/Makefile.am, score/preinstall.am, score/include/rtems/score/corerwlock.h, score/include/rtems/score/threadq.h, score/src/corerwlockobtainread.c, score/src/threadqenqueue.c, score/src/threadqtimeout.c: Adding POSIX barriers, POSIX spinlocks, and partial implementation of POSIX rwlocks. * posix/include/rtems/posix/barrier.h, posix/include/rtems/posix/rwlock.h, posix/include/rtems/posix/spinlock.h, posix/inline/rtems/posix/barrier.inl, posix/inline/rtems/posix/rwlock.inl, posix/inline/rtems/posix/spinlock.inl, posix/src/barrierattrdestroy.c, posix/src/barrierattrgetpshared.c, posix/src/barrierattrinit.c, posix/src/barrierattrsetpshared.c, posix/src/pbarrier.c, posix/src/pbarrierdestroy.c, posix/src/pbarrierinit.c, posix/src/pbarriertranslatereturncode.c, posix/src/pbarrierwait.c, posix/src/prwlock.c, posix/src/prwlockdestroy.c, posix/src/prwlockinit.c, posix/src/prwlockrdlock.c, posix/src/prwlocktimedrdlock.c, posix/src/prwlocktimedwrlock.c, posix/src/prwlocktranslatereturncode.c, posix/src/prwlocktryrdlock.c, posix/src/prwlocktrywrlock.c, posix/src/prwlockunlock.c, posix/src/prwlockwrlock.c, posix/src/pspin.c, posix/src/pspindestroy.c, posix/src/pspininit.c, posix/src/pspinlock.c, posix/src/pspinlocktranslatereturncode.c, posix/src/pspintrylock.c, posix/src/pspinunlock.c, posix/src/rwlockattrdestroy.c, posix/src/rwlockattrgetpshared.c, posix/src/rwlockattrinit.c, posix/src/rwlockattrsetpshared.c: New files.
2006-10-252006-10-25 Jennifer Averett <jennifer@oarcorp.com>Joel Sherrill
* libcsupport/src/termios.c: Change attribute of semaphore. It was counting interrupts not acting as a condition synchronization mutex. Since the caller did not always need to obtain the semaphore, it was not being decremented until there was no data. This could occur after hours of running a system and thousands of interrupts. The code in fillBufferQueue would spin until it had consumed all of those semaphore counts.
2006-03-072006-03-07 Till Strauman <strauman@slac.stanford.edu>Joel Sherrill
PR 830/filesystem * libcsupport/src/termios.c: termios ioctl(FIONREAD) reported wrong number of characters. So add chars in low-level/raw buffer to total count.
2005-05-062005-05-06 Joel Sherrill <joel@OARcorp.com>Joel Sherrill
* libcsupport/src/termios.c: Removed warnings.
2005-02-022005-02-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill
* libblock/include/rtems/bdbuf.h, libblock/include/rtems/ide_part_table.h, libblock/src/blkdev.c, libcsupport/include/rtems/termiostypes.h, libcsupport/src/termios.c, posix/macros/rtems/posix/cond.inl, posix/macros/rtems/posix/mutex.inl : Remove warnings.
2005-01-182005-01-18 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius
* libcsupport/src/termios.c: Remove unnecessary type casts.
2004-04-18Remove stray white spaces.Ralf Corsepius
2004-04-132004-04-13 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius
* configure.ac: Rework stdint.h/inttypes.h support. Add RTEMS_USES_STDINT_H. Add RTEMS_USES_INTTYPES_H. Remove NEED_STDINT_H. Remove NEED_INTTYPES_H. Remove termios-flag detection. * libcsupport/Makefile.am: Install include/stdint.h and include/inttypes.h for NEWLIB only. * libcsupport/include/stdint.h: Rework; Now newlib specific. * libcsupport/src/termios.c: Make newlib specific. * include/rtems/stdint.h: Rework; Now wrapper to <stdint.h>.
2004-03-232004-03-23 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius
* libcsupport/include/chain.h, libcsupport/include/clockdrv.h, libcsupport/include/ringbuf.h, libcsupport/include/spurious.h, libcsupport/include/timerdrv.h, libcsupport/include/vmeintr.h, libcsupport/include/motorola/mc68230.h, libcsupport/include/rtems/assoc.h, libcsupport/include/rtems/libio.h, libcsupport/include/rtems/libio_.h, libcsupport/include/rtems/termiostypes.h, libcsupport/include/zilog/z8036.h, libcsupport/include/zilog/z8530.h, libcsupport/include/zilog/z8536.h, libcsupport/src/__gettod.c, libcsupport/src/assoc.c, libcsupport/src/assocnamebad.c, libcsupport/src/error.c, libcsupport/src/libio.c, libcsupport/src/libio_sockets.c, libcsupport/src/malloc.c, libcsupport/src/no_libc.c, libcsupport/src/termios.c, libcsupport/src/termiosreserveresources.c: Convert to using c99 fixed-size types.
2003-09-042003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill
* include/chain.h, include/clockdrv.h, include/console.h, include/iosupp.h, include/rtc.h, include/spurious.h, include/timerdrv.h, include/vmeintr.h, include/motorola/mc68230.h, include/rtems/libcsupport.h, include/rtems/libio.h, include/rtems/libio_.h, include/rtems/termiostypes.h, include/sys/termios.h, include/zilog/z8036.h, include/zilog/z8530.h, include/zilog/z8536.h, src/__brk.c, src/__gettod.c, src/__sbrk.c, src/__times.c, src/access.c, src/base_fs.c, src/cfgetispeed.c, src/cfgetospeed.c, src/cfsetispeed.c, src/cfsetospeed.c, src/chdir.c, src/chmod.c, src/chown.c, src/chroot.c, src/close.c, src/ctermid.c, src/dup.c, src/dup2.c, src/eval.c, src/fchdir.c, src/fchmod.c, src/fcntl.c, src/fdatasync.c, src/fpathconf.c, src/fs_null_handlers.c, src/fstat.c, src/fsync.c, src/ftruncate.c, src/getdents.c, src/getpwent.c, src/hosterr.c, src/ioctl.c, src/isatty.c, src/libio.c, src/libio_sockets.c, src/link.c, src/lseek.c, src/lstat.c, src/malloc.c, src/mallocfreespace.c, src/mkdir.c, src/mkfifo.c, src/mknod.c, src/mount.c, src/newlibc.c, src/no_libc.c, src/no_posix.c, src/open.c, src/pathconf.c, src/pipe.c, src/privateenv.c, src/read.c, src/readlink.c, src/rewinddir.c, src/rmdir.c, src/seekdir.c, src/stat.c, src/symlink.c, src/sync.c, src/tcdrain.c, src/tcflow.c, src/tcflush.c, src/tcgetattr.c, src/tcgetprgrp.c, src/tcsendbreak.c, src/tcsetattr.c, src/tcsetpgrp.c, src/telldir.c, src/termios.c, src/termiosinitialize.c, src/truncate.c, src/umask.c, src/unixlibc.c, src/unlink.c, src/unmount.c, src/utime.c, src/write.c: URL for license changed.
2003-07-082003-07-08 Joel Sherrill <joel@OARcorp.com>Joel Sherrill
PR 419/rtems * src/termios.c: Removed warning.
2003-07-02Patch by Chris Johns <cjohns@cybertec.com.au> adding the ↵Chris Johns
rtems_termios_bufsize call.
2003-05-262003-04-17 Thomas Doerfler <Thomas.Doerfler@imd-systems.de>Joel Sherrill
PR 399/rtems_misc * src/termios.c: In canonical mode, when input is present in the input buffer that contains an EOL character and some following characters, a read call read data behind the EOL character, although it should stop reading with the EOL character.
2003-02-202003-02-20 Wolfram Wadepohl <W.Wadepohl@indumat.de>Joel Sherrill
PR 357/rtems_misc * src/termios.c (rtems_termios_open): Fixed code the incorrectly checked that the wrong pointer during allocation was NULL.
2002-12-062002-12-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius
* configure.ac: Add various checks to enhance portability. * src/termios.c: Reflect changes to configure.ac.
2002-01-312001-01-31 Mike Siers <mikes@poliac.com>Joel Sherrill
* Nice Update of PPPD support which eliminates the requiremetn that drivers be in the termios TASK_DRIVEN mode. Mike did significant testing and reports that it seems to be more stable and handle larger packets better. This patch replaces the termios tasks with more general pppd network driver tasks. The functions pppinput() and pppstart() get called from the interrupt service routine. * libc/termios.c: Added PPCDISC.
2001-10-112001-10-11 Mike Siers <mikes@poliac.com>Joel Sherrill
* libc/termios.c: Fixed a memory leak in the termios software. Basically the tty open function was allocating an input raw buffer, an output raw buffer, and a cooked buffer that were not getting released. I have attached a patch for the latest snapshot. The patch also has a fix to ensure the tty link list is updated correctly when a tty is closed.
2001-08-162001-08-16 Mike Siers <mikes@poliac.com>Joel Sherrill
* libc/termios.c: Fix a bug in the termios implementation in the following scenario: The General Terminal Interface document that me states that if VMIN = 0 and VTIME = 0, then read() should return the minimum of two values: a) number of bytes available b) number of bytes requested (I assume from the read call) The current implementation of the fillBufferQueue() in termios.c is always return 1 character with these setting values. I know the termios buffer has more than one character available and my read() call is requesting 1024 bytes.
2001-08-162001-08-16 Mike Siers <mikes@poliac.com>Joel Sherrill
* libc/termios.c: Fix a bug in the termios implementation in the following scenario: The General Terminal Interface document that me states that if VMIN = 0 and VTIME = 0, then read() should return the minimum of two values: a) number of bytes available b) number of bytes requested (I assume from the read call) The current implementation of the fillBufferQueue() in termios.c is always return 1 character with these setting values. I know the termios buffer has more than one character available and my read() call is requesting 1024 bytes.
2001-01-082001-01-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill
* configure.in: Add libc/config.h * libc/Makefile.am: Add INCLUDES += -I. to pickup config.h * libc/.cvsignore: Add config.h and stamp-h * libc/*.c: Add config.h support.
2000-11-302000-11-30 Joel Sherrill <joel@OARcorp.com>Joel Sherrill
* include/rtems/Makefile.am: Added termiostypes.h. * libc/Makefile.am: Removed termiostypes.h. * libc/termios.c: Changed include of "termiostypes.h" to <rtems/termiostypes.h> since that is an RTEMS specific header file.