home *** CD-ROM | disk | FTP | other *** search
Text File | 2000-03-15 | 36.9 KB | 1,740 lines |
- =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<perlfunc> 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<abort()>.
-
- =item abs
-
- This is identical to Perl's builtin C<abs()> function.
-
- =item access
-
- Determines the accessibility of a file.
-
- if( POSIX::access( "/", &POSIX::R_OK ) ){
- print "have read permission\n";
- }
-
- Returns C<undef> on failure.
-
- =item acos
-
- This is identical to the C function C<acos()>.
-
- =item alarm
-
- This is identical to Perl's builtin C<alarm()> function.
-
- =item asctime
-
- This is identical to the C function C<asctime()>.
-
- =item asin
-
- This is identical to the C function C<asin()>.
-
- =item assert
-
- Unimplemented.
-
- =item atan
-
- This is identical to the C function C<atan()>.
-
- =item atan2
-
- This is identical to Perl's builtin C<atan2()> 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<ceil()>.
-
- =item chdir
-
- This is identical to Perl's builtin C<chdir()> function.
-
- =item chmod
-
- This is identical to Perl's builtin C<chmod()> function.
-
- =item chown
-
- This is identical to Perl's builtin C<chown()> function.
-
- =item clearerr
-
- Use method C<IO::Handle::clearerr()> instead.
-
- =item clock
-
- This is identical to the C function C<clock()>.
-
- =item close
-
- Close the file. This uses file descriptors such as those obtained by calling
- C<POSIX::open>.
-
- $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
- POSIX::close( $fd );
-
- Returns C<undef> on failure.
-
- =item closedir
-
- This is identical to Perl's builtin C<closedir()> function.
-
- =item cos
-
- This is identical to Perl's builtin C<cos()> function.
-
- =item cosh
-
- This is identical to the C function C<cosh()>.
-
- =item creat
-
- Create a new file. This returns a file descriptor like the ones returned by
- C<POSIX::open>. Use C<POSIX::close> 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<ctime()>.
-
- =item cuserid
-
- Get the character login name of the user.
-
- $name = POSIX::cuserid();
-
- =item difftime
-
- This is identical to the C function C<difftime()>.
-
- =item div
-
- div() is C-specific.
-
- =item dup
-
- This is similar to the C function C<dup()>.
-
- This uses file descriptors such as those obtained by calling
- C<POSIX::open>.
-
- Returns C<undef> on failure.
-
- =item dup2
-
- This is similar to the C function C<dup2()>.
-
- This uses file descriptors such as those obtained by calling
- C<POSIX::open>.
-
- Returns C<undef> 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<exit()> function.
-
- =item exp
-
- This is identical to Perl's builtin C<exp()> function.
-
- =item fabs
-
- This is identical to Perl's builtin C<abs()> function.
-
- =item fclose
-
- Use method C<IO::Handle::close()> instead.
-
- =item fcntl
-
- This is identical to Perl's builtin C<fcntl()> function.
-
- =item fdopen
-
- Use method C<IO::Handle::new_from_fd()> instead.
-
- =item feof
-
- Use method C<IO::Handle::eof()> instead.
-
- =item ferror
-
- Use method C<IO::Handle::error()> instead.
-
- =item fflush
-
- Use method C<IO::Handle::flush()> instead.
-
- =item fgetc
-
- Use method C<IO::Handle::getc()> instead.
-
- =item fgetpos
-
- Use method C<IO::Seekable::getpos()> instead.
-
- =item fgets
-
- Use method C<IO::Handle::gets()> instead.
-
- =item fileno
-
- Use method C<IO::Handle::fileno()> instead.
-
- =item floor
-
- This is identical to the C function C<floor()>.
-
- =item fmod
-
- This is identical to the C function C<fmod()>.
-
- =item fopen
-
- Use method C<IO::File::open()> instead.
-
- =item fork
-
- This is identical to Perl's builtin C<fork()> 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<POSIX::open>.
-
- The following will determine the maximum length of the longest allowable
- pathname on the filesystem which holds C</tmp/foo>.
-
- $fd = POSIX::open( "/tmp/foo", &POSIX::O_RDONLY );
- $path_max = POSIX::fpathconf( $fd, &POSIX::_PC_PATH_MAX );
-
- Returns C<undef> 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<IO::Seekable::seek()> instead.
-
- =item fsetpos
-
- Use method C<IO::Seekable::setpos()> instead.
-
- =item fstat
-
- Get file status. This uses file descriptors such as those obtained by
- calling C<POSIX::open>. The data returned is identical to the data from
- Perl's builtin C<stat> function.
-
- $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
- @stats = POSIX::fstat( $fd );
-
- =item ftell
-
- Use method C<IO::Seekable::tell()> instead.
-
- =item fwrite
-
- fwrite() is C-specific--use print instead.
-
- =item getc
-
- This is identical to Perl's builtin C<getc()> 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<getgrgid()> function.
-
- =item getgrnam
-
- This is identical to Perl's builtin C<getgrnam()> function.
-
- =item getgroups
-
- Returns the ids of the user's supplementary groups.
-
- =item getlogin
-
- This is identical to Perl's builtin C<getlogin()> function.
-
- =item getpgrp
-
- This is identical to Perl's builtin C<getpgrp()> function.
-
- =item getpid
-
- Returns the process's id.
-
- =item getppid
-
- This is identical to Perl's builtin C<getppid()> function.
-
- =item getpwnam
-
- This is identical to Perl's builtin C<getpwnam()> function.
-
- =item getpwuid
-
- This is identical to Perl's builtin C<getpwuid()> 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<gmtime()> 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<kill()> function.
-
- =item labs
-
- labs() is C-specific, use abs instead.
-
- =item ldexp
-
- This is identical to the C function C<ldexp()>.
-
- =item ldiv
-
- ldiv() is C-specific, use / and int instead.
-
- =item link
-
- This is identical to Perl's builtin C<link()> function.
-
- =item localeconv
-
- Get numeric formatting information. Returns a reference to a hash
- containing the current locale formatting values.
-
- The database for the B<de> (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<localtime()> function.
-
- =item log
-
- This is identical to Perl's builtin C<log()> function.
-
- =item log10
-
- This is identical to the C function C<log10()>.
-
- =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<POSIX::open>.
-
- $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
- $off_t = POSIX::lseek( $fd, 0, &POSIX::SEEK_SET );
-
- Returns C<undef> on failure.
-
- =item malloc
-
- malloc() is C-specific.
-
- =item mblen
-
- This is identical to the C function C<mblen()>.
-
- =item mbstowcs
-
- This is identical to the C function C<mbstowcs()>.
-
- =item mbtowc
-
- This is identical to the C function C<mbtowc()>.
-
- =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<mkdir()> function.
-
- =item mkfifo
-
- This is similar to the C function C<mkfifo()>.
-
- Returns C<undef> 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<mon>), weekday (C<wday>), and yearday (C<yday>) begin at zero.
- I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The
- year (C<year>) is given in years since 1900. I.e. The year 1995 is 95; the
- year 2001 is 101. Consult your system's C<mktime()> 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<undef> 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<nice()>.
-
- Returns C<undef> 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<POSIX::close> 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<undef> on failure.
-
- =item opendir
-
- Open a directory for reading.
-
- $dir = POSIX::opendir( "/tmp" );
- @files = POSIX::readdir( $dir );
- POSIX::closedir( $dir );
-
- Returns C<undef> 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</tmp>.
-
- $path_max = POSIX::pathconf( "/tmp", &POSIX::_PC_PATH_MAX );
-
- Returns C<undef> on failure.
-
- =item pause
-
- This is similar to the C function C<pause()>.
-
- Returns C<undef> on failure.
-
- =item perror
-
- This is identical to the C function C<perror()>.
-
- =item pipe
-
- Create an interprocess channel. This returns file descriptors like those
- returned by C<POSIX::open>.
-
- ($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<POSIX::open>. 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<undef> on failure.
-
- =item readdir
-
- This is identical to Perl's builtin C<readdir()> function.
-
- =item realloc
-
- realloc() is C-specific.
-
- =item remove
-
- This is identical to Perl's builtin C<unlink()> function.
-
- =item rename
-
- This is identical to Perl's builtin C<rename()> function.
-
- =item rewind
-
- Seeks to the beginning of the file.
-
- =item rewinddir
-
- This is identical to Perl's builtin C<rewinddir()> function.
-
- =item rmdir
-
- This is identical to Perl's builtin C<rmdir()> 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 examples assume
-
- use POSIX qw(setlocale LC_ALL LC_CTYPE);
-
- has been issued.
-
- The following will set the traditional UNIX system locale behavior
- (the second argument C<"C">).
-
- $loc = setlocale( LC_ALL, "C" );
-
- The following will query the current LC_CTYPE category. (No second
- argument means 'query'.)
-
- $loc = setlocale( 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<setlocale(3)> documentation for the locale
- environment variables' meaning or consult L<perllocale>.
-
- $loc = setlocale( LC_CTYPE, "" );
-
- The following will set the LC_COLLATE behaviour to Argentinian
- Spanish. B<NOTE>: The naming and availability of locales depends on
- your operating system. Please consult L<perllocale> for how to find
- out which locales are available in your system.
-
- $loc = setlocale( LC_ALL, "es_AR.ISO8859-1" );
-
- =item setpgid
-
- This is similar to the C function C<setpgid()>.
-
- Returns C<undef> on failure.
-
- =item setsid
-
- This is identical to the C function C<setsid()>.
-
- =item setuid
-
- Sets the real user id for this process.
-
- =item sigaction
-
- Detailed signal management. This uses C<POSIX::SigAction> objects for the
- C<action> and C<oldaction> arguments. Consult your system's C<sigaction>
- manpage for details.
-
- Synopsis:
-
- sigaction(sig, action, oldaction = 0)
-
- Returns C<undef> on failure.
-
- =item siglongjmp
-
- siglongjmp() is C-specific: use die instead.
-
- =item sigpending
-
- Examine signals that are blocked and pending. This uses C<POSIX::SigSet>
- objects for the C<sigset> argument. Consult your system's C<sigpending>
- manpage for details.
-
- Synopsis:
-
- sigpending(sigset)
-
- Returns C<undef> on failure.
-
- =item sigprocmask
-
- Change and/or examine calling process's signal mask. This uses
- C<POSIX::SigSet> objects for the C<sigset> and C<oldsigset> arguments.
- Consult your system's C<sigprocmask> manpage for details.
-
- Synopsis:
-
- sigprocmask(how, sigset, oldsigset = 0)
-
- Returns C<undef> 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<POSIX::SigSet> objects for the C<signal_mask> argument. Consult your
- system's C<sigsuspend> manpage for details.
-
- Synopsis:
-
- sigsuspend(signal_mask)
-
- Returns C<undef> on failure.
-
- =item sin
-
- This is identical to Perl's builtin C<sin()> function.
-
- =item sinh
-
- This is identical to the C function C<sinh()>.
-
- =item sleep
-
- This is identical to Perl's builtin C<sleep()> function.
-
- =item sprintf
-
- This is identical to Perl's builtin C<sprintf()> function.
-
- =item sqrt
-
- This is identical to Perl's builtin C<sqrt()> function.
-
- =item srand
-
- srand().
-
- =item sscanf
-
- sscanf() is C-specific--use regular expressions instead.
-
- =item stat
-
- This is identical to Perl's builtin C<stat()> 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<strcoll()>.
-
- =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 = -1, yday = -1, isdst = -1)
-
- The month (C<mon>), weekday (C<wday>), and yearday (C<yday>) begin at zero.
- I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The
- year (C<year>) is given in years since 1900. I.e., the year 1995 is 95; the
- year 2001 is 101. Consult your system's C<strftime()> manpage for details
- about these and the other arguments.
- If you want your code to be portable, your format (C<fmt>) argument
- should use only the conversion specifiers defined by the ANSI C
- standard. These are C<aAbBcdHIjmMpSUwWxXyYZ%>.
- The given arguments are made consistent
- as though by calling C<mktime()> before calling your system's
- C<strftime()> function, except that the C<isdst> value is not affected.
-
- 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<index()> 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<setlocale()> 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<setlocale()> 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<strtol> 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<undef> on failure.
-
- =item system
-
- This is identical to Perl's builtin C<system()> function.
-
- =item tan
-
- This is identical to the C function C<tan()>.
-
- =item tanh
-
- This is identical to the C function C<tanh()>.
-
- =item tcdrain
-
- This is similar to the C function C<tcdrain()>.
-
- Returns C<undef> on failure.
-
- =item tcflow
-
- This is similar to the C function C<tcflow()>.
-
- Returns C<undef> on failure.
-
- =item tcflush
-
- This is similar to the C function C<tcflush()>.
-
- Returns C<undef> on failure.
-
- =item tcgetpgrp
-
- This is identical to the C function C<tcgetpgrp()>.
-
- =item tcsendbreak
-
- This is similar to the C function C<tcsendbreak()>.
-
- Returns C<undef> on failure.
-
- =item tcsetpgrp
-
- This is similar to the C function C<tcsetpgrp()>.
-
- Returns C<undef> on failure.
-
- =item time
-
- This is identical to Perl's builtin C<time()> 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<times()> function returns four values, measured in
- seconds.
-
- =item tmpfile
-
- Use method C<IO::File::new_tmpfile()> instead.
-
- =item tmpnam
-
- Returns a name for a temporary file.
-
- $tmpfile = POSIX::tmpnam();
-
- =item tolower
-
- This is identical to Perl's builtin C<lc()> function.
-
- =item toupper
-
- This is identical to Perl's builtin C<uc()> function.
-
- =item ttyname
-
- This is identical to the C function C<ttyname()>.
-
- =item tzname
-
- Retrieves the time conversion information from the C<tzname> variable.
-
- POSIX::tzset();
- ($std, $dst) = POSIX::tzname();
-
- =item tzset
-
- This is identical to the C function C<tzset()>.
-
- =item umask
-
- This is identical to Perl's builtin C<umask()> function.
-
- =item uname
-
- Get name of current operating system.
-
- ($sysname, $nodename, $release, $version, $machine ) = POSIX::uname();
-
- =item ungetc
-
- Use method C<IO::Handle::ungetc()> instead.
-
- =item unlink
-
- This is identical to Perl's builtin C<unlink()> function.
-
- =item utime
-
- This is identical to Perl's builtin C<utime()> 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<wait()> function.
-
- =item waitpid
-
- Wait for a child process to change state. This is identical to Perl's
- builtin C<waitpid()> function.
-
- $pid = POSIX::waitpid( -1, &POSIX::WNOHANG );
- print "status = ", ($? / 256), "\n";
-
- =item wcstombs
-
- This is identical to the C function C<wcstombs()>.
-
- =item wctomb
-
- This is identical to the C function C<wctomb()>.
-
- =item write
-
- Write to a file. This uses file descriptors such as those obtained by
- calling C<POSIX::open>.
-
- $fd = POSIX::open( "foo", &POSIX::O_WRONLY );
- $buf = "hello";
- $bytes = POSIX::write( $b, $buf, 5 );
-
- Returns C<undef> on failure.
-
- =back
-
- =head1 CLASSES
-
- =head2 POSIX::SigAction
-
- =over 8
-
- =item new
-
- Creates a new C<POSIX::SigAction> object which corresponds to the C
- C<struct sigaction>. 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<POSIX::SigSet>
- object, it defaults to the empty set. The third parameter contains the
- C<sa_flags>, it defaults to 0.
-
- $sigset = POSIX::SigSet->new(SIGINT, SIGQUIT);
- $sigaction = POSIX::SigAction->new( 'main::handler', $sigset, &POSIX::SA_NOCLDSTOP );
-
- This C<POSIX::SigAction> object should be used with the C<POSIX::sigaction()>
- 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<undef> on failure.
-
- =item delset
-
- Remove a signal from the SigSet object.
-
- $sigset->delset( &POSIX::SIGUSR2 );
-
- Returns C<undef> on failure.
-
- =item emptyset
-
- Initialize the SigSet object to be empty.
-
- $sigset->emptyset();
-
- Returns C<undef> on failure.
-
- =item fillset
-
- Initialize the SigSet object to include all signals.
-
- $sigset->fillset();
-
- Returns C<undef> 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<undef> 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<undef> 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<undef> 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<undef> 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.
-
-