Movatterモバイル変換


[0]ホーム

URL:


POSIX
(source,CPAN)
version 1.02
You are viewing the version of this documentation from Perl 5.005_03.View the latest version

CONTENTS

#NAME

POSIX - Perl interface to IEEE Std 1003.1

#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

#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#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. Consultperlfunc 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.

#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.

#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.

#FUNCTIONS

#_exit

This is identical to the C function_exit().

#abort

This is identical to the C functionabort().

#abs

This is identical to Perl's builtinabs() function.

#access

Determines the accessibility of a file.

if( POSIX::access( "/", &POSIX::R_OK ) ){print "have read permission\n";}

Returnsundef on failure.

#acos

This is identical to the C functionacos().

#alarm

This is identical to Perl's builtinalarm() function.

#asctime

This is identical to the C functionasctime().

#asin

This is identical to the C functionasin().

#assert

Unimplemented.

#atan

This is identical to the C functionatan().

#atan2

This is identical to Perl's builtinatan2() 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 functionceil().

#chdir

This is identical to Perl's builtinchdir() function.

#chmod

This is identical to Perl's builtinchmod() function.

#chown

This is identical to Perl's builtinchown() function.

#clearerr

Use methodIO::Handle::clearerr() instead.

#clock

This is identical to the C functionclock().

#close

Close the file. This uses file descriptors such as those obtained by callingPOSIX::open.

$fd = POSIX::open( "foo", &POSIX::O_RDONLY );POSIX::close( $fd );

Returnsundef on failure.

#closedir

This is identical to Perl's builtinclosedir() function.

#cos

This is identical to Perl's builtincos() function.

#cosh

This is identical to the C functioncosh().

#creat

Create a new file. This returns a file descriptor like the ones returned byPOSIX::open. UsePOSIX::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 functionctime().

#cuserid

Get the character login name of the user.

$name = POSIX::cuserid();
#difftime

This is identical to the C functiondifftime().

#div

div() is C-specific.

#dup

This is similar to the C functiondup().

This uses file descriptors such as those obtained by callingPOSIX::open.

Returnsundef on failure.

#dup2

This is similar to the C functiondup2().

This uses file descriptors such as those obtained by callingPOSIX::open.

Returnsundef 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 builtinexit() function.

#exp

This is identical to Perl's builtinexp() function.

#fabs

This is identical to Perl's builtinabs() function.

#fclose

Use methodIO::Handle::close() instead.

#fcntl

This is identical to Perl's builtinfcntl() function.

#fdopen

Use methodIO::Handle::new_from_fd() instead.

#feof

Use methodIO::Handle::eof() instead.

#ferror

Use methodIO::Handle::error() instead.

#fflush

Use methodIO::Handle::flush() instead.

#fgetc

Use methodIO::Handle::getc() instead.

#fgetpos

Use methodIO::Seekable::getpos() instead.

#fgets

Use methodIO::Handle::gets() instead.

#fileno

Use methodIO::Handle::fileno() instead.

#floor

This is identical to the C functionfloor().

#fmod

This is identical to the C functionfmod().

#fopen

Use methodIO::File::open() instead.

#fork

This is identical to Perl's builtinfork() function.

#fpathconf

Retrieves the value of a configurable limit on a file or directory. This uses file descriptors such as those obtained by callingPOSIX::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 );

Returnsundef 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 methodIO::Seekable::seek() instead.

#fsetpos

Use methodIO::Seekable::setpos() instead.

#fstat

Get file status. This uses file descriptors such as those obtained by callingPOSIX::open. The data returned is identical to the data from Perl's builtinstat function.

$fd = POSIX::open( "foo", &POSIX::O_RDONLY );@stats = POSIX::fstat( $fd );
#ftell

Use methodIO::Seekable::tell() instead.

#fwrite

fwrite() is C-specific--use print instead.

#getc

This is identical to Perl's builtingetc() 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 builtingetgrgid() function.

#getgrnam

This is identical to Perl's builtingetgrnam() function.

#getgroups

Returns the ids of the user's supplementary groups.

#getlogin

This is identical to Perl's builtingetlogin() function.

#getpgrp

This is identical to Perl's builtingetpgrp() function.

#getpid

Returns the process's id.

#getppid

This is identical to Perl's builtingetppid() function.

#getpwnam

This is identical to Perl's builtingetpwnam() function.

#getpwuid

This is identical to Perl's builtingetpwuid() function.

#gets

Returns one line from STDIN.

#getuid

Returns the user's id.

#gmtime

This is identical to Perl's builtingmtime() 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 builtinkill() function.

#labs

labs() is C-specific, use abs instead.

#ldexp

This is identical to the C functionldexp().

#ldiv

ldiv() is C-specific, use / and int instead.

#link

This is identical to Perl's builtinlink() function.

#localeconv

Get numeric formatting information. Returns a reference to a hash containing the current locale formatting values.

The database for thede (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 builtinlocaltime() function.

#log

This is identical to Perl's builtinlog() function.

#log10

This is identical to the C functionlog10().

#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 callingPOSIX::open.

$fd = POSIX::open( "foo", &POSIX::O_RDONLY );$off_t = POSIX::lseek( $fd, 0, &POSIX::SEEK_SET );

Returnsundef on failure.

#malloc

malloc() is C-specific.

#mblen

This is identical to the C functionmblen().

#mbstowcs

This is identical to the C functionmbstowcs().

#mbtowc

This is identical to the C functionmbtowc().

#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 builtinmkdir() function.

#mkfifo

This is similar to the C functionmkfifo().

Returnsundef 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'smktime() 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);

Returnsundef 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 functionnice().

Returnsundef on failure.

#offsetof

offsetof() is C-specific.

#open

Open a file for reading for writing. This returns file descriptors, not Perl filehandles. UsePOSIX::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 );

Returnsundef on failure.

#opendir

Open a directory for reading.

$dir = POSIX::opendir( "/tmp" );@files = POSIX::readdir( $dir );POSIX::closedir( $dir );

Returnsundef 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 );

Returnsundef on failure.

#pause

This is similar to the C functionpause().

Returnsundef on failure.

#perror

This is identical to the C functionperror().

#pipe

Create an interprocess channel. This returns file descriptors like those returned byPOSIX::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 callingPOSIX::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 );

Returnsundef on failure.

#readdir

This is identical to Perl's builtinreaddir() function.

#realloc

realloc() is C-specific.

#remove

This is identical to Perl's builtinunlink() function.

#rename

This is identical to Perl's builtinrename() function.

#rewind

Seeks to the beginning of the file.

#rewinddir

This is identical to Perl's builtinrewinddir() function.

#rmdir

This is identical to Perl's builtinrmdir() 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"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""). Please see your systemssetlocale(3) documentation for the locale environment variables' meaning or consultperllocale.

$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 consultperllocale 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 functionsetpgid().

Returnsundef on failure.

#setsid

This is identical to the C functionsetsid().

#setuid

Sets the real user id for this process.

#sigaction

Detailed signal management. This usesPOSIX::SigAction objects for theaction andoldaction arguments. Consult your system'ssigaction manpage for details.

Synopsis:

sigaction(sig, action, oldaction = 0)

Returnsundef on failure.

#siglongjmp

siglongjmp() is C-specific: use die instead.

#sigpending

Examine signals that are blocked and pending. This usesPOSIX::SigSet objects for thesigset argument. Consult your system'ssigpending manpage for details.

Synopsis:

sigpending(sigset)

Returnsundef on failure.

#sigprocmask

Change and/or examine calling process's signal mask. This usesPOSIX::SigSet objects for thesigset andoldsigset arguments. Consult your system'ssigprocmask manpage for details.

Synopsis:

sigprocmask(how, sigset, oldsigset = 0)

Returnsundef on failure.

#sigsetjmp

sigsetjmp() is C-specific: use eval {} instead.

#sigsuspend

Install a signal mask and suspend process until signal arrives. This usesPOSIX::SigSet objects for thesignal_mask argument. Consult your system'ssigsuspend manpage for details.

Synopsis:

sigsuspend(signal_mask)

Returnsundef on failure.

#sin

This is identical to Perl's builtinsin() function.

#sinh

This is identical to the C functionsinh().

#sleep

This is identical to Perl's builtinsleep() function.

#sprintf

This is identical to Perl's builtinsprintf() function.

#sqrt

This is identical to Perl's builtinsqrt() function.

#srand

srand().

#sscanf

sscanf() is C-specific--use regular expressions instead.

#stat

This is identical to Perl's builtinstat() 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 functionstrcoll().

#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 = -1, yday = -1, isdst = -1)

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'sstrftime() manpage for details about these and the other arguments. The given arguments are made consistent by callingmktime() before calling your system'sstrftime() function.

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 builtinindex() 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 POSIXsetlocale() 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 POSIXsetlocale() 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. Seestrtol 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 );

Returnsundef on failure.

#system

This is identical to Perl's builtinsystem() function.

#tan

This is identical to the C functiontan().

#tanh

This is identical to the C functiontanh().

#tcdrain

This is similar to the C functiontcdrain().

Returnsundef on failure.

#tcflow

This is similar to the C functiontcflow().

Returnsundef on failure.

#tcflush

This is similar to the C functiontcflush().

Returnsundef on failure.

#tcgetpgrp

This is identical to the C functiontcgetpgrp().

#tcsendbreak

This is similar to the C functiontcsendbreak().

Returnsundef on failure.

#tcsetpgrp

This is similar to the C functiontcsetpgrp().

Returnsundef on failure.

#time

This is identical to Perl's builtintime() 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 builtintimes() function returns four values, measured in seconds.

#tmpfile

Use methodIO::File::new_tmpfile() instead.

#tmpnam

Returns a name for a temporary file.

$tmpfile = POSIX::tmpnam();
#tolower

This is identical to Perl's builtinlc() function.

#toupper

This is identical to Perl's builtinuc() function.

#ttyname

This is identical to the C functionttyname().

#tzname

Retrieves the time conversion information from thetzname variable.

POSIX::tzset();($std, $dst) = POSIX::tzname();
#tzset

This is identical to the C functiontzset().

#umask

This is identical to Perl's builtinumask() function.

#uname

Get name of current operating system.

($sysname, $nodename, $release, $version, $machine ) = POSIX::uname();
#ungetc

Use methodIO::Handle::ungetc() instead.

#unlink

This is identical to Perl's builtinunlink() function.

#utime

This is identical to Perl's builtinutime() function.

#vfprintf

vfprintf() is C-specific.

#vprintf

vprintf() is C-specific.

#vsprintf

vsprintf() is C-specific.

#wait

This is identical to Perl's builtinwait() function.

#waitpid

Wait for a child process to change state. This is identical to Perl's builtinwaitpid() function.

$pid = POSIX::waitpid( -1, &POSIX::WNOHANG );print "status = ", ($? / 256), "\n";
#wcstombs

This is identical to the C functionwcstombs().

#wctomb

This is identical to the C functionwctomb().

#write

Write to a file. This uses file descriptors such as those obtained by callingPOSIX::open.

$fd = POSIX::open( "foo", &POSIX::O_WRONLY );$buf = "hello";$bytes = POSIX::write( $b, $buf, 5 );

Returnsundef on failure.

#CLASSES

#POSIX::SigAction

#new

Creates a newPOSIX::SigAction object which corresponds to the Cstruct 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 aPOSIX::SigSet object, it defaults to the empty set. The third parameter contains thesa_flags, it defaults to 0.

$sigset = POSIX::SigSet->new(SIGINT, SIGQUIT);$sigaction = POSIX::SigAction->new( 'main::handler', $sigset, &POSIX::SA_NOCLDSTOP );

ThisPOSIX::SigAction object should be used with thePOSIX::sigaction() function.

#POSIX::SigSet

#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 );

Returnsundef on failure.

#delset

Remove a signal from the SigSet object.

$sigset->delset( &POSIX::SIGUSR2 );

Returnsundef on failure.

#emptyset

Initialize the SigSet object to be empty.

$sigset->emptyset();

Returnsundef on failure.

#fillset

Initialize the SigSet object to include all signals.

$sigset->fillset();

Returnsundef on failure.

#ismember

Tests the SigSet object to see if it contains a specific signal.

if( $sigset->ismember( &POSIX::SIGUSR1 ) ){print "contains SIGUSR1\n";}

#POSIX::Termios

#new

Create a new Termios object. This object will be destroyed automatically when it is no longer needed. A Termios object corresponds to the termios C struct. 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 )

Returnsundef 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 );

Returnsundef 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 );

Returnsundef 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 );

Returnsundef 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

#PATHNAME CONSTANTS

#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

#POSIX CONSTANTS

#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

#SYSTEM CONFIGURATION

#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

#ERRNO

#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

#FCNTL

#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

#FLOAT

#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

#LIMITS

#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

#LOCALE

#Constants

LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME

#MATH

#Constants

HUGE_VAL

#SIGNAL

#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

#STAT

#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

#Macros

S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG

#STDLIB

#Constants

EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX RAND_MAX

#STDIO

#Constants

BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid L_tmpname TMP_MAX

#TIME

#Constants

CLK_TCK CLOCKS_PER_SEC

#UNISTD

#Constants

R_OK SEEK_CUR SEEK_END SEEK_SET STDIN_FILENO STDOUT_FILENO STRERR_FILENO W_OK X_OK

#WAIT

#Constants

WNOHANG WUNTRACED

#Macros

WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG WIFSTOPPED WSTOPSIG

#CREATION

This document generated by ./mkposixman.PL version 19960129.

Perldoc Browser is maintained by Dan Book (DBOOK). Please contact him via theGitHub issue tracker oremail regarding any issues with the site itself, search, or rendering of documentation.

The Perl documentation is maintained by the Perl 5 Porters in the development of Perl. Please contact them via thePerl issue tracker, themailing list, orIRC to report any issues with the contents or format of the documentation.


[8]ページ先頭

©2009-2026 Movatter.jp