NAME
POSIX::1003::Termios - POSIX general terminal interface
INHERITANCE
POSIX::1003::Termios
is a POSIX::1003
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
Exporter
METHODS
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.13, built on July 26, 2012. 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 of the perl code and the related documentation by 2011-2012 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
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 262:
Deleting unknown formatting code M<>