=head1 NAME POSIX - Perl interface to IEEE Std 1003.1 =head1 SYNOPSIS use POSIX; use POSIX qw(setsid); use POSIX qw(:errno_h :fcntl_h); printf "EINTR is %d\n", EINTR; $sess_id = POSIX::setsid(); $fd = POSIX::open($path, O_CREAT|O_EXCL|O_WRONLY, 0644); # note: that's a filedescriptor, *NOT* a filehandle =head1 DESCRIPTION The POSIX module permits you to access all (or nearly all) the standard POSIX 1003.1 identifiers. Many of these identifiers have been given Perl-ish interfaces. Things which are C<#defines> in C, like EINTR or O_NDELAY, are automatically exported into your namespace. All functions are only exported if you ask for them explicitly. Most likely people will prefer to use the fully-qualified function names. This document gives a condensed list of the features available in the POSIX module. Consult your operating system's manpages for general information on most features. Consult L for functions which are noted as being identical to Perl's builtin functions. The first section describes POSIX functions from the 1003.1 specification. The second section describes some classes for signal objects, TTY objects, and other miscellaneous objects. The remaining sections list various constants and macros in an organization which roughly follows IEEE Std 1003.1b-1993. =head1 NOTE The POSIX module is probably the most complex Perl module supplied with the standard distribution. It incorporates autoloading, namespace games, and dynamic loading of code that's in Perl, C, or both. It's a great source of wisdom. =head1 CAVEATS A few functions are not implemented because they are C specific. If you attempt to call these, they will print a message telling you that they aren't implemented, and suggest using the Perl equivalent should one exist. For example, trying to access the setjmp() call will elicit the message "setjmp() is C-specific: use eval {} instead". Furthermore, some evil vendors will claim 1003.1 compliance, but in fact are not so: they will not pass the PCTS (POSIX Compliance Test Suites). For example, one vendor may not define EDEADLK, or the semantics of the errno values set by open(2) might not be quite right. Perl does not attempt to verify POSIX compliance. That means you can currently successfully say "use POSIX", and then later in your program you find that your vendor has been lax and there's no usable ICANON macro after all. This could be construed to be a bug. =head1 FUNCTIONS =over 8 =item _exit This is identical to the C function C<_exit()>. =item abort This is identical to the C function C. =item abs This is identical to Perl's builtin C function. =item access Determines the accessibility of a file. if( POSIX::access( "/", &POSIX::R_OK ) ){ print "have read permission\n"; } Returns C on failure. =item acos This is identical to the C function C. =item alarm This is identical to Perl's builtin C function. =item asctime This is identical to the C function C. =item asin This is identical to the C function C. =item assert Unimplemented. =item atan This is identical to the C function C. =item atan2 This is identical to Perl's builtin C function. =item atexit atexit() is C-specific: use END {} instead. =item atof atof() is C-specific. =item atoi atoi() is C-specific. =item atol atol() is C-specific. =item bsearch bsearch() not supplied. =item calloc calloc() is C-specific. =item ceil This is identical to the C function C. =item chdir This is identical to Perl's builtin C function. =item chmod This is identical to Perl's builtin C function. =item chown This is identical to Perl's builtin C function. =item clearerr Use method C instead. =item clock This is identical to the C function C. =item close Close the file. This uses file descriptors such as those obtained by calling C. $fd = POSIX::open( "foo", &POSIX::O_RDONLY ); POSIX::close( $fd ); Returns C on failure. =item closedir This is identical to Perl's builtin C function. =item cos This is identical to Perl's builtin C function. =item cosh This is identical to the C function C. =item creat Create a new file. This returns a file descriptor like the ones returned by C. Use C to close the file. $fd = POSIX::creat( "foo", 0611 ); POSIX::close( $fd ); =item ctermid Generates the path name for the controlling terminal. $path = POSIX::ctermid(); =item ctime This is identical to the C function C. =item cuserid Get the character login name of the user. $name = POSIX::cuserid(); =item difftime This is identical to the C function C. =item div div() is C-specific. =item dup This is similar to the C function C. This uses file descriptors such as those obtained by calling C. Returns C on failure. =item dup2 This is similar to the C function C. This uses file descriptors such as those obtained by calling C. Returns C on failure. =item errno Returns the value of errno. $errno = POSIX::errno(); =item execl execl() is C-specific. =item execle execle() is C-specific. =item execlp execlp() is C-specific. =item execv execv() is C-specific. =item execve execve() is C-specific. =item execvp execvp() is C-specific. =item exit This is identical to Perl's builtin C function. =item exp This is identical to Perl's builtin C function. =item fabs This is identical to Perl's builtin C function. =item fclose Use method C instead. =item fcntl This is identical to Perl's builtin C function. =item fdopen Use method C instead. =item feof Use method C instead. =item ferror Use method C instead. =item fflush Use method C instead. =item fgetc Use method C instead. =item fgetpos Use method C instead. =item fgets Use method C instead. =item fileno Use method C instead. =item floor This is identical to the C function C. =item fmod This is identical to the C function C. =item fopen Use method C instead. =item fork This is identical to Perl's builtin C function. =item fpathconf Retrieves the value of a configurable limit on a file or directory. This uses file descriptors such as those obtained by calling C. The following will determine the maximum length of the longest allowable pathname on the filesystem which holds C. $fd = POSIX::open( "/tmp/foo", &POSIX::O_RDONLY ); $path_max = POSIX::fpathconf( $fd, &POSIX::_PC_PATH_MAX ); Returns C on failure. =item fprintf fprintf() is C-specific--use printf instead. =item fputc fputc() is C-specific--use print instead. =item fputs fputs() is C-specific--use print instead. =item fread fread() is C-specific--use read instead. =item free free() is C-specific. =item freopen freopen() is C-specific--use open instead. =item frexp Return the mantissa and exponent of a floating-point number. ($mantissa, $exponent) = POSIX::frexp( 3.14 ); =item fscanf fscanf() is C-specific--use <> and regular expressions instead. =item fseek Use method C instead. =item fsetpos Use method C instead. =item fstat Get file status. This uses file descriptors such as those obtained by calling C. The data returned is identical to the data from Perl's builtin C function. $fd = POSIX::open( "foo", &POSIX::O_RDONLY ); @stats = POSIX::fstat( $fd ); =item ftell Use method C instead. =item fwrite fwrite() is C-specific--use print instead. =item getc This is identical to Perl's builtin C function. =item getchar Returns one character from STDIN. =item getcwd Returns the name of the current working directory. =item getegid Returns the effective group id. =item getenv Returns the value of the specified enironment variable. =item geteuid Returns the effective user id. =item getgid Returns the user's real group id. =item getgrgid This is identical to Perl's builtin C function. =item getgrnam This is identical to Perl's builtin C function. =item getgroups Returns the ids of the user's supplementary groups. =item getlogin This is identical to Perl's builtin C function. =item getpgrp This is identical to Perl's builtin C function. =item getpid Returns the process's id. =item getppid This is identical to Perl's builtin C function. =item getpwnam This is identical to Perl's builtin C function. =item getpwuid This is identical to Perl's builtin C function. =item gets Returns one line from STDIN. =item getuid Returns the user's id. =item gmtime This is identical to Perl's builtin C function. =item isalnum This is identical to the C function, except that it can apply to a single character or to a whole string. =item isalpha This is identical to the C function, except that it can apply to a single character or to a whole string. =item isatty Returns a boolean indicating whether the specified filehandle is connected to a tty. =item iscntrl This is identical to the C function, except that it can apply to a single character or to a whole string. =item isdigit This is identical to the C function, except that it can apply to a single character or to a whole string. =item isgraph This is identical to the C function, except that it can apply to a single character or to a whole string. =item islower This is identical to the C function, except that it can apply to a single character or to a whole string. =item isprint This is identical to the C function, except that it can apply to a single character or to a whole string. =item ispunct This is identical to the C function, except that it can apply to a single character or to a whole string. =item isspace This is identical to the C function, except that it can apply to a single character or to a whole string. =item isupper This is identical to the C function, except that it can apply to a single character or to a whole string. =item isxdigit This is identical to the C function, except that it can apply to a single character or to a whole string. =item kill This is identical to Perl's builtin C function. =item labs labs() is C-specific, use abs instead. =item ldexp This is identical to the C function C. =item ldiv ldiv() is C-specific, use / and int instead. =item link This is identical to Perl's builtin C function. =item localeconv Get numeric formatting information. Returns a reference to a hash containing the current locale formatting values. The database for the B (Deutsch or German) locale. $loc = POSIX::setlocale( &POSIX::LC_ALL, "de" ); print "Locale = $loc\n"; $lconv = POSIX::localeconv(); print "decimal_point = ", $lconv->{decimal_point}, "\n"; print "thousands_sep = ", $lconv->{thousands_sep}, "\n"; print "grouping = ", $lconv->{grouping}, "\n"; print "int_curr_symbol = ", $lconv->{int_curr_symbol}, "\n"; print "currency_symbol = ", $lconv->{currency_symbol}, "\n"; print "mon_decimal_point = ", $lconv->{mon_decimal_point}, "\n"; print "mon_thousands_sep = ", $lconv->{mon_thousands_sep}, "\n"; print "mon_grouping = ", $lconv->{mon_grouping}, "\n"; print "positive_sign = ", $lconv->{positive_sign}, "\n"; print "negative_sign = ", $lconv->{negative_sign}, "\n"; print "int_frac_digits = ", $lconv->{int_frac_digits}, "\n"; print "frac_digits = ", $lconv->{frac_digits}, "\n"; print "p_cs_precedes = ", $lconv->{p_cs_precedes}, "\n"; print "p_sep_by_space = ", $lconv->{p_sep_by_space}, "\n"; print "n_cs_precedes = ", $lconv->{n_cs_precedes}, "\n"; print "n_sep_by_space = ", $lconv->{n_sep_by_space}, "\n"; print "p_sign_posn = ", $lconv->{p_sign_posn}, "\n"; print "n_sign_posn = ", $lconv->{n_sign_posn}, "\n"; =item localtime This is identical to Perl's builtin C function. =item log This is identical to Perl's builtin C function. =item log10 This is identical to the C function C. =item longjmp longjmp() is C-specific: use die instead. =item lseek Move the file's read/write position. This uses file descriptors such as those obtained by calling C. $fd = POSIX::open( "foo", &POSIX::O_RDONLY ); $off_t = POSIX::lseek( $fd, 0, &POSIX::SEEK_SET ); Returns C on failure. =item malloc malloc() is C-specific. =item mblen This is identical to the C function C. =item mbstowcs This is identical to the C function C. =item mbtowc This is identical to the C function C. =item memchr memchr() is C-specific, use index() instead. =item memcmp memcmp() is C-specific, use eq instead. =item memcpy memcpy() is C-specific, use = instead. =item memmove memmove() is C-specific, use = instead. =item memset memset() is C-specific, use x instead. =item mkdir This is identical to Perl's builtin C function. =item mkfifo This is similar to the C function C. Returns C on failure. =item mktime Convert date/time info to a calendar time. Synopsis: mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0) The month (C), weekday (C), and yearday (C) begin at zero. I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The year (C) is given in years since 1900. I.e. The year 1995 is 95; the year 2001 is 101. Consult your system's C manpage for details about these and the other arguments. Calendar time for December 12, 1995, at 10:30 am. $time_t = POSIX::mktime( 0, 30, 10, 12, 11, 95 ); print "Date = ", POSIX::ctime($time_t); Returns C on failure. =item modf Return the integral and fractional parts of a floating-point number. ($fractional, $integral) = POSIX::modf( 3.14 ); =item nice This is similar to the C function C. Returns C on failure. =item offsetof offsetof() is C-specific. =item open Open a file for reading for writing. This returns file descriptors, not Perl filehandles. Use C to close the file. Open a file read-only with mode 0666. $fd = POSIX::open( "foo" ); Open a file for read and write. $fd = POSIX::open( "foo", &POSIX::O_RDWR ); Open a file for write, with truncation. $fd = POSIX::open( "foo", &POSIX::O_WRONLY | &POSIX::O_TRUNC ); Create a new file with mode 0640. Set up the file for writing. $fd = POSIX::open( "foo", &POSIX::O_CREAT | &POSIX::O_WRONLY, 0640 ); Returns C on failure. =item opendir Open a directory for reading. $dir = POSIX::opendir( "/tmp" ); @files = POSIX::readdir( $dir ); POSIX::closedir( $dir ); Returns C on failure. =item pathconf Retrieves the value of a configurable limit on a file or directory. The following will determine the maximum length of the longest allowable pathname on the filesystem which holds C. $path_max = POSIX::pathconf( "/tmp", &POSIX::_PC_PATH_MAX ); Returns C on failure. =item pause This is similar to the C function C. Returns C on failure. =item perror This is identical to the C function C. =item pipe Create an interprocess channel. This returns file descriptors like those returned by C. ($fd0, $fd1) = POSIX::pipe(); POSIX::write( $fd0, "hello", 5 ); POSIX::read( $fd1, $buf, 5 ); =item pow Computes $x raised to the power $exponent. $ret = POSIX::pow( $x, $exponent ); =item printf Prints the specified arguments to STDOUT. =item putc putc() is C-specific--use print instead. =item putchar putchar() is C-specific--use print instead. =item puts puts() is C-specific--use print instead. =item qsort qsort() is C-specific, use sort instead. =item raise Sends the specified signal to the current process. =item rand rand() is non-portable, use Perl's rand instead. =item read Read from a file. This uses file descriptors such as those obtained by calling C. If the buffer C<$buf> is not large enough for the read then Perl will extend it to make room for the request. $fd = POSIX::open( "foo", &POSIX::O_RDONLY ); $bytes = POSIX::read( $fd, $buf, 3 ); Returns C on failure. =item readdir This is identical to Perl's builtin C function. =item realloc realloc() is C-specific. =item remove This is identical to Perl's builtin C function. =item rename This is identical to Perl's builtin C function. =item rewind Seeks to the beginning of the file. =item rewinddir This is identical to Perl's builtin C function. =item rmdir This is identical to Perl's builtin C function. =item scanf scanf() is C-specific--use <> and regular expressions instead. =item setgid Sets the real group id for this process. =item setjmp setjmp() is C-specific: use eval {} instead. =item setlocale Modifies and queries program's locale. The following will set the traditional UNIX system locale behavior (the second argument C<"C">). $loc = POSIX::setlocale( &POSIX::LC_ALL, "C" ); The following will query (the missing second argument) the current LC_CTYPE category. $loc = POSIX::setlocale( &POSIX::LC_CTYPE); The following will set the LC_CTYPE behaviour according to the locale environment variables (the second argument C<"">). Please see your systems L documentation for the locale environment variables' meaning or consult L. $loc = POSIX::setlocale( &POSIX::LC_CTYPE, ""); The following will set the LC_COLLATE behaviour to Argentinian Spanish. B: The naming and availability of locales depends on your operating system. Please consult L for how to find out which locales are available in your system. $loc = POSIX::setlocale( &POSIX::LC_ALL, "es_AR.ISO8859-1" ); =item setpgid This is similar to the C function C. Returns C on failure. =item setsid This is identical to the C function C. =item setuid Sets the real user id for this process. =item sigaction Detailed signal management. This uses C objects for the C and C arguments. Consult your system's C manpage for details. Synopsis: sigaction(sig, action, oldaction = 0) Returns C on failure. =item siglongjmp siglongjmp() is C-specific: use die instead. =item sigpending Examine signals that are blocked and pending. This uses C objects for the C argument. Consult your system's C manpage for details. Synopsis: sigpending(sigset) Returns C on failure. =item sigprocmask Change and/or examine calling process's signal mask. This uses C objects for the C and C arguments. Consult your system's C manpage for details. Synopsis: sigprocmask(how, sigset, oldsigset = 0) Returns C on failure. =item sigsetjmp sigsetjmp() is C-specific: use eval {} instead. =item sigsuspend Install a signal mask and suspend process until signal arrives. This uses C objects for the C argument. Consult your system's C manpage for details. Synopsis: sigsuspend(signal_mask) Returns C on failure. =item sin This is identical to Perl's builtin C function. =item sinh This is identical to the C function C. =item sleep This is identical to Perl's builtin C function. =item sprintf This is identical to Perl's builtin C function. =item sqrt This is identical to Perl's builtin C function. =item srand srand(). =item sscanf sscanf() is C-specific--use regular expressions instead. =item stat This is identical to Perl's builtin C function. =item strcat strcat() is C-specific, use .= instead. =item strchr strchr() is C-specific, use index() instead. =item strcmp strcmp() is C-specific, use eq instead. =item strcoll This is identical to the C function C. =item strcpy strcpy() is C-specific, use = instead. =item strcspn strcspn() is C-specific, use regular expressions instead. =item strerror Returns the error string for the specified errno. =item strftime Convert date and time information to string. Returns the string. Synopsis: strftime(fmt, sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0) The month (C), weekday (C), and yearday (C) begin at zero. I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The year (C) is given in years since 1900. I.e. The year 1995 is 95; the year 2001 is 101. Consult your system's C manpage for details about these and the other arguments. The string for Tuesday, December 12, 1995. $str = POSIX::strftime( "%A, %B %d, %Y", 0, 0, 0, 12, 11, 95, 2 ); print "$str\n"; =item strlen strlen() is C-specific, use length instead. =item strncat strncat() is C-specific, use .= instead. =item strncmp strncmp() is C-specific, use eq instead. =item strncpy strncpy() is C-specific, use = instead. =item stroul stroul() is C-specific. =item strpbrk strpbrk() is C-specific. =item strrchr strrchr() is C-specific, use rindex() instead. =item strspn strspn() is C-specific. =item strstr This is identical to Perl's builtin C function. =item strtod String to double translation. Returns the parsed number and the number of characters in the unparsed portion of the string. Truly POSIX-compliant systems set $! ($ERRNO) to indicate a translation error, so clear $! before calling strtod. However, non-POSIX systems may not check for overflow, and therefore will never set $!. strtod should respect any POSIX I settings. To parse a string $str as a floating point number use $! = 0; ($num, $n_unparsed) = POSIX::strtod($str); The second returned item and $! can be used to check for valid input: if (($str eq '') || ($n_unparsed != 0) || !$!) { die "Non-numeric input $str" . $! ? ": $!\n" : "\n"; } When called in a scalar context strtod returns the parsed number. =item strtok strtok() is C-specific. =item strtol String to (long) integer translation. Returns the parsed number and the number of characters in the unparsed portion of the string. Truly POSIX-compliant systems set $! ($ERRNO) to indicate a translation error, so clear $! before calling strtol. However, non-POSIX systems may not check for overflow, and therefore will never set $!. strtol should respect any POSIX I settings. To parse a string $str as a number in some base $base use $! = 0; ($num, $n_unparsed) = POSIX::strtol($str, $base); The base should be zero or between 2 and 36, inclusive. When the base is zero or omitted strtol will use the string itself to determine the base: a leading "0x" or "0X" means hexadecimal; a leading "0" means octal; any other leading characters mean decimal. Thus, "1234" is parsed as a decimal number, "01234" as an octal number, and "0x1234" as a hexadecimal number. The second returned item and $! can be used to check for valid input: if (($str eq '') || ($n_unparsed != 0) || !$!) { die "Non-numeric input $str" . $! ? ": $!\n" : "\n"; } When called in a scalar context strtol returns the parsed number. =item strtoul String to unsigned (long) integer translation. strtoul is identical to strtol except that strtoul only parses unsigned integers. See I for details. Note: Some vendors supply strtod and strtol but not strtoul. Other vendors that do suply strtoul parse "-1" as a valid value. =item strxfrm String transformation. Returns the transformed string. $dst = POSIX::strxfrm( $src ); =item sysconf Retrieves values of system configurable variables. The following will get the machine's clock speed. $clock_ticks = POSIX::sysconf( &POSIX::_SC_CLK_TCK ); Returns C on failure. =item system This is identical to Perl's builtin C function. =item tan This is identical to the C function C. =item tanh This is identical to the C function C. =item tcdrain This is similar to the C function C. Returns C on failure. =item tcflow This is similar to the C function C. Returns C on failure. =item tcflush This is similar to the C function C. Returns C on failure. =item tcgetpgrp This is identical to the C function C. =item tcsendbreak This is similar to the C function C. Returns C on failure. =item tcsetpgrp This is similar to the C function C. Returns C on failure. =item time This is identical to Perl's builtin C function. =item times The times() function returns elapsed realtime since some point in the past (such as system startup), user and system times for this process, and user and system times used by child processes. All times are returned in clock ticks. ($realtime, $user, $system, $cuser, $csystem) = POSIX::times(); Note: Perl's builtin C function returns four values, measured in seconds. =item tmpfile Use method C instead. =item tmpnam Returns a name for a temporary file. $tmpfile = POSIX::tmpnam(); =item tolower This is identical to Perl's builtin C function. =item toupper This is identical to Perl's builtin C function. =item ttyname This is identical to the C function C. =item tzname Retrieves the time conversion information from the C variable. POSIX::tzset(); ($std, $dst) = POSIX::tzname(); =item tzset This is identical to the C function C. =item umask This is identical to Perl's builtin C function. =item uname Get name of current operating system. ($sysname, $nodename, $release, $version, $machine ) = POSIX::uname(); =item ungetc Use method C instead. =item unlink This is identical to Perl's builtin C function. =item utime This is identical to Perl's builtin C function. =item vfprintf vfprintf() is C-specific. =item vprintf vprintf() is C-specific. =item vsprintf vsprintf() is C-specific. =item wait This is identical to Perl's builtin C function. =item waitpid Wait for a child process to change state. This is identical to Perl's builtin C function. $pid = POSIX::waitpid( -1, &POSIX::WNOHANG ); print "status = ", ($? / 256), "\n"; =item wcstombs This is identical to the C function C. =item wctomb This is identical to the C function C. =item write Write to a file. This uses file descriptors such as those obtained by calling C. $fd = POSIX::open( "foo", &POSIX::O_WRONLY ); $buf = "hello"; $bytes = POSIX::write( $b, $buf, 5 ); Returns C on failure. =back =head1 CLASSES =head2 POSIX::SigAction =over 8 =item new Creates a new C object which corresponds to the C C. This object will be destroyed automatically when it is no longer needed. The first parameter is the fully-qualified name of a sub which is a signal-handler. The second parameter is a C object, it defaults to the empty set. The third parameter contains the C, it defaults to 0. $sigset = POSIX::SigSet->new(SIGINT, SIGQUIT); $sigaction = POSIX::SigAction->new( 'main::handler', $sigset, &POSIX::SA_NOCLDSTOP ); This C object should be used with the C function. =back =head2 POSIX::SigSet =over 8 =item new Create a new SigSet object. This object will be destroyed automatically when it is no longer needed. Arguments may be supplied to initialize the set. Create an empty set. $sigset = POSIX::SigSet->new; Create a set with SIGUSR1. $sigset = POSIX::SigSet->new( &POSIX::SIGUSR1 ); =item addset Add a signal to a SigSet object. $sigset->addset( &POSIX::SIGUSR2 ); Returns C on failure. =item delset Remove a signal from the SigSet object. $sigset->delset( &POSIX::SIGUSR2 ); Returns C on failure. =item emptyset Initialize the SigSet object to be empty. $sigset->emptyset(); Returns C on failure. =item fillset Initialize the SigSet object to include all signals. $sigset->fillset(); Returns C on failure. =item ismember Tests the SigSet object to see if it contains a specific signal. if( $sigset->ismember( &POSIX::SIGUSR1 ) ){ print "contains SIGUSR1\n"; } =back =head2 POSIX::Termios =over 8 =item 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. new() mallocs a new one, getattr() fills it from a file descriptor, and setattr() sets a file descriptor's parameters to match Termios' contents. $termios = POSIX::Termios->new; =item getattr Get terminal control attributes. Obtain the attributes for stdin. $termios->getattr() Obtain the attributes for stdout. $termios->getattr( 1 ) Returns C on failure. =item getcc 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); =item getcflag Retrieve the c_cflag field of a termios object. $c_cflag = $termios->getcflag; =item getiflag Retrieve the c_iflag field of a termios object. $c_iflag = $termios->getiflag; =item getispeed Retrieve the input baud rate. $ispeed = $termios->getispeed; =item getlflag Retrieve the c_lflag field of a termios object. $c_lflag = $termios->getlflag; =item getoflag Retrieve the c_oflag field of a termios object. $c_oflag = $termios->getoflag; =item getospeed Retrieve the output baud rate. $ospeed = $termios->getospeed; =item setattr Set terminal control attributes. Set attributes immediately for stdout. $termios->setattr( 1, &POSIX::TCSANOW ); Returns C on failure. =item setcc 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( &POSIX::VEOF, 1 ); =item setcflag Set the c_cflag field of a termios object. $termios->setcflag( $c_cflag | &POSIX::CLOCAL ); =item setiflag Set the c_iflag field of a termios object. $termios->setiflag( $c_iflag | &POSIX::BRKINT ); =item setispeed Set the input baud rate. $termios->setispeed( &POSIX::B9600 ); Returns C on failure. =item setlflag Set the c_lflag field of a termios object. $termios->setlflag( $c_lflag | &POSIX::ECHO ); =item setoflag Set the c_oflag field of a termios object. $termios->setoflag( $c_oflag | &POSIX::OPOST ); =item setospeed Set the output baud rate. $termios->setospeed( &POSIX::B9600 ); Returns C on failure. =item Baud rate values B38400 B75 B200 B134 B300 B1800 B150 B0 B19200 B1200 B9600 B600 B4800 B50 B2400 B110 =item Terminal interface values TCSADRAIN TCSANOW TCOON TCIOFLUSH TCOFLUSH TCION TCIFLUSH TCSAFLUSH TCIOFF TCOOFF =item c_cc field values VEOF VEOL VERASE VINTR VKILL VQUIT VSUSP VSTART VSTOP VMIN VTIME NCCS =item c_cflag field values CLOCAL CREAD CSIZE CS5 CS6 CS7 CS8 CSTOPB HUPCL PARENB PARODD =item c_iflag field values BRKINT ICRNL IGNBRK IGNCR IGNPAR INLCR INPCK ISTRIP IXOFF IXON PARMRK =item c_lflag field values ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH TOSTOP =item c_oflag field values OPOST =back =head1 PATHNAME CONSTANTS =over 8 =item Constants _PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX _PC_PIPE_BUF _PC_VDISABLE =back =head1 POSIX CONSTANTS =over 8 =item Constants _POSIX_ARG_MAX _POSIX_CHILD_MAX _POSIX_CHOWN_RESTRICTED _POSIX_JOB_CONTROL _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_NO_TRUNC _POSIX_OPEN_MAX _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SAVED_IDS _POSIX_SSIZE_MAX _POSIX_STREAM_MAX _POSIX_TZNAME_MAX _POSIX_VDISABLE _POSIX_VERSION =back =head1 SYSTEM CONFIGURATION =over 8 =item Constants _SC_ARG_MAX _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_SAVED_IDS _SC_STREAM_MAX _SC_TZNAME_MAX _SC_VERSION =back =head1 ERRNO =over 8 =item Constants E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY EBADF EBUSY ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODEV ENOENT ENOEXEC ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV =back =head1 FCNTL =over 8 =item Constants FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_OK F_RDLCK F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC O_WRONLY =back =head1 FLOAT =over 8 =item Constants DBL_DIG DBL_EPSILON DBL_MANT_DIG DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP FLT_DIG FLT_EPSILON FLT_MANT_DIG FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP FLT_RADIX FLT_ROUNDS LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP =back =head1 LIMITS =over 8 =item Constants ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX =back =head1 LOCALE =over 8 =item Constants LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME =back =head1 MATH =over 8 =item Constants HUGE_VAL =back =head1 SIGNAL =over 8 =item Constants SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2 SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK SIG_UNBLOCK =back =head1 STAT =over 8 =item Constants S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR =item Macros S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG =back =head1 STDLIB =over 8 =item Constants EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX RAND_MAX =back =head1 STDIO =over 8 =item Constants BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid L_tmpname TMP_MAX =back =head1 TIME =over 8 =item Constants CLK_TCK CLOCKS_PER_SEC =back =head1 UNISTD =over 8 =item Constants R_OK SEEK_CUR SEEK_END SEEK_SET STDIN_FILENO STDOUT_FILENO STRERR_FILENO W_OK X_OK =back =head1 WAIT =over 8 =item Constants WNOHANG WUNTRACED =item Macros WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG WIFSTOPPED WSTOPSIG =back =head1 CREATION This document generated by ./mkposixman.PL version 19960129.