lib:POSIX
See the current Perl documentation for lib:POSIX.
Here is our local, out-dated (pre-5.6) version:
POSIX - Perl interface to
IEEE Std 1003.1
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_
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
#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 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.
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.
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.
- _exit
-
This is identical to the
C function
_exit() .
- abort
-
This is identical to the
C function
abort() .
- abs
-
This is identical to Perl's builtin abs function.
- access
-
Determines the accessibility of a file.
if( POSIX::access( "/", &POSIX::R_OK ) ){
print "have read permission\n";
}
Returns undef on failure.
- acos
-
This is identical to the
C function
acos() .
- alarm
-
This is identical to Perl's builtin alarm function.
- asctime
-
This is identical to the
C function
asctime() .
- asin
-
This is identical to the
C function
asin() .
- assert
-
Unimplemented.
- atan
-
This is identical to the
C function
atan() .
- atan2
-
This is identical to Perl's builtin atan2 function.
- atexit
-
atexit() is C-specific: use
END {} instead.
- atof
-
atof() is C-specific.
- atoi
-
atoi() is C-specific.
- atol
-
atol() is C-specific.
- bsearch
-
bsearch() not supplied.
- calloc
-
calloc() is C-specific.
- ceil
-
This is identical to the
C function
ceil() .
- chdir
-
This is identical to Perl's builtin chdir function.
- chmod
-
This is identical to Perl's builtin chmod function.
- chown
-
This is identical to Perl's builtin chown function.
- clearerr
-
Use method
IO::Handle::clearerr() instead.
- clock
-
This is identical to the
C function
clock() .
- close
-
Close the file. This uses file descriptors such as those obtained by
calling
POSIX::open .
$fd = POSIX::open( "foo", &POSIX::O_RDONLY );
POSIX::close( $fd );
Returns undef on failure.
- closedir
-
This is identical to Perl's builtin closedir function.
- cos
-
This is identical to Perl's builtin cos function.
- cosh
-
This is identical to the
C function
cosh() .
- creat
-
Create a new file. This returns a file descriptor like the ones returned by
POSIX::open . Use POSIX::close to close the file.
$fd = POSIX::creat( "foo", 0611 );
POSIX::close( $fd );
- ctermid
-
Generates the path name for the controlling terminal.
$path = POSIX::ctermid();
- ctime
-
This is identical to the
C function
ctime() .
- cuserid
-
Get the character login name of the user.
$name = POSIX::cuserid();
- difftime
-
This is identical to the
C function
difftime() .
- div
-
div() is C-specific.
- dup
-
This is similar to the
C function
dup() .
This uses file descriptors such as those obtained by calling
POSIX::open .
Returns undef on failure.
- dup2
-
This is similar to the
C function
dup2() .
This uses file descriptors such as those obtained by calling
POSIX::open .
Returns undef on failure.
- errno
-
Returns the value of errno.
$errno = POSIX::errno();
- execl
-
execl() is C-specific.
- execle
-
execle() is C-specific.
- execlp
-
execlp() is C-specific.
- execv
-
execv() is C-specific.
- execve
-
execve() is C-specific.
- execvp
-
execvp() is C-specific.
- exit
-
This is identical to Perl's builtin exit function.
- exp
-
This is identical to Perl's builtin exp function.
- fabs
-
This is identical to Perl's builtin abs function.
- fclose
-
Use method
IO::Handle::close() instead.
- fcntl
-
This is identical to Perl's builtin fcntl function.
- fdopen
-
Use method
IO::Handle::new_from_fd() instead.
- feof
-
Use method
IO::Handle::eof() instead.
- ferror
-
Use method
IO::Handle::error() instead.
- fflush
-
Use method
IO::Handle::flush() instead.
- fgetc
-
Use method
IO::Handle::getc() instead.
- fgetpos
-
Use method
IO::Seekable::getpos() instead.
- fgets
-
Use method
IO::Handle::gets() instead.
- fileno
-
Use method
IO::Handle::fileno() instead.
- floor
-
This is identical to the
C function
floor() .
- fmod
-
This is identical to the
C function
fmod() .
- fopen
-
Use method
IO::File::open() instead.
- fork
-
This is identical to Perl's builtin fork function.
- fpathconf
-
Retrieves the value of a configurable limit on a file or directory. This
uses file descriptors such as those obtained by calling
POSIX::open .
The following will determine the maximum length of the longest allowable
pathname on the filesystem which holds /tmp/foo .
$fd = POSIX::open( "/tmp/foo", &POSIX::O_RDONLY );
$path_max = POSIX::fpathconf( $fd, &POSIX::_PC_PATH_MAX );
Returns undef on failure.
- fprintf
-
fprintf() is C-specific--use
printf instead.
- fputc
-
fputc() is C-specific--use
print instead.
- fputs
-
fputs() is C-specific--use
print instead.
- fread
-
fread() is C-specific--use
read instead.
- free
-
free() is C-specific.
- freopen
-
freopen() is C-specific--use
open instead.
- frexp
-
Return the mantissa and exponent of a floating-point number.
($mantissa, $exponent) = POSIX::frexp( 3.14 );
- fscanf
-
fscanf() is C-specific--use
<> and regular expressions instead.
- fseek
-
Use method
IO::Seekable::seek() instead.
- fsetpos
-
Use method
IO::Seekable::setpos() instead.
- fstat
-
Get file status. This uses file descriptors such as those obtained by
calling
POSIX::open . The data returned is identical to the data from Perl's builtin stat function.
$fd = POSIX::open( "foo", &POSIX::O_RDONLY );
@stats = POSIX::fstat( $fd );
- ftell
-
Use method
IO::Seekable::tell() instead.
- fwrite
-
fwrite() is C-specific--use
print instead.
- getc
-
This is identical to Perl's builtin getc function.
- getchar
-
Returns one character from
STDIN.
- getcwd
-
Returns the name of the current working directory.
- getegid
-
Returns the effective group id.
- getenv
-
Returns the value of the specified enironment variable.
- geteuid
-
Returns the effective user id.
- getgid
-
Returns the user's real group id.
- getgrgid
-
This is identical to Perl's builtin getgrgid function.
- getgrnam
-
This is identical to Perl's builtin getgrnam function.
- getgroups
-
Returns the ids of the user's supplementary groups.
- getlogin
-
This is identical to Perl's builtin getlogin function.
- getpgrp
-
This is identical to Perl's builtin getpgrp function.
- getpid
-
Returns the process's id.
- getppid
-
This is identical to Perl's builtin getppid function.
- getpwnam
-
This is identical to Perl's builtin getpwnam function.
- getpwuid
-
This is identical to Perl's builtin getpwuid function.
- gets
-
Returns one line from
STDIN.
- getuid
-
Returns the user's id.
- gmtime
-
This is identical to Perl's builtin gmtime function.
- isalnum
-
This is identical to the
C function, except that it can apply to a single
character or to a whole string.
- isalpha
-
This is identical to the
C function, except that it can apply to a single
character or to a whole string.
- isatty
-
Returns a boolean indicating whether the specified filehandle is connected
to a tty.
- iscntrl
-
This is identical to the
C function, except that it can apply to a single
character or to a whole string.
- isdigit
-
This is identical to the
C function, except that it can apply to a single
character or to a whole string.
- isgraph
-
This is identical to the
C function, except that it can apply to a single
character or to a whole string.
- islower
-
This is identical to the
C function, except that it can apply to a single
character or to a whole string.
- isprint
-
This is identical to the
C function, except that it can apply to a single
character or to a whole string.
- ispunct
-
This is identical to the
C function, except that it can apply to a single
character or to a whole string.
- isspace
-
This is identical to the
C function, except that it can apply to a single
character or to a whole string.
- isupper
-
This is identical to the
C function, except that it can apply to a single
character or to a whole string.
- isxdigit
-
This is identical to the
C function, except that it can apply to a single
character or to a whole string.
- kill
-
This is identical to Perl's builtin kill function.
- labs
-
labs() is C-specific, use abs
instead.
- ldexp
-
This is identical to the
C function
ldexp() .
- ldiv
-
ldiv() is C-specific, use / and
int instead.
- link
-
This is identical to Perl's builtin link function.
- localeconv
-
Get numeric formatting information. Returns a reference to a hash
containing the current locale formatting values.
The database for the 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";
- localtime
-
This is identical to Perl's builtin localtime function.
- log
-
This is identical to Perl's builtin log function.
- log10
-
This is identical to the
C function
log10() .
- longjmp
-
longjmp() is C-specific: use
die instead.
- lseek
-
Move the file's read/write position. This uses file descriptors such as
those obtained by calling
POSIX::open .
$fd = POSIX::open( "foo", &POSIX::O_RDONLY );
$off_t = POSIX::lseek( $fd, 0, &POSIX::SEEK_SET );
Returns undef on failure.
- malloc
-
malloc() is C-specific.
- mblen
-
This is identical to the
C function
mblen() .
- mbstowcs
-
This is identical to the
C function
mbstowcs() .
- mbtowc
-
This is identical to the
C function
mbtowc() .
- memchr
-
memchr() is C-specific, use
index() instead.
- memcmp
-
memcmp() is C-specific, use
eq instead.
- memcpy
-
memcpy() is C-specific, use =
instead.
- memmove
-
memmove() is C-specific, use
= instead.
- memset
-
memset() is C-specific, use x
instead.
- mkdir
-
This is identical to Perl's builtin mkdir function.
- mkfifo
-
This is similar to the
C function
mkfifo() .
Returns undef on failure.
- 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 (mon ), weekday (wday ), and yearday (yday ) begin at zero. I.e. January is 0, not 1; Sunday is 0, not 1; January 1st
is 0, not 1. The year (year ) is given in years since 1900. I.e. The year 1995 is 95; the year 2001 is
101. Consult your system's 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 undef on failure.
- modf
-
Return the integral and fractional parts of a floating-point number.
($fractional, $integral) = POSIX::modf( 3.14 );
- nice
-
This is similar to the
C function
nice() .
Returns undef on failure.
- offsetof
-
offsetof() is C-specific.
- open
-
Open a file for reading for writing. This returns file descriptors, not
Perl filehandles. Use
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 undef on failure.
- opendir
-
Open a directory for reading.
$dir = POSIX::opendir( "/tmp" );
@files = POSIX::readdir( $dir );
POSIX::closedir( $dir );
Returns undef on failure.
- 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 /tmp .
$path_max = POSIX::pathconf( "/tmp", &POSIX::_PC_PATH_MAX );
Returns undef on failure.
- pause
-
This is similar to the
C function
pause() .
Returns undef on failure.
- perror
-
This is identical to the
C function
perror() .
- pipe
-
Create an interprocess channel. This returns file descriptors like those
returned by
POSIX::open .
($fd0, $fd1) = POSIX::pipe();
POSIX::write( $fd0, "hello", 5 );
POSIX::read( $fd1, $buf, 5 );
- pow
-
Computes
$x raised to the power $exponent.
$ret = POSIX::pow( $x, $exponent );
- printf
-
Prints the specified arguments to
STDOUT.
- putc
-
putc() is C-specific--use print
instead.
- putchar
-
putchar() is C-specific--use
print instead.
- puts
-
puts() is C-specific--use print
instead.
- qsort
-
qsort() is C-specific, use
sort instead.
- raise
-
Sends the specified signal to the current process.
- rand
-
rand() is non-portable, use
Perl's rand instead.
- read
-
Read from a file. This uses file descriptors such as those obtained by
calling
POSIX::open . If the buffer $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 undef on failure.
- readdir
-
This is identical to Perl's builtin readdir function.
- realloc
-
realloc() is C-specific.
- remove
-
This is identical to Perl's builtin unlink function.
- rename
-
This is identical to Perl's builtin rename function.
- rewind
-
Seeks to the beginning of the file.
- rewinddir
-
This is identical to Perl's builtin rewinddir function.
- rmdir
-
This is identical to Perl's builtin rmdir function.
- scanf
-
scanf() is C-specific--use
<> and regular expressions instead.
- setgid
-
Sets the real group id for this process.
- setjmp
-
setjmp() is C-specific: use
eval {} instead.
- setlocale
-
Modifies and queries program's locale.
The following will set the traditional
UNIX system locale behavior (the second argument perlop).
$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 "" ). Please see your systems setlocale(3) documentation for the locale environment variables' meaning or consult perllocale.
$loc = POSIX::setlocale( &POSIX::LC_CTYPE, "");
The following will set the
LC_COLLATE behaviour to Argentinian Spanish. NOTE: The naming and availability of locales depends on your operating system.
Please consult perllocale for how to find out which locales are available in your system.
$loc = POSIX::setlocale( &POSIX::LC_ALL, "es_AR.ISO8859-1" );
- setpgid
-
This is similar to the
C function
setpgid() .
Returns undef on failure.
- setsid
-
This is identical to the
C function
setsid() .
- setuid
-
Sets the real user id for this process.
- sigaction
-
Detailed signal management. This uses
POSIX::SigAction objects for the
action and oldaction arguments. Consult your system's sigaction
manpage for details.
Synopsis:
sigaction(sig, action, oldaction = 0)
Returns undef on failure.
- siglongjmp
-
siglongjmp() is
C-specific: use die instead.
- sigpending
-
Examine signals that are blocked and pending. This uses
POSIX::SigSet
objects for the sigset argument. Consult your system's sigpending
manpage for details.
Synopsis:
sigpending(sigset)
Returns undef on failure.
- sigprocmask
-
Change and/or examine calling process's signal mask. This uses
POSIX::SigSet objects for the sigset and oldsigset arguments. Consult your system's sigprocmask manpage for details.
Synopsis:
sigprocmask(how, sigset, oldsigset = 0)
Returns undef on failure.
- sigsetjmp
-
sigsetjmp() is C-specific:
use eval {} instead.
- sigsuspend
-
Install a signal mask and suspend process until signal arrives. This uses
POSIX::SigSet objects for the signal_mask argument. Consult your system's sigsuspend manpage for details.
Synopsis:
sigsuspend(signal_mask)
Returns undef on failure.
- sin
-
This is identical to Perl's builtin sin function.
- sinh
-
This is identical to the
C function
sinh() .
- sleep
-
This is identical to Perl's builtin sleep function.
- sprintf
-
This is identical to Perl's builtin sprintf function.
- sqrt
-
This is identical to Perl's builtin sqrt function.
- srand
-
srand().
- sscanf
-
sscanf() is C-specific--use
regular expressions instead.
- stat
-
This is identical to Perl's builtin stat function.
- strcat
-
strcat() is C-specific, use
.= instead.
- strchr
-
strchr() is C-specific, use
index() instead.
- strcmp
-
strcmp() is C-specific, use
eq instead.
- strcoll
-
This is identical to the
C function
strcoll() .
- strcpy
-
strcpy() is C-specific, use =
instead.
- strcspn
-
strcspn() is C-specific, use
regular expressions instead.
- strerror
-
Returns the error string for the specified errno.
- 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 (mon ), weekday (wday ), and yearday (yday ) begin at zero. I.e. January is 0, not 1; Sunday is 0, not 1; January 1st
is 0, not 1. The year (year ) is given in years since 1900. I.e. The year 1995 is 95; the year 2001 is
101. Consult your system's strftime() 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";
- strlen
-
strlen() is C-specific, use
length instead.
- strncat
-
strncat() is C-specific, use
.= instead.
- strncmp
-
strncmp() is C-specific, use
eq instead.
- strncpy
-
strncpy() is C-specific, use
= instead.
- stroul
-
stroul() is C-specific.
- strpbrk
-
strpbrk() is C-specific.
- strrchr
-
strrchr() is C-specific, use
rindex() instead.
- strspn
-
strspn() is C-specific.
- strstr
-
This is identical to Perl's builtin index function.
- 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 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.
- strtok
-
strtok() is C-specific.
- 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 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.
- strtoul
-
String to unsigned (long) integer translation. strtoul is identical to
strtol except that strtoul only parses unsigned integers. See
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.
- strxfrm
-
String transformation. Returns the transformed string.
$dst = POSIX::strxfrm( $src );
- 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 undef on failure.
- system
-
This is identical to Perl's builtin system function.
- tan
-
This is identical to the
C function
tan() .
- tanh
-
This is identical to the
C function
tanh() .
- tcdrain
-
This is similar to the
C function
tcdrain() .
Returns undef on failure.
- tcflow
-
This is similar to the
C function
tcflow() .
Returns undef on failure.
- tcflush
-
This is similar to the
C function
tcflush() .
Returns undef on failure.
- tcgetpgrp
-
This is identical to the
C function
tcgetpgrp() .
- tcsendbreak
-
This is similar to the
C function
tcsendbreak() .
Returns undef on failure.
- tcsetpgrp
-
This is similar to the
C function
tcsetpgrp() .
Returns undef on failure.
- time
-
This is identical to Perl's builtin time function.
- 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 times function returns four values, measured in seconds.
- tmpfile
-
Use method
IO::File::new_tmpfile() instead.
- tmpnam
-
Returns a name for a temporary file.
$tmpfile = POSIX::tmpnam();
- tolower
-
This is identical to Perl's builtin lc function.
- toupper
-
This is identical to Perl's builtin uc function.
- ttyname
-
This is identical to the
C function
ttyname() .
- tzname
-
Retrieves the time conversion information from the
tzname variable.
POSIX::tzset();
($std, $dst) = POSIX::tzname();
- tzset
-
This is identical to the
C function
tzset() .
- umask
-
This is identical to Perl's builtin umask function.
- uname
-
Get name of current operating system.
($sysname, $nodename, $release, $version, $machine ) = POSIX::uname();
- ungetc
-
Use method
IO::Handle::ungetc() instead.
- unlink
-
This is identical to Perl's builtin unlink function.
- utime
-
This is identical to Perl's builtin utime function.
- vfprintf
-
vfprintf() is C-specific.
- vprintf
-
vprintf() is C-specific.
- vsprintf
-
vsprintf() is C-specific.
- wait
-
This is identical to Perl's builtin wait function.
- waitpid
-
Wait for a child process to change state. This is identical to Perl's
builtin waitpid function.
$pid = POSIX::waitpid( -1, &POSIX::WNOHANG );
print "status = ", ($? / 256), "\n";
- wcstombs
-
This is identical to the
C function
wcstombs() .
- wctomb
-
This is identical to the
C function
wctomb() .
- write
-
Write to a file. This uses file descriptors such as those obtained by
calling
POSIX::open .
$fd = POSIX::open( "foo", &POSIX::O_WRONLY );
$buf = "hello";
$bytes = POSIX::write( $b, $buf, 5 );
Returns undef on failure.
- new
-
Creates a new
POSIX::SigAction object which corresponds to the
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 POSIX::SigSet
object, it defaults to the empty set. The third parameter contains the
sa_flags , it defaults to 0.
$sigset = POSIX::SigSet->new(SIGINT, SIGQUIT);
$sigaction = POSIX::SigAction->new( 'main::handler', $sigset, &POSIX::SA_NOCLDSTOP );
This POSIX::SigAction object should be used with the POSIX::sigaction()
function.
- 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 );
- addset
-
Add a signal to a SigSet object.
$sigset->addset( &POSIX::SIGUSR2 );
Returns undef on failure.
- delset
-
Remove a signal from the SigSet object.
$sigset->delset( &POSIX::SIGUSR2 );
Returns undef on failure.
- emptyset
-
Initialize the SigSet object to be empty.
$sigset->emptyset();
Returns undef on failure.
- fillset
-
Initialize the SigSet object to include all signals.
$sigset->fillset();
Returns undef on failure.
- ismember
-
Tests the SigSet object to see if it contains a specific signal.
if( $sigset->ismember( &POSIX::SIGUSR1 ) ){
print "contains SIGUSR1\n";
}
- 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;
- getattr
-
Get terminal control attributes.
Obtain the attributes for stdin.
$termios->getattr()
Obtain the attributes for stdout.
$termios->getattr( 1 )
Returns undef on failure.
- 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);
- getcflag
-
Retrieve the c_cflag field of a termios object.
$c_cflag = $termios->getcflag;
- getiflag
-
Retrieve the c_iflag field of a termios object.
$c_iflag = $termios->getiflag;
- getispeed
-
Retrieve the input baud rate.
$ispeed = $termios->getispeed;
- getlflag
-
Retrieve the c_lflag field of a termios object.
$c_lflag = $termios->getlflag;
- getoflag
-
Retrieve the c_oflag field of a termios object.
$c_oflag = $termios->getoflag;
- getospeed
-
Retrieve the output baud rate.
$ospeed = $termios->getospeed;
- setattr
-
Set terminal control attributes.
Set attributes immediately for stdout.
$termios->setattr( 1, &POSIX::TCSANOW );
Returns undef on failure.
- 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 );
- setcflag
-
Set the c_cflag field of a termios object.
$termios->setcflag( $c_cflag | &POSIX::CLOCAL );
- setiflag
-
Set the c_iflag field of a termios object.
$termios->setiflag( $c_iflag | &POSIX::BRKINT );
- setispeed
-
Set the input baud rate.
$termios->setispeed( &POSIX::B9600 );
Returns undef on failure.
- setlflag
-
Set the c_lflag field of a termios object.
$termios->setlflag( $c_lflag | &POSIX::ECHO );
- setoflag
-
Set the c_oflag field of a termios object.
$termios->setoflag( $c_oflag | &POSIX::OPOST );
- setospeed
-
Set the output baud rate.
$termios->setospeed( &POSIX::B9600 );
Returns undef on failure.
- Baud rate values
-
B38400
B75
B200
B134
B300
B1800
B150
B0
B19200
B1200
B9600
B600
B4800
B50
B2400
B110
- Terminal interface values
-
TCSADRAIN
TCSANOW
TCOON
TCIOFLUSH
TCOFLUSH
TCION
TCIFLUSH
TCSAFLUSH
TCIOFF
TCOOFF
- c_cc field values
-
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Constants
-
LC_ALL
LC_COLLATE
LC_CTYPE
LC_MONETARY
LC_NUMERIC
LC_TIME
- Constants
-
HUGE_VAL
- 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
|