NAME
POSIX::1003::Termios - POSIX general terminal interface
INHERITANCE
POSIX::1003::Termios
is a POSIX::1003::Module
POSIX::1003::Termios
is a POSIX::Termios
SYNOPSIS
use POSIX::1003::Termios qw(:speed);
$termios = POSIX::1003::Termios->new;
$ispeed = $termios->getispeed;
$termios->setospeed(B9600);
use POSIX::1003::Termios qw(:functions :actions);
tcsendbreak($fd, $duration);
tcflush($fd, TCIFLUSH);
$tty = ttyname($fd);
$tty = ttyname($fh->fileno);
DESCRIPTION
This module provides an interface to the "General Terminal Interfaces", as specified by POSIX. The actual implementation is part of POSIX.xs
See documentation in the base class.
METHODS
See documentation in the base class.
Constructors
- POSIX::1003::Termios->new()
-
Create a new Termios object. This object will be destroyed automatically when it is no longer needed. A Termios object corresponds to the termios C struct.
$termios = POSIX::1003::Termios->new;
Accessors
- $obj->getattr([FD])
-
Get terminal control attributes (POSIX function
tcgetattr
). Pass a file descriptor, which defaults to0
(stdin). Returnsundef
on failure.# Obtain the attributes for stdin $termios->getattr(0); $termios->getattr(); # Obtain the attributes for stdout $termios->getattr(1);
- $obj->getcc(INDEX)
-
Retrieve a value from the
c_cc
field of a termios object. The c_cc field is an array so an index must be specified. $c_cc[1] = $termios->getcc(1); - $obj->getcflag()
-
Retrieve the
c_cflag
field of a termios object. $c_cflag = $termios->getcflag; - $obj->getiflag()
-
Retrieve the
c_iflag
field of a termios object. $c_iflag = $termios->getiflag; - $obj->getispeed()
-
Retrieve the input baud rate. $ispeed = $termios->getispeed;
- $obj->getlflag()
-
Retrieve the
c_lflag
field of a termios object. $c_lflag = $termios->getlflag; - $obj->getoflag()
-
Retrieve the
c_oflag
field of a termios object. $c_oflag = $termios->getoflag; - $obj->getospeed()
-
Retrieve the output baud rate. $ospeed = $termios->getospeed;
- $obj->setattr(FD, FLAGS)
-
Set terminal control attributes (POSIX function
tcsetattr
). Returnsundef
on failure.# Set attributes immediately for stdout. $termios->setattr(1, TCSANOW);
- $obj->setcc(VALUE, INDEX)
-
Set a value in the
c_cc
field of a termios object. The c_cc field is an array so an index must be specified. $termios->setcc(VEOF, 1 ); - $obj->setcflag(FLAGS)
-
Set the
c_cflag
field of a termios object. $termios->setcflag( $c_cflag | CLOCAL ); - $obj->setiflag(FLAGS)
-
Set the
c_iflag
field of a termios object. $termios->setiflag( $c_iflag | BRKINT ); - $obj->setispeed()
-
Set the input baud rate. Returns
undef
on failure. $termios->setispeed( B9600 ); - $obj->setlflag(FLAGS)
-
Set the
c_lflag
field of a termios object. $termios->setlflag( $c_lflag | ECHO ); - $obj->setoflag(FLAGS)
-
Set the c_oflag field of a termios object. $termios->setoflag( $c_oflag | OPOST );
- $obj->setospeed()
-
Set the output baud rate. $termios->setospeed( B9600 );
FUNCTIONS
- tcdrain(FD)
- tcflow(FD, ACTION)
-
See the possible ACTION values in "CONSTANTS", import tag
:action
- tcflush(FD, QUEUE)
-
See the possible QUEUE values in "CONSTANTS", import tag
:flush
- tcsendbreak(FD, DURATION)
-
DURATION is system dependent.
- ttyname(FD)
-
Returns the path to the special device which relates to the file-descriptor. See also POSIX::1003::Proc::ctermid()
$tty = ttyname($fd); $tty = ttyname($fh->fileno);
CONSTANTS
- Available baudrates (ispeed and ospeed), export tag
:speed
. -
B0 B50 B75 B110 B134 B150 B200 B300 B600 B1200 B1800 B2400 B4800 B9600 B19200 B38400
- Interface values (getattr and setattr), export tag
:actions
. -
TCSADRAIN TCSANOW TCOON TCION TCSAFLUSH TCIOFF TCOOFF
- To be used as tcflush() parameter QUEUE
-
TCIOFLUSH TCOFLUSH TCIFLUSH
- c_cc field values, export tag
:flags
as have all following constants. -
VEOF VEOL VERASE VINTR VKILL VQUIT VSUSP VSTART VSTOP VMIN VTIME NCCS
- c_cflag field values
-
CLOCAL CREAD CSIZE CS5 CS6 CS7 CS8 CSTOPB HUPCL PARENB PARODD
- c_iflag field values
-
BRKINT ICRNL IGNBRK IGNCR IGNPAR INLCR INPCK ISTRIP IXOFF IXON PARMRK
- c_lflag field values
-
ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH TOSTOP
- c_oflag field values
-
OPOST
All constants, shown here with the values discovered during installation of this module:
B0 0 ICANON 2 TCIOFLUSH 2
B110 3 ICRNL 256 TCION 3
B1200 9 IEXTEN 32768 TCOFLUSH 1
B134 4 IGNBRK 1 TCOOFF 0
B150 5 IGNCR 128 TCOON 1
B1800 10 IGNPAR 4 TCSADRAIN 1
B19200 14 INLCR 64 TCSAFLUSH 2
B200 6 INPCK 16 TCSANOW 0
B2400 11 ISIG 1 TOSTOP 256
B300 7 ISTRIP 32 VEOF 4
B38400 15 IXOFF 4096 VEOL 11
B4800 12 IXON 1024 VERASE 2
B50 1 NCCS 32 VINTR 0
B600 8 NOFLSH 128 VKILL 3
B75 2 OPOST 1 VMIN 6
B9600 13 PARENB 256 VQUIT 1
BRKINT 2 PARMRK 8 VSTART 8
CLOCAL 2048 PARODD 512 VSTOP 9
ECHONL 64 TCIFLUSH 0 VSUSP 10
HUPCL 1024 TCIOFF 2 VTIME 5
SEE ALSO
This module is part of POSIX-1003 distribution version 0.96, built on November 28, 2013. Website: http://perl.overmeer.net. The code is based on POSIX, which is released with Perl itself. See also POSIX::Util for additional functionality.
COPYRIGHTS
Copyrights 2011-2013 on the perl code and the related documentation by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html