The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.16 - 2021-01-01

  • Switch to github for issue tracker.
  • Switch to testsuite CI workflow.
  • Tidy
  • 2020-10-03 Todd Rinaldo <toddr@cpan.org> 1.15
    • Skip winsize test on Solaris and QNX NTO
    • Make function tests more robust
    • Work around a header name collission on util.h. This is breaking on recent OSX
  • 2020-01-18 Todd Rinaldo <toddr@cpan.org> 1.14
    • Add strict/warnings to Tty.pm
      • Fix pod errors
      • Typo: s/dependend/dependent/
      • Prevent spurious warning from get_winsize()
      • Fix usage of setsid
      • Github actions testing. Windows is off of course.
      • Make README.md
  • 2014-12-14 Todd Rinaldo <toddr@cpan.org> 1.13_01
    • RT 91590 - Remove MAP_TARGET from Makefile.PL
    • RT 88271 - Fix for Solaris setuid when root running as other user
  • 2014-09-12 Todd Rinaldo <toddr@cpan.org> 1.12
    • Merge pull request from Chris Williams (bingos) to fix "redefinition of typedef" errors with v5.19.4 and above
  • 2014-05-05 Todd Rinaldo <toddr@cpan.org>
    • Release 1.11 to CPAN with explicit dropping of support for Win32 (we never supported it) - RT 77813
    • Bump version to a devel release 1.11_01 for experimental work.
    • Fix typo in compilter - RT 75649
    • Add support for PERL_MM_OPT
  • 2010-10-11 Todd Rinaldo <toddr@cpan.org>
    • CPAN testers clean. Bumping to release version 1.10
  • 2010-10-04 Todd Rinaldo <toddr@cpan.org>
    • RT 60788 - Better error reporting on Operating Systems that can't set a controlling terminal e.g. BeOS
    • Bump to 1.09_01
  • 2010-10-04 Todd Rinaldo <toddr@cpan.org>
    • CPAN testers looks clean. Internal testing done on perl 5.6
    • Bump version to 1.09 and release to CPAN
  • 2010-10-02 Todd Rinaldo <toddr@cpan.org>
    • RT 61642 - Fix file number test to work without hang on cygwin
    • Bump to 1.08_03
  • 2010-09-10 Todd Rinaldo <toddr@cpan.org>
    • Update all versions to the new version. bump to 1.08_02
  • 2010-09-10 Todd Rinaldo <toddr@cpan.org>
    • RT 45008 - only try TIOCSCTTY if we don't have a ctty
    • RT 53883 - IO::Tty detection on BeOS w/fix
    • RT 60014 - better META.yml by modernizing Makefile.PL
    • RT 44771 - Add _ to list of escape characters for compiler so it'll compile on windows This is experimental pending a successful dev release
  • 2009-02-05 Roland Giersig <rgiersig@cpan.org>
    • v1.08
    • Makefile.PL, Tty.xs: added support for posix_openpt(), thanks to Ed Schouten for providing a patch
  • 2006-07-18 Roland Giersig <rgiersig@cpan.org>
    • v1.07
    • Tty.xs: added some more letter to BSD allocation
  • 2006-07-15 Roland Giersig <rgiersig@cpan.org>
    • v1.06
    • Tty.pm: pre-allocate buffer for ioctl
  • 2006-06-06 Roland Giersig <rgiersig@cpan.org>
    • v1.05
    • Tty.xs: added includes <sys/pty.h> and <sys/ptyio.h>
  • 2006-05-28 Roland Giersig <rgiersig@cpan.org>
    • v1.04
    • Tty.xs: added handling for z/OS (uses /dev/ptyp0000)
    • Makefile.PL: added <sys/pty.h> (for HPUX)
  • 2006-04-25 Roland Giersig <rgiersig@cpan.org>
    • v1.03
    • Tty.c: changed newCONSTSUB to use newSV(0) instead of PL_sv_undef, now undef'd constants work
    • Makefile.PL: made ccflags handling meta-char safe, added ldflags; enhanced error msg
    • Makefile.PL: added <sys/ptyio.h>
  • 2002-04-02 Roland Giersig <rgiersig@cpan.org>
    • Tty.pm, Pty.pm: v1.02; disable warning for non-existant die handler
  • 2002-03-18 Roland Giersig <rgiersig@cpan.org>
    • v1.01
    • Makefile.PL: remove cpp, test-compile instead
    • Tty.pm, Pty.pm: disable die handler when requiring Stty
  • 2002-03-06 Roland Giersig <rgiersig@cpan.org>
    • v0.97_04, final pre-release version
  • 2002-03-04 Roland Giersig <rgiersig@cpan.org>
    • Pty.pm: v0.97_03
    • Makefile.PL: order of include files is preserved; added test for working cpp.
    • Tty.pm (clone_winsize_from): v0.97_03; added function.
    • Tty.xs (allocate_pty): fixed typo in close for _getpty; changed order of termios.h and termio.h includes
  • 2002-02-26 Roland Giersig <rgiersig@cpan.org>
    • test.pl: replaced Test.pm
    • Tty.pm (set_raw): v0.97_01; moved set_raw() from test to method
    • Tty.xs: got rid of snprintf; don't try openpty() and getpt() if ptsname is not there.
    • Pty.pm: v0.97_01; updated docs
    • Makefile.PL: v0.97_01; auto-create IO::Tty::Constant
  • 2002-01-31 Roland Giersig <rgiersig@cpan.org>
    • Pty.pm: add IO::Stty to @ISA, master pty is sometimes a tty.
    • Tty.pm: v0.95_01
  • 2002-01-30 Roland Giersig <rgiersig@cpan.org>
    • Tty.pm, Pty.pm: v0.94_05
    • Tty.xs (allocate_pty): moved getpt() and openpty() before muxes
    • test.pl: if master isatty, set it also to raw; seems to be needed.
    • Makefile.PL: fixed checks; test problematic constants with a compile.
  • 2002-01-23 Roland Giersig <rgiersig@cpan.org>
    • Tty.pm: v0.94_03
    • test.pl: changed test to probe for maximum chunk the pty can handle; also, the /dev/tty test probes if an EOF is correctly reported from the child to the parent.
    • Tty.xs: finally made debug printfs optional via $IO::Tty::DEBUG.
  • 2002-01-18 Roland Giersig <rgiersig@cpan.org>
    • Tty.pm: v0.94_02
    • Tty.xs: added #include termio.h
  • 2002-01-07 Roland Giersig <rgiersig@cpan.org>
    • Pty.pm: adapted to new interface (close_slave): added for keeping open filecount straight (make_slave_controlling_terminal): created anew (slave): reverted from open_slave()
    • Tty.pm: v0.94_01
    • test.pl: adapted to new interface
    • Tty.xs: reverted to opening slave at creation time; added debug printfs (open_slave): use ptsname_r if there, forget about erroneous ttyname. (allocate_pty): added name param on openpty (doesn't take NULL for name)
  • 2001-11-28 Roland Giersig <rgiersig@cpan.org>
    • Tty.pm: v0.92_04
    • Tty.xs (BOOT): use perl_get_sv for backward compat
    • Makefile.PL: added analysis of configuration
  • 2001-11-27 Roland Giersig <rgiersig@cpan.org>
    • Tty.pm: v0.92_03
    • Tty.xs (BOOT): removed export_fail, undefined constants are now undef instead of not exportable; added CONFIG variable.
    • Makefile.PL: added setting of CONFIG var
    • test.pl: added printing of CONFIG var
    • Pty.pm (spawn): fixed bug with $^W handling
  • 2001-11-17 Roland Giersig <rgiersig@cpan.org>
    • Tty.xs (pty_allocate): complete rewrite, based on ideas from openssh and Xemacs. Tries all ways detected by Makefile.PL in order, so in theory it should work everywhere (modulo system quirks). First tries the high-level openpty() before getpt(), then various clone devices and finally BSD-style ptys.
    • Tty.xs (open_slave): moved master init stuff here, must be done before opening the slave. The Stream module pushes are now tried on all systems but only generate warnings on systems that we know need them.
    • Makefile.PL: added tests for all kinds of functions and clone devices.
  • 2001-11-14 Roland Giersig <rgiersig@cpan.org>
    • Tty.xs (MODULE): stole creation code from openssh
    • test.pl: added test for controlling terminal
    • Pty.pm (spawn): rearranged setsid() and added a fresh open of the slave pty so the pty becomes the controlling terminal for the process.
  • 2001-10-25 Roland Giersig <rgiersig@cpan.org>
    • Pty.pm (spawn): copied spawning process from Tcl/Expect (thanks, Don!); should set the controlling tty so ssh and other password requesting programs should be OK; also now returns exec errors. (slave_pid): added method to get at PID of spawned process.
    • Makefile.PL: added TIOCCONS.
    • try: adapted to use spawn().
    • test.pl: adapted to use spawn(); added test for exec errors.
  • 2001-10-16 Roland Giersig <rgiersig@cpan.org>
    • Pty.pm (new): fixed bad my() line
    • automatically add IO::Stty to ISA if it exists.
  • 2001-07-16 Roland Giersig <rgiersig@cpan.org>
    • test.pl: finally some tests! Spawns a perl mini-script that echoes back all characters from STDIN, but inverted.
    • Pty.pm (slave): slave now is set to be a controlling tty if possible; it also remembers it's name now.
    • Makefile.PL:
      • on SCO, the slave pts* are in the /dev dir, not /dev/pts
      • added test for libutil.h, util.h, pty.h and openpty()
      • added symbol TIOCSCTTY
    • Tty.xs:
      • some SVR4 only define __SVR4; fixed.
      • OSF machines need termio.h for various macros
      • AIX doesn't define VOIDSIG; fixed.
      • Cygwin can use /dev/ptmx even though that file doesn't exist.
      • added openpty() version for FreeBSD and others that have no good method for creating ptys; untested.
    • Tty.pm:
      • moved docu over from Pty.pm to lessen confusion Pty <-> Tty
      • added verified systems list
  • Change 588 on 2000/09/04 by <gbarr@pobox.com> (Graham Barr)
    • Check for /dev/ptmx and /dev/pts instead of testing defined(SVR4)
  • Change 587 on 2000/09/04 by <gbarr@pobox.com> (Graham Barr)
    • Make ttyname just warn when it is not implemented instead of croak
  • Change 586 on 2000/09/04 by <gbarr@pobox.com> (Graham Barr)
    • Include <sys/modem.h> for HPUX
  • Change 585 on 2000/09/04 by <gbarr@pobox.com> (Graham Barr)
    • Makefile.PL
    • Fix to how cc is called
  • Change 461 on 2000/03/29 by <gbarr@pobox.com> (Graham Barr)
    • Release 0.03
  • Change 460 on 2000/03/29 by <gbarr@pobox.com> (Graham Barr)
    • General cleanup and added PPD stuff into Makefile.PL
  • Change 310 on 1999/05/10 by <gbarr@pobox.com> (Graham Barr)
    • Removed the need for Configure by implementing a test in Makefile.PL
    • The existance of constants are now checked at import time, so @EXPORT had to be renamed to @EXPORT_OK. ie noting is imported by default

Documentation

Modules

Pseudo TTY object class
Low-level allocate a pseudo-Tty, import constants.