perlfunc
root
<P>
<FONT SIZE=-1>POSIX</FONT> - Perl interface to
<FONT SIZE=-1>IEEE</FONT> Std 1003.1
<P>
<HR>
<P>
<PRE> use POSIX;
use POSIX qw(setsid);
use POSIX qw(:errno_h :fcntl_h);
</PRE>
<P>
<PRE> printf "EINTR is %d\n", EINTR;
</PRE>
<P>
<PRE> $sess_id = POSIX::setsid();
</PRE>
<P>
<PRE> $fd = POSIX::open($path, O_
<P>
The
<FONT SIZE=-1>POSIX</FONT> module permits you to access all (or nearly all) the standard
<FONT SIZE=-1>POSIX</FONT> 1003.1 identifiers. Many of these identifiers have been given Perl-ish interfaces. Things which are
<CODE>#defines</CODE> in
<FONT SIZE=-1>C,</FONT> like
<FONT SIZE=-1>EINTR</FONT> or
<FONT SIZE=-1>O_NDELAY,</FONT> 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.
<P>
This document gives a condensed list of the features available in the
<FONT SIZE=-1>POSIX</FONT> module. Consult your operating system's manpages
for general information on most features. Consult [perlman:perlfunc|perlfunc] for functions which are noted as being identical to Perl's builtin
functions.
<P>
The first section describes
<FONT SIZE=-1>POSIX</FONT> functions from the 1003.1 specification. The second section describes some classes for signal objects,
<FONT SIZE=-1>TTY</FONT> objects, and other miscellaneous objects. The remaining sections list various constants and macros in an organization which roughly follows
<FONT SIZE=-1>IEEE</FONT> Std 1003.1b-1993.
<P>
<HR>
<H1><A NAME="NOTE">NOTE</A></H1>
<P>
The
<FONT SIZE=-1>POSIX</FONT> 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,
<FONT SIZE=-1>C,</FONT> or both. It's a great source of wisdom.
<P>
<HR>
<H1><A NAME="CAVEATS">CAVEATS</A></H1>
<P>
<FONT SIZE=-1>A</FONT> few functions are not implemented because they are
<FONT SIZE=-1>C</FONT> 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
<CODE>setjmp()</CODE> call will elicit the message ``setjmp() is C-specific: use eval {} instead''.
<P>
Furthermore, some evil vendors will claim 1003.1 compliance, but in fact are not so: they will not pass the
<FONT SIZE=-1>PCTS</FONT>
<FONT SIZE=-1>(POSIX</FONT> Compliance Test Suites). For example, one vendor may not define
<FONT SIZE=-1>EDEADLK,</FONT> or the semantics of the errno values set by
<CODE>open(2)</CODE> might not be quite right. Perl does not attempt to verify
<FONT SIZE=-1>POSIX</FONT> compliance. That means you can currently successfully say ``use
<FONT SIZE=-1>POSIX'',</FONT> and then later in your program you find that your vendor has been lax and there's no usable
<FONT SIZE=-1>ICANON</FONT> macro after all. This could be construed to be a bug.
<P>
<HR>
<H1><A NAME="FUNCTIONS">FUNCTIONS</A></H1>
<DL>
<DT><STRONG><A NAME="item__exit">_exit</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>_exit()</CODE>.
<P><DT><STRONG><A NAME="item_abort">abort</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>abort()</CODE>.
<P><DT><STRONG><A NAME="item_abs">abs</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:abs|abs] function.
<P><DT><STRONG><A NAME="item_access">access</A></STRONG><P>
<DD>
Determines the accessibility of a file.
<P>
<PRE> if( POSIX::access( "/", &POSIX::R_OK ) ){
print "have read permission\n";
}
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_acos">acos</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>acos()</CODE>.
<P><DT><STRONG><A NAME="item_alarm">alarm</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:alarm|alarm] function.
<P><DT><STRONG><A NAME="item_asctime">asctime</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>asctime()</CODE>.
<P><DT><STRONG><A NAME="item_asin">asin</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>asin()</CODE>.
<P><DT><STRONG><A NAME="item_assert">assert</A></STRONG><P>
<DD>
Unimplemented.
<P><DT><STRONG><A NAME="item_atan">atan</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>atan()</CODE>.
<P><DT><STRONG><A NAME="item_atan2">atan2</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:atan2|atan2] function.
<P><DT><STRONG><A NAME="item_atexit">atexit</A></STRONG><P>
<DD>
<CODE>atexit()</CODE> is C-specific: use
<FONT SIZE=-1>END</FONT> {} instead.
<P><DT><STRONG><A NAME="item_atof">atof</A></STRONG><P>
<DD>
<CODE>atof()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_atoi">atoi</A></STRONG><P>
<DD>
<CODE>atoi()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_atol">atol</A></STRONG><P>
<DD>
<CODE>atol()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_bsearch">bsearch</A></STRONG><P>
<DD>
<CODE>bsearch()</CODE> not supplied.
<P><DT><STRONG><A NAME="item_calloc">calloc</A></STRONG><P>
<DD>
<CODE>calloc()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_ceil">ceil</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>ceil()</CODE>.
<P><DT><STRONG><A NAME="item_chdir">chdir</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:chdir|chdir] function.
<P><DT><STRONG><A NAME="item_chmod">chmod</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:chmod|chmod] function.
<P><DT><STRONG><A NAME="item_chown">chown</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:chown|chown] function.
<P><DT><STRONG><A NAME="item_clearerr">clearerr</A></STRONG><P>
<DD>
Use method <CODE>IO::Handle::clearerr()</CODE> instead.
<P><DT><STRONG><A NAME="item_clock">clock</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>clock()</CODE>.
<P><DT><STRONG><A NAME="item_close">close</A></STRONG><P>
<DD>
Close the file. This uses file descriptors such as those obtained by
calling
<CODE>POSIX::open</CODE>.
<P>
<PRE> $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
POSIX::close( $fd );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_closedir">closedir</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:closedir|closedir] function.
<P><DT><STRONG><A NAME="item_cos">cos</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:cos|cos] function.
<P><DT><STRONG><A NAME="item_cosh">cosh</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>cosh()</CODE>.
<P><DT><STRONG><A NAME="item_creat">creat</A></STRONG><P>
<DD>
Create a new file. This returns a file descriptor like the ones returned by
<CODE>POSIX::open</CODE>. Use <CODE>POSIX::close</CODE> to close the file.
<P>
<PRE> $fd = POSIX::creat( "foo", 0611 );
POSIX::close( $fd );
</PRE>
<DT><STRONG><A NAME="item_ctermid">ctermid</A></STRONG><P>
<DD>
Generates the path name for the controlling terminal.
<P>
<PRE> $path = POSIX::ctermid();
</PRE>
<DT><STRONG><A NAME="item_ctime">ctime</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>ctime()</CODE>.
<P><DT><STRONG><A NAME="item_cuserid">cuserid</A></STRONG><P>
<DD>
Get the character login name of the user.
<P>
<PRE> $name = POSIX::cuserid();
</PRE>
<DT><STRONG><A NAME="item_difftime">difftime</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>difftime()</CODE>.
<P><DT><STRONG><A NAME="item_div">div</A></STRONG><P>
<DD>
<CODE>div()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_dup">dup</A></STRONG><P>
<DD>
This is similar to the
<FONT SIZE=-1>C</FONT> function <CODE>dup()</CODE>.
<P>
This uses file descriptors such as those obtained by calling
<CODE>POSIX::open</CODE>.
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_dup2">dup2</A></STRONG><P>
<DD>
This is similar to the
<FONT SIZE=-1>C</FONT> function <CODE>dup2()</CODE>.
<P>
This uses file descriptors such as those obtained by calling
<CODE>POSIX::open</CODE>.
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_errno">errno</A></STRONG><P>
<DD>
Returns the value of errno.
<P>
<PRE> $errno = POSIX::errno();
</PRE>
<DT><STRONG><A NAME="item_execl">execl</A></STRONG><P>
<DD>
<CODE>execl()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_execle">execle</A></STRONG><P>
<DD>
<CODE>execle()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_execlp">execlp</A></STRONG><P>
<DD>
<CODE>execlp()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_execv">execv</A></STRONG><P>
<DD>
<CODE>execv()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_execve">execve</A></STRONG><P>
<DD>
<CODE>execve()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_execvp">execvp</A></STRONG><P>
<DD>
<CODE>execvp()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_exit">exit</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:exit|exit] function.
<P><DT><STRONG><A NAME="item_exp">exp</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:exp|exp] function.
<P><DT><STRONG><A NAME="item_fabs">fabs</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:abs|abs] function.
<P><DT><STRONG><A NAME="item_fclose">fclose</A></STRONG><P>
<DD>
Use method <CODE>IO::Handle::close()</CODE> instead.
<P><DT><STRONG><A NAME="item_fcntl">fcntl</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:fcntl|fcntl] function.
<P><DT><STRONG><A NAME="item_fdopen">fdopen</A></STRONG><P>
<DD>
Use method <CODE>IO::Handle::new_from_fd()</CODE> instead.
<P><DT><STRONG><A NAME="item_feof">feof</A></STRONG><P>
<DD>
Use method <CODE>IO::Handle::eof()</CODE> instead.
<P><DT><STRONG><A NAME="item_ferror">ferror</A></STRONG><P>
<DD>
Use method <CODE>IO::Handle::error()</CODE> instead.
<P><DT><STRONG><A NAME="item_fflush">fflush</A></STRONG><P>
<DD>
Use method <CODE>IO::Handle::flush()</CODE> instead.
<P><DT><STRONG><A NAME="item_fgetc">fgetc</A></STRONG><P>
<DD>
Use method <CODE>IO::Handle::getc()</CODE> instead.
<P><DT><STRONG><A NAME="item_fgetpos">fgetpos</A></STRONG><P>
<DD>
Use method <CODE>IO::Seekable::getpos()</CODE> instead.
<P><DT><STRONG><A NAME="item_fgets">fgets</A></STRONG><P>
<DD>
Use method <CODE>IO::Handle::gets()</CODE> instead.
<P><DT><STRONG><A NAME="item_fileno">fileno</A></STRONG><P>
<DD>
Use method <CODE>IO::Handle::fileno()</CODE> instead.
<P><DT><STRONG><A NAME="item_floor">floor</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>floor()</CODE>.
<P><DT><STRONG><A NAME="item_fmod">fmod</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>fmod()</CODE>.
<P><DT><STRONG><A NAME="item_fopen">fopen</A></STRONG><P>
<DD>
Use method <CODE>IO::File::open()</CODE> instead.
<P><DT><STRONG><A NAME="item_fork">fork</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:fork|fork] function.
<P><DT><STRONG><A NAME="item_fpathconf">fpathconf</A></STRONG><P>
<DD>
Retrieves the value of a configurable limit on a file or directory. This
uses file descriptors such as those obtained by calling <CODE>POSIX::open</CODE>.
<P>
The following will determine the maximum length of the longest allowable
pathname on the filesystem which holds <CODE>/tmp/foo</CODE>.
<P>
<PRE> $fd = POSIX::open( "/tmp/foo", &POSIX::O_RDONLY );
$path_max = POSIX::fpathconf( $fd, &POSIX::_PC_PATH_MAX );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_fprintf">fprintf</A></STRONG><P>
<DD>
<CODE>fprintf()</CODE> is C-specific--use
printf instead.
<P><DT><STRONG><A NAME="item_fputc">fputc</A></STRONG><P>
<DD>
<CODE>fputc()</CODE> is C-specific--use
print instead.
<P><DT><STRONG><A NAME="item_fputs">fputs</A></STRONG><P>
<DD>
<CODE>fputs()</CODE> is C-specific--use
print instead.
<P><DT><STRONG><A NAME="item_fread">fread</A></STRONG><P>
<DD>
<CODE>fread()</CODE> is C-specific--use
read instead.
<P><DT><STRONG><A NAME="item_free">free</A></STRONG><P>
<DD>
<CODE>free()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_freopen">freopen</A></STRONG><P>
<DD>
<CODE>freopen()</CODE> is C-specific--use
open instead.
<P><DT><STRONG><A NAME="item_frexp">frexp</A></STRONG><P>
<DD>
Return the mantissa and exponent of a floating-point number.
<P>
<PRE> ($mantissa, $exponent) = POSIX::frexp( 3.14 );
</PRE>
<DT><STRONG><A NAME="item_fscanf">fscanf</A></STRONG><P>
<DD>
<CODE>fscanf()</CODE> is C-specific--use
<> and regular expressions instead.
<P><DT><STRONG><A NAME="item_fseek">fseek</A></STRONG><P>
<DD>
Use method <CODE>IO::Seekable::seek()</CODE> instead.
<P><DT><STRONG><A NAME="item_fsetpos">fsetpos</A></STRONG><P>
<DD>
Use method <CODE>IO::Seekable::setpos()</CODE> instead.
<P><DT><STRONG><A NAME="item_fstat">fstat</A></STRONG><P>
<DD>
Get file status. This uses file descriptors such as those obtained by
calling <CODE>POSIX::open</CODE>. The data returned is identical to the data from Perl's builtin [perlfunc:stat|stat] function.
<P>
<PRE> $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
@stats = POSIX::fstat( $fd );
</PRE>
<DT><STRONG><A NAME="item_ftell">ftell</A></STRONG><P>
<DD>
Use method <CODE>IO::Seekable::tell()</CODE> instead.
<P><DT><STRONG><A NAME="item_fwrite">fwrite</A></STRONG><P>
<DD>
<CODE>fwrite()</CODE> is C-specific--use
print instead.
<P><DT><STRONG><A NAME="item_getc">getc</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:getc|getc] function.
<P><DT><STRONG><A NAME="item_getchar">getchar</A></STRONG><P>
<DD>
Returns one character from
<FONT SIZE=-1>STDIN.</FONT>
<P><DT><STRONG><A NAME="item_getcwd">getcwd</A></STRONG><P>
<DD>
Returns the name of the current working directory.
<P><DT><STRONG><A NAME="item_getegid">getegid</A></STRONG><P>
<DD>
Returns the effective group id.
<P><DT><STRONG><A NAME="item_getenv">getenv</A></STRONG><P>
<DD>
Returns the value of the specified enironment variable.
<P><DT><STRONG><A NAME="item_geteuid">geteuid</A></STRONG><P>
<DD>
Returns the effective user id.
<P><DT><STRONG><A NAME="item_getgid">getgid</A></STRONG><P>
<DD>
Returns the user's real group id.
<P><DT><STRONG><A NAME="item_getgrgid">getgrgid</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:getgrgid|getgrgid] function.
<P><DT><STRONG><A NAME="item_getgrnam">getgrnam</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:getgrnam|getgrnam] function.
<P><DT><STRONG><A NAME="item_getgroups">getgroups</A></STRONG><P>
<DD>
Returns the ids of the user's supplementary groups.
<P><DT><STRONG><A NAME="item_getlogin">getlogin</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:getlogin|getlogin] function.
<P><DT><STRONG><A NAME="item_getpgrp">getpgrp</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:getpgrp|getpgrp] function.
<P><DT><STRONG><A NAME="item_getpid">getpid</A></STRONG><P>
<DD>
Returns the process's id.
<P><DT><STRONG><A NAME="item_getppid">getppid</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:getppid|getppid] function.
<P><DT><STRONG><A NAME="item_getpwnam">getpwnam</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:getpwnam|getpwnam] function.
<P><DT><STRONG><A NAME="item_getpwuid">getpwuid</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:getpwuid|getpwuid] function.
<P><DT><STRONG><A NAME="item_gets">gets</A></STRONG><P>
<DD>
Returns one line from
<FONT SIZE=-1>STDIN.</FONT>
<P><DT><STRONG><A NAME="item_getuid">getuid</A></STRONG><P>
<DD>
Returns the user's id.
<P><DT><STRONG><A NAME="item_gmtime">gmtime</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:gmtime|gmtime] function.
<P><DT><STRONG><A NAME="item_isalnum">isalnum</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function, except that it can apply to a single
character or to a whole string.
<P><DT><STRONG><A NAME="item_isalpha">isalpha</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function, except that it can apply to a single
character or to a whole string.
<P><DT><STRONG><A NAME="item_isatty">isatty</A></STRONG><P>
<DD>
Returns a boolean indicating whether the specified filehandle is connected
to a tty.
<P><DT><STRONG><A NAME="item_iscntrl">iscntrl</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function, except that it can apply to a single
character or to a whole string.
<P><DT><STRONG><A NAME="item_isdigit">isdigit</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function, except that it can apply to a single
character or to a whole string.
<P><DT><STRONG><A NAME="item_isgraph">isgraph</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function, except that it can apply to a single
character or to a whole string.
<P><DT><STRONG><A NAME="item_islower">islower</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function, except that it can apply to a single
character or to a whole string.
<P><DT><STRONG><A NAME="item_isprint">isprint</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function, except that it can apply to a single
character or to a whole string.
<P><DT><STRONG><A NAME="item_ispunct">ispunct</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function, except that it can apply to a single
character or to a whole string.
<P><DT><STRONG><A NAME="item_isspace">isspace</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function, except that it can apply to a single
character or to a whole string.
<P><DT><STRONG><A NAME="item_isupper">isupper</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function, except that it can apply to a single
character or to a whole string.
<P><DT><STRONG><A NAME="item_isxdigit">isxdigit</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function, except that it can apply to a single
character or to a whole string.
<P><DT><STRONG><A NAME="item_kill">kill</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:kill|kill] function.
<P><DT><STRONG><A NAME="item_labs">labs</A></STRONG><P>
<DD>
<CODE>labs()</CODE> is C-specific, use abs
instead.
<P><DT><STRONG><A NAME="item_ldexp">ldexp</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>ldexp()</CODE>.
<P><DT><STRONG><A NAME="item_ldiv">ldiv</A></STRONG><P>
<DD>
<CODE>ldiv()</CODE> is C-specific, use / and
int instead.
<P><DT><STRONG><A NAME="item_link">link</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:link|link] function.
<P><DT><STRONG><A NAME="item_localeconv">localeconv</A></STRONG><P>
<DD>
Get numeric formatting information. Returns a reference to a hash
containing the current locale formatting values.
<P>
The database for the <STRONG>de</STRONG> (Deutsch or German) locale.
<P>
<PRE> $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";
</PRE>
<DT><STRONG><A NAME="item_localtime">localtime</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:localtime|localtime] function.
<P><DT><STRONG><A NAME="item_log">log</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:log|log] function.
<P><DT><STRONG><A NAME="item_log10">log10</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>log10()</CODE>.
<P><DT><STRONG><A NAME="item_longjmp">longjmp</A></STRONG><P>
<DD>
<CODE>longjmp()</CODE> is C-specific: use
die instead.
<P><DT><STRONG><A NAME="item_lseek">lseek</A></STRONG><P>
<DD>
Move the file's read/write position. This uses file descriptors such as
those obtained by calling <CODE>POSIX::open</CODE>.
<P>
<PRE> $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
$off_t = POSIX::lseek( $fd, 0, &POSIX::SEEK_SET );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_malloc">malloc</A></STRONG><P>
<DD>
<CODE>malloc()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_mblen">mblen</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>mblen()</CODE>.
<P><DT><STRONG><A NAME="item_mbstowcs">mbstowcs</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>mbstowcs()</CODE>.
<P><DT><STRONG><A NAME="item_mbtowc">mbtowc</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>mbtowc()</CODE>.
<P><DT><STRONG><A NAME="item_memchr">memchr</A></STRONG><P>
<DD>
<CODE>memchr()</CODE> is C-specific, use
<CODE>index()</CODE> instead.
<P><DT><STRONG><A NAME="item_memcmp">memcmp</A></STRONG><P>
<DD>
<CODE>memcmp()</CODE> is C-specific, use
eq instead.
<P><DT><STRONG><A NAME="item_memcpy">memcpy</A></STRONG><P>
<DD>
<CODE>memcpy()</CODE> is C-specific, use =
instead.
<P><DT><STRONG><A NAME="item_memmove">memmove</A></STRONG><P>
<DD>
<CODE>memmove()</CODE> is C-specific, use
= instead.
<P><DT><STRONG><A NAME="item_memset">memset</A></STRONG><P>
<DD>
<CODE>memset()</CODE> is C-specific, use x
instead.
<P><DT><STRONG><A NAME="item_mkdir">mkdir</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:mkdir|mkdir] function.
<P><DT><STRONG><A NAME="item_mkfifo">mkfifo</A></STRONG><P>
<DD>
This is similar to the
<FONT SIZE=-1>C</FONT> function <CODE>mkfifo()</CODE>.
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_mktime">mktime</A></STRONG><P>
<DD>
Convert date/time info to a calendar time.
<P>
Synopsis:
<P>
<PRE> mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0)
</PRE>
<P>
The month (<CODE>mon</CODE>), weekday (<CODE>wday</CODE>), and yearday (<CODE>yday</CODE>) begin at zero. I.e. January is 0, not 1; Sunday is 0, not 1; January 1st
is 0, not 1. The year (<CODE>year</CODE>) is given in years since 1900. I.e. The year 1995 is 95; the year 2001 is
101. Consult your system's <CODE>mktime()</CODE> manpage for details about these and the other arguments.
<P>
Calendar time for December 12, 1995, at 10:30 am.
<P>
<PRE> $time_t = POSIX::mktime( 0, 30, 10, 12, 11, 95 );
print "Date = ", POSIX::ctime($time_t);
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_modf">modf</A></STRONG><P>
<DD>
Return the integral and fractional parts of a floating-point number.
<P>
<PRE> ($fractional, $integral) = POSIX::modf( 3.14 );
</PRE>
<DT><STRONG><A NAME="item_nice">nice</A></STRONG><P>
<DD>
This is similar to the
<FONT SIZE=-1>C</FONT> function <CODE>nice()</CODE>.
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_offsetof">offsetof</A></STRONG><P>
<DD>
<CODE>offsetof()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_open">open</A></STRONG><P>
<DD>
Open a file for reading for writing. This returns file descriptors, not
Perl filehandles. Use <CODE>POSIX::close</CODE> to close the file.
<P>
Open a file read-only with mode 0666.
<P>
<PRE> $fd = POSIX::open( "foo" );
</PRE>
<P>
Open a file for read and write.
<P>
<PRE> $fd = POSIX::open( "foo", &POSIX::O_RDWR );
</PRE>
<P>
Open a file for write, with truncation.
<P>
<PRE> $fd = POSIX::open( "foo", &POSIX::O_WRONLY | &POSIX::O_TRUNC );
</PRE>
<P>
Create a new file with mode 0640. Set up the file for writing.
<P>
<PRE> $fd = POSIX::open( "foo", &POSIX::O_CREAT | &POSIX::O_WRONLY, 0640 );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_opendir">opendir</A></STRONG><P>
<DD>
Open a directory for reading.
<P>
<PRE> $dir = POSIX::opendir( "/tmp" );
@files = POSIX::readdir( $dir );
POSIX::closedir( $dir );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_pathconf">pathconf</A></STRONG><P>
<DD>
Retrieves the value of a configurable limit on a file or directory.
<P>
The following will determine the maximum length of the longest allowable
pathname on the filesystem which holds <CODE>/tmp</CODE>.
<P>
<PRE> $path_max = POSIX::pathconf( "/tmp", &POSIX::_PC_PATH_MAX );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_pause">pause</A></STRONG><P>
<DD>
This is similar to the
<FONT SIZE=-1>C</FONT> function <CODE>pause()</CODE>.
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_perror">perror</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>perror()</CODE>.
<P><DT><STRONG><A NAME="item_pipe">pipe</A></STRONG><P>
<DD>
Create an interprocess channel. This returns file descriptors like those
returned by <CODE>POSIX::open</CODE>.
<P>
<PRE> ($fd0, $fd1) = POSIX::pipe();
POSIX::write( $fd0, "hello", 5 );
POSIX::read( $fd1, $buf, 5 );
</PRE>
<DT><STRONG><A NAME="item_pow">pow</A></STRONG><P>
<DD>
Computes <CODE>$x</CODE> raised to the power $exponent.
<P>
<PRE> $ret = POSIX::pow( $x, $exponent );
</PRE>
<DT><STRONG><A NAME="item_printf">printf</A></STRONG><P>
<DD>
Prints the specified arguments to
<FONT SIZE=-1>STDOUT.</FONT>
<P><DT><STRONG><A NAME="item_putc">putc</A></STRONG><P>
<DD>
<CODE>putc()</CODE> is C-specific--use print
instead.
<P><DT><STRONG><A NAME="item_putchar">putchar</A></STRONG><P>
<DD>
<CODE>putchar()</CODE> is C-specific--use
print instead.
<P><DT><STRONG><A NAME="item_puts">puts</A></STRONG><P>
<DD>
<CODE>puts()</CODE> is C-specific--use print
instead.
<P><DT><STRONG><A NAME="item_qsort">qsort</A></STRONG><P>
<DD>
<CODE>qsort()</CODE> is C-specific, use
sort instead.
<P><DT><STRONG><A NAME="item_raise">raise</A></STRONG><P>
<DD>
Sends the specified signal to the current process.
<P><DT><STRONG><A NAME="item_rand">rand</A></STRONG><P>
<DD>
<CODE>rand()</CODE> is non-portable, use
Perl's rand instead.
<P><DT><STRONG><A NAME="item_read">read</A></STRONG><P>
<DD>
Read from a file. This uses file descriptors such as those obtained by
calling <CODE>POSIX::open</CODE>. If the buffer <CODE>$buf</CODE> is not large enough for the read then Perl will extend it to make room for
the request.
<P>
<PRE> $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
$bytes = POSIX::read( $fd, $buf, 3 );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_readdir">readdir</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:readdir|readdir] function.
<P><DT><STRONG><A NAME="item_realloc">realloc</A></STRONG><P>
<DD>
<CODE>realloc()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_remove">remove</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:unlink|unlink] function.
<P><DT><STRONG><A NAME="item_rename">rename</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:rename|rename] function.
<P><DT><STRONG><A NAME="item_rewind">rewind</A></STRONG><P>
<DD>
Seeks to the beginning of the file.
<P><DT><STRONG><A NAME="item_rewinddir">rewinddir</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:rewinddir|rewinddir] function.
<P><DT><STRONG><A NAME="item_rmdir">rmdir</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:rmdir|rmdir] function.
<P><DT><STRONG><A NAME="item_scanf">scanf</A></STRONG><P>
<DD>
<CODE>scanf()</CODE> is C-specific--use
<> and regular expressions instead.
<P><DT><STRONG><A NAME="item_setgid">setgid</A></STRONG><P>
<DD>
Sets the real group id for this process.
<P><DT><STRONG><A NAME="item_setjmp">setjmp</A></STRONG><P>
<DD>
<CODE>setjmp()</CODE> is C-specific: use
eval {} instead.
<P><DT><STRONG><A NAME="item_setlocale">setlocale</A></STRONG><P>
<DD>
Modifies and queries program's locale.
<P>
The following will set the traditional
<FONT SIZE=-1>UNIX</FONT> system locale behavior (the second argument [perlman:perlop|perlop]).
<P>
<PRE> $loc = POSIX::setlocale( &POSIX::LC_ALL, "C" );
</PRE>
<P>
The following will query (the missing second argument) the current
<FONT SIZE=-1>LC_CTYPE</FONT> category.
<P>
<PRE> $loc = POSIX::setlocale( &POSIX::LC_CTYPE);
</PRE>
<P>
The following will set the
<FONT SIZE=-1>LC_CTYPE</FONT> behaviour according to the locale environment
variables (the second argument <CODE>""</CODE>). Please see your systems <EM>setlocale(3)</EM> documentation for the locale environment variables' meaning or consult [perlman:perllocale|perllocale].
<P>
<PRE> $loc = POSIX::setlocale( &POSIX::LC_CTYPE, "");
</PRE>
<P>
The following will set the
<FONT SIZE=-1>LC_COLLATE</FONT> behaviour to Argentinian Spanish. <STRONG>NOTE</STRONG>: The naming and availability of locales depends on your operating system.
Please consult [perlman:perllocale|perllocale] for how to find out which locales are available in your system.
<P>
<PRE> $loc = POSIX::setlocale( &POSIX::LC_ALL, "es_AR.ISO8859-1" );
</PRE>
<DT><STRONG><A NAME="item_setpgid">setpgid</A></STRONG><P>
<DD>
This is similar to the
<FONT SIZE=-1>C</FONT> function <CODE>setpgid()</CODE>.
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_setsid">setsid</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>setsid()</CODE>.
<P><DT><STRONG><A NAME="item_setuid">setuid</A></STRONG><P>
<DD>
Sets the real user id for this process.
<P><DT><STRONG><A NAME="item_sigaction">sigaction</A></STRONG><P>
<DD>
Detailed signal management. This uses <CODE>POSIX::SigAction</CODE> objects for the
<CODE>action</CODE> and <CODE>oldaction</CODE> arguments. Consult your system's <CODE>sigaction</CODE>
manpage for details.
<P>
Synopsis:
<P>
<PRE> sigaction(sig, action, oldaction = 0)
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_siglongjmp">siglongjmp</A></STRONG><P>
<DD>
<CODE>siglongjmp()</CODE> is
C-specific: use die instead.
<P><DT><STRONG><A NAME="item_sigpending">sigpending</A></STRONG><P>
<DD>
Examine signals that are blocked and pending. This uses <CODE>POSIX::SigSet</CODE>
objects for the <CODE>sigset</CODE> argument. Consult your system's <CODE>sigpending</CODE>
manpage for details.
<P>
Synopsis:
<P>
<PRE> sigpending(sigset)
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_sigprocmask">sigprocmask</A></STRONG><P>
<DD>
Change and/or examine calling process's signal mask. This uses
<CODE>POSIX::SigSet</CODE> objects for the <CODE>sigset</CODE> and <CODE>oldsigset</CODE> arguments. Consult your system's <CODE>sigprocmask</CODE> manpage for details.
<P>
Synopsis:
<P>
<PRE> sigprocmask(how, sigset, oldsigset = 0)
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_sigsetjmp">sigsetjmp</A></STRONG><P>
<DD>
<CODE>sigsetjmp()</CODE> is C-specific:
use eval {} instead.
<P><DT><STRONG><A NAME="item_sigsuspend">sigsuspend</A></STRONG><P>
<DD>
Install a signal mask and suspend process until signal arrives. This uses
<CODE>POSIX::SigSet</CODE> objects for the <CODE>signal_mask</CODE> argument. Consult your system's <CODE>sigsuspend</CODE> manpage for details.
<P>
Synopsis:
<P>
<PRE> sigsuspend(signal_mask)
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_sin">sin</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:sin|sin] function.
<P><DT><STRONG><A NAME="item_sinh">sinh</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>sinh()</CODE>.
<P><DT><STRONG><A NAME="item_sleep">sleep</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:sleep|sleep] function.
<P><DT><STRONG><A NAME="item_sprintf">sprintf</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:sprintf|sprintf] function.
<P><DT><STRONG><A NAME="item_sqrt">sqrt</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:sqrt|sqrt] function.
<P><DT><STRONG><A NAME="item_srand">srand</A></STRONG><P>
<DD>
<CODE>srand().</CODE>
<P><DT><STRONG><A NAME="item_sscanf">sscanf</A></STRONG><P>
<DD>
<CODE>sscanf()</CODE> is C-specific--use
regular expressions instead.
<P><DT><STRONG><A NAME="item_stat">stat</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:stat|stat] function.
<P><DT><STRONG><A NAME="item_strcat">strcat</A></STRONG><P>
<DD>
<CODE>strcat()</CODE> is C-specific, use
.= instead.
<P><DT><STRONG><A NAME="item_strchr">strchr</A></STRONG><P>
<DD>
<CODE>strchr()</CODE> is C-specific, use
<CODE>index()</CODE> instead.
<P><DT><STRONG><A NAME="item_strcmp">strcmp</A></STRONG><P>
<DD>
<CODE>strcmp()</CODE> is C-specific, use
eq instead.
<P><DT><STRONG><A NAME="item_strcoll">strcoll</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>strcoll()</CODE>.
<P><DT><STRONG><A NAME="item_strcpy">strcpy</A></STRONG><P>
<DD>
<CODE>strcpy()</CODE> is C-specific, use =
instead.
<P><DT><STRONG><A NAME="item_strcspn">strcspn</A></STRONG><P>
<DD>
<CODE>strcspn()</CODE> is C-specific, use
regular expressions instead.
<P><DT><STRONG><A NAME="item_strerror">strerror</A></STRONG><P>
<DD>
Returns the error string for the specified errno.
<P><DT><STRONG><A NAME="item_strftime">strftime</A></STRONG><P>
<DD>
Convert date and time information to string. Returns the string.
<P>
Synopsis:
<P>
<PRE> strftime(fmt, sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0)
</PRE>
<P>
The month (<CODE>mon</CODE>), weekday (<CODE>wday</CODE>), and yearday (<CODE>yday</CODE>) begin at zero. I.e. January is 0, not 1; Sunday is 0, not 1; January 1st
is 0, not 1. The year (<CODE>year</CODE>) is given in years since 1900. I.e. The year 1995 is 95; the year 2001 is
101. Consult your system's <CODE>strftime()</CODE> manpage for details about these and the other arguments.
<P>
The string for Tuesday, December 12, 1995.
<P>
<PRE> $str = POSIX::strftime( "%A, %B %d, %Y", 0, 0, 0, 12, 11, 95, 2 );
print "$str\n";
</PRE>
<DT><STRONG><A NAME="item_strlen">strlen</A></STRONG><P>
<DD>
<CODE>strlen()</CODE> is C-specific, use
length instead.
<P><DT><STRONG><A NAME="item_strncat">strncat</A></STRONG><P>
<DD>
<CODE>strncat()</CODE> is C-specific, use
.= instead.
<P><DT><STRONG><A NAME="item_strncmp">strncmp</A></STRONG><P>
<DD>
<CODE>strncmp()</CODE> is C-specific, use
eq instead.
<P><DT><STRONG><A NAME="item_strncpy">strncpy</A></STRONG><P>
<DD>
<CODE>strncpy()</CODE> is C-specific, use
= instead.
<P><DT><STRONG><A NAME="item_stroul">stroul</A></STRONG><P>
<DD>
<CODE>stroul()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_strpbrk">strpbrk</A></STRONG><P>
<DD>
<CODE>strpbrk()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_strrchr">strrchr</A></STRONG><P>
<DD>
<CODE>strrchr()</CODE> is C-specific, use
<CODE>rindex()</CODE> instead.
<P><DT><STRONG><A NAME="item_strspn">strspn</A></STRONG><P>
<DD>
<CODE>strspn()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_strstr">strstr</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:index|index] function.
<P><DT><STRONG><A NAME="item_strtod">strtod</A></STRONG><P>
<DD>
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 $!
<FONT SIZE=-1>($ERRNO)</FONT> to indicate a translation error, so clear $! before calling strtod. However, non-POSIX systems may not check for overflow, and therefore will never set $!.
<P>
strtod should respect any
<FONT SIZE=-1>POSIX</FONT> <EM>setlocale()</EM> settings.
<P>
To parse a string <CODE>$str</CODE> as a floating point number use
<P>
<PRE> $! = 0;
($num, $n_unparsed) = POSIX::strtod($str);
</PRE>
<P>
The second returned item and $! can be used to check for valid input:
<P>
<PRE> if (($str eq '') || ($n_unparsed != 0) || !$!) {
die "Non-numeric input $str" . $! ? ": $!\n" : "\n";
}
</PRE>
<P>
When called in a scalar context strtod returns the parsed number.
<P><DT><STRONG><A NAME="item_strtok">strtok</A></STRONG><P>
<DD>
<CODE>strtok()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_strtol">strtol</A></STRONG><P>
<DD>
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 $!
<FONT SIZE=-1>($ERRNO)</FONT> to indicate a translation error, so clear $! before calling strtol. However, non-POSIX systems may not check for overflow, and therefore will never set $!.
<P>
strtol should respect any
<FONT SIZE=-1>POSIX</FONT> <EM>setlocale()</EM> settings.
<P>
To parse a string <CODE>$str</CODE> as a number in some base
<CODE>$base</CODE> use
<P>
<PRE> $! = 0;
($num, $n_unparsed) = POSIX::strtol($str, $base);
</PRE>
<P>
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
<FONT SIZE=-1>``0X''</FONT> 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.
<P>
The second returned item and $! can be used to check for valid input:
<P>
<PRE> if (($str eq '') || ($n_unparsed != 0) || !$!) {
die "Non-numeric input $str" . $! ? ": $!\n" : "\n";
}
</PRE>
<P>
When called in a scalar context strtol returns the parsed number.
<P><DT><STRONG><A NAME="item_strtoul">strtoul</A></STRONG><P>
<DD>
String to unsigned (long) integer translation. strtoul is identical to
strtol except that strtoul only parses unsigned integers. See
<EM>strtol</EM> for details.
<P>
Note: Some vendors supply strtod and strtol but not strtoul. Other vendors
that do suply strtoul parse ``-1'' as a valid value.
<P><DT><STRONG><A NAME="item_strxfrm">strxfrm</A></STRONG><P>
<DD>
String transformation. Returns the transformed string.
<P>
<PRE> $dst = POSIX::strxfrm( $src );
</PRE>
<DT><STRONG><A NAME="item_sysconf">sysconf</A></STRONG><P>
<DD>
Retrieves values of system configurable variables.
<P>
The following will get the machine's clock speed.
<P>
<PRE> $clock_ticks = POSIX::sysconf( &POSIX::_SC_CLK_TCK );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_system">system</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:system|system] function.
<P><DT><STRONG><A NAME="item_tan">tan</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>tan()</CODE>.
<P><DT><STRONG><A NAME="item_tanh">tanh</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>tanh()</CODE>.
<P><DT><STRONG><A NAME="item_tcdrain">tcdrain</A></STRONG><P>
<DD>
This is similar to the
<FONT SIZE=-1>C</FONT> function <CODE>tcdrain()</CODE>.
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_tcflow">tcflow</A></STRONG><P>
<DD>
This is similar to the
<FONT SIZE=-1>C</FONT> function <CODE>tcflow()</CODE>.
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_tcflush">tcflush</A></STRONG><P>
<DD>
This is similar to the
<FONT SIZE=-1>C</FONT> function <CODE>tcflush()</CODE>.
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_tcgetpgrp">tcgetpgrp</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>tcgetpgrp()</CODE>.
<P><DT><STRONG><A NAME="item_tcsendbreak">tcsendbreak</A></STRONG><P>
<DD>
This is similar to the
<FONT SIZE=-1>C</FONT> function <CODE>tcsendbreak()</CODE>.
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_tcsetpgrp">tcsetpgrp</A></STRONG><P>
<DD>
This is similar to the
<FONT SIZE=-1>C</FONT> function <CODE>tcsetpgrp()</CODE>.
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_time">time</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:time|time] function.
<P><DT><STRONG><A NAME="item_times">times</A></STRONG><P>
<DD>
The
<CODE>times()</CODE> 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.
<P>
<PRE> ($realtime, $user, $system, $cuser, $csystem) = POSIX::times();
</PRE>
<P>
Note: Perl's builtin [perlfunc:times|times] function returns four values, measured in seconds.
<P><DT><STRONG><A NAME="item_tmpfile">tmpfile</A></STRONG><P>
<DD>
Use method <CODE>IO::File::new_tmpfile()</CODE> instead.
<P><DT><STRONG><A NAME="item_tmpnam">tmpnam</A></STRONG><P>
<DD>
Returns a name for a temporary file.
<P>
<PRE> $tmpfile = POSIX::tmpnam();
</PRE>
<DT><STRONG><A NAME="item_tolower">tolower</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:lc|lc] function.
<P><DT><STRONG><A NAME="item_toupper">toupper</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:uc|uc] function.
<P><DT><STRONG><A NAME="item_ttyname">ttyname</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>ttyname()</CODE>.
<P><DT><STRONG><A NAME="item_tzname">tzname</A></STRONG><P>
<DD>
Retrieves the time conversion information from the <CODE>tzname</CODE> variable.
<P>
<PRE> POSIX::tzset();
($std, $dst) = POSIX::tzname();
</PRE>
<DT><STRONG><A NAME="item_tzset">tzset</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>tzset()</CODE>.
<P><DT><STRONG><A NAME="item_umask">umask</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:umask|umask] function.
<P><DT><STRONG><A NAME="item_uname">uname</A></STRONG><P>
<DD>
Get name of current operating system.
<P>
<PRE> ($sysname, $nodename, $release, $version, $machine ) = POSIX::uname();
</PRE>
<DT><STRONG><A NAME="item_ungetc">ungetc</A></STRONG><P>
<DD>
Use method <CODE>IO::Handle::ungetc()</CODE> instead.
<P><DT><STRONG><A NAME="item_unlink">unlink</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:unlink|unlink] function.
<P><DT><STRONG><A NAME="item_utime">utime</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:utime|utime] function.
<P><DT><STRONG><A NAME="item_vfprintf">vfprintf</A></STRONG><P>
<DD>
<CODE>vfprintf()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_vprintf">vprintf</A></STRONG><P>
<DD>
<CODE>vprintf()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_vsprintf">vsprintf</A></STRONG><P>
<DD>
<CODE>vsprintf()</CODE> is C-specific.
<P><DT><STRONG><A NAME="item_wait">wait</A></STRONG><P>
<DD>
This is identical to Perl's builtin [perlfunc:wait|wait] function.
<P><DT><STRONG><A NAME="item_waitpid">waitpid</A></STRONG><P>
<DD>
Wait for a child process to change state. This is identical to Perl's
builtin [perlfunc:waitpid|waitpid] function.
<P>
<PRE> $pid = POSIX::waitpid( -1, &POSIX::WNOHANG );
print "status = ", ($? / 256), "\n";
</PRE>
<DT><STRONG><A NAME="item_wcstombs">wcstombs</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>wcstombs()</CODE>.
<P><DT><STRONG><A NAME="item_wctomb">wctomb</A></STRONG><P>
<DD>
This is identical to the
<FONT SIZE=-1>C</FONT> function <CODE>wctomb()</CODE>.
<P><DT><STRONG><A NAME="item_write">write</A></STRONG><P>
<DD>
Write to a file. This uses file descriptors such as those obtained by
calling <CODE>POSIX::open</CODE>.
<P>
<PRE> $fd = POSIX::open( "foo", &POSIX::O_WRONLY );
$buf = "hello";
$bytes = POSIX::write( $b, $buf, 5 );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
</DL>
<P>
<HR>
<H1><A NAME="CLASSES">CLASSES</A></H1>
<P>
<HR>
<H2><A NAME="POSIX_SigAction">POSIX::SigAction</A></H2>
<DL>
<DT><STRONG><A NAME="item_new">new</A></STRONG><P>
<DD>
Creates a new <CODE>POSIX::SigAction</CODE> object which corresponds to the
<FONT SIZE=-1>C</FONT>
<CODE>struct sigaction</CODE>. 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 <CODE>POSIX::SigSet</CODE>
object, it defaults to the empty set. The third parameter contains the
<CODE>sa_flags</CODE>, it defaults to 0.
<P>
<PRE> $sigset = POSIX::SigSet->new(SIGINT, SIGQUIT);
$sigaction = POSIX::SigAction->new( 'main::handler', $sigset, &POSIX::SA_NOCLDSTOP );
</PRE>
<P>
This <CODE>POSIX::SigAction</CODE> object should be used with the <CODE>POSIX::sigaction()</CODE>
function.
</DL>
<P>
<HR>
<H2><A NAME="POSIX_SigSet">POSIX::SigSet</A></H2>
<DL>
<DT><STRONG>new</STRONG><P>
<DD>
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.
<P>
Create an empty set.
<P>
<PRE> $sigset = POSIX::SigSet->new;
</PRE>
<P>
Create a set with
<FONT SIZE=-1>SIGUSR1.</FONT>
<P>
<PRE> $sigset = POSIX::SigSet->new( &POSIX::SIGUSR1 );
</PRE>
<DT><STRONG><A NAME="item_addset">addset</A></STRONG><P>
<DD>
Add a signal to a SigSet object.
<P>
<PRE> $sigset->addset( &POSIX::SIGUSR2 );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_delset">delset</A></STRONG><P>
<DD>
Remove a signal from the SigSet object.
<P>
<PRE> $sigset->delset( &POSIX::SIGUSR2 );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_emptyset">emptyset</A></STRONG><P>
<DD>
Initialize the SigSet object to be empty.
<P>
<PRE> $sigset->emptyset();
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_fillset">fillset</A></STRONG><P>
<DD>
Initialize the SigSet object to include all signals.
<P>
<PRE> $sigset->fillset();
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_ismember">ismember</A></STRONG><P>
<DD>
Tests the SigSet object to see if it contains a specific signal.
<P>
<PRE> if( $sigset->ismember( &POSIX::SIGUSR1 ) ){
print "contains SIGUSR1\n";
}
</PRE>
</DL>
<P>
<HR>
<H2><A NAME="POSIX_Termios">POSIX::Termios</A></H2>
<DL>
<DT><STRONG>new</STRONG><P>
<DD>
Create a new Termios object. This object will be destroyed automatically when it is no longer needed.
<FONT SIZE=-1>A</FONT> Termios object corresponds to the termios
<FONT SIZE=-1>C</FONT> struct.
<CODE>new()</CODE> mallocs a new one,
<CODE>getattr()</CODE> fills it from a file descriptor, and
<CODE>setattr()</CODE> sets a file descriptor's parameters to match Termios' contents.
<P>
<PRE> $termios = POSIX::Termios->new;
</PRE>
<DT><STRONG><A NAME="item_getattr">getattr</A></STRONG><P>
<DD>
Get terminal control attributes.
<P>
Obtain the attributes for stdin.
<P>
<PRE> $termios->getattr()
</PRE>
<P>
Obtain the attributes for stdout.
<P>
<PRE> $termios->getattr( 1 )
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_getcc">getcc</A></STRONG><P>
<DD>
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.
<P>
<PRE> $c_cc[1] = $termios->getcc(1);
</PRE>
<DT><STRONG><A NAME="item_getcflag">getcflag</A></STRONG><P>
<DD>
Retrieve the c_cflag field of a termios object.
<P>
<PRE> $c_cflag = $termios->getcflag;
</PRE>
<DT><STRONG><A NAME="item_getiflag">getiflag</A></STRONG><P>
<DD>
Retrieve the c_iflag field of a termios object.
<P>
<PRE> $c_iflag = $termios->getiflag;
</PRE>
<DT><STRONG><A NAME="item_getispeed">getispeed</A></STRONG><P>
<DD>
Retrieve the input baud rate.
<P>
<PRE> $ispeed = $termios->getispeed;
</PRE>
<DT><STRONG><A NAME="item_getlflag">getlflag</A></STRONG><P>
<DD>
Retrieve the c_lflag field of a termios object.
<P>
<PRE> $c_lflag = $termios->getlflag;
</PRE>
<DT><STRONG><A NAME="item_getoflag">getoflag</A></STRONG><P>
<DD>
Retrieve the c_oflag field of a termios object.
<P>
<PRE> $c_oflag = $termios->getoflag;
</PRE>
<DT><STRONG><A NAME="item_getospeed">getospeed</A></STRONG><P>
<DD>
Retrieve the output baud rate.
<P>
<PRE> $ospeed = $termios->getospeed;
</PRE>
<DT><STRONG><A NAME="item_setattr">setattr</A></STRONG><P>
<DD>
Set terminal control attributes.
<P>
Set attributes immediately for stdout.
<P>
<PRE> $termios->setattr( 1, &POSIX::TCSANOW );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_setcc">setcc</A></STRONG><P>
<DD>
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.
<P>
<PRE> $termios->setcc( &POSIX::VEOF, 1 );
</PRE>
<DT><STRONG><A NAME="item_setcflag">setcflag</A></STRONG><P>
<DD>
Set the c_cflag field of a termios object.
<P>
<PRE> $termios->setcflag( $c_cflag | &POSIX::CLOCAL );
</PRE>
<DT><STRONG><A NAME="item_setiflag">setiflag</A></STRONG><P>
<DD>
Set the c_iflag field of a termios object.
<P>
<PRE> $termios->setiflag( $c_iflag | &POSIX::BRKINT );
</PRE>
<DT><STRONG><A NAME="item_setispeed">setispeed</A></STRONG><P>
<DD>
Set the input baud rate.
<P>
<PRE> $termios->setispeed( &POSIX::B9600 );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_setlflag">setlflag</A></STRONG><P>
<DD>
Set the c_lflag field of a termios object.
<P>
<PRE> $termios->setlflag( $c_lflag | &POSIX::ECHO );
</PRE>
<DT><STRONG><A NAME="item_setoflag">setoflag</A></STRONG><P>
<DD>
Set the c_oflag field of a termios object.
<P>
<PRE> $termios->setoflag( $c_oflag | &POSIX::OPOST );
</PRE>
<DT><STRONG><A NAME="item_setospeed">setospeed</A></STRONG><P>
<DD>
Set the output baud rate.
<P>
<PRE> $termios->setospeed( &POSIX::B9600 );
</PRE>
<P>
Returns [perlfunc:undef|undef] on failure.
<P><DT><STRONG><A NAME="item_Baud">Baud rate values</A></STRONG><P>
<DD>
<FONT SIZE=-1>B38400</FONT>
<FONT SIZE=-1>B75</FONT>
<FONT SIZE=-1>B200</FONT>
<FONT SIZE=-1>B134</FONT>
<FONT SIZE=-1>B300</FONT>
<FONT SIZE=-1>B1800</FONT>
<FONT SIZE=-1>B150</FONT>
<FONT SIZE=-1>B0</FONT>
<FONT SIZE=-1>B19200</FONT>
<FONT SIZE=-1>B1200</FONT>
<FONT SIZE=-1>B9600</FONT>
<FONT SIZE=-1>B600</FONT>
<FONT SIZE=-1>B4800</FONT>
<FONT SIZE=-1>B50</FONT>
<FONT SIZE=-1>B2400</FONT>
<FONT SIZE=-1>B110</FONT>
<P><DT><STRONG><A NAME="item_Terminal">Terminal interface values</A></STRONG><P>
<DD>
<FONT SIZE=-1>TCSADRAIN</FONT>
<FONT SIZE=-1>TCSANOW</FONT>
<FONT SIZE=-1>TCOON</FONT>
<FONT SIZE=-1>TCIOFLUSH</FONT>
<FONT SIZE=-1>TCOFLUSH</FONT>
<FONT SIZE=-1>TCION</FONT>
<FONT SIZE=-1>TCIFLUSH</FONT>
<FONT SIZE=-1>TCSAFLUSH</FONT>
<FONT SIZE=-1>TCIOFF</FONT>
<FONT SIZE=-1>TCOOFF</FONT>
<P><DT><STRONG><A NAME="item_c_cc">c_cc field values</A></STRONG><P>
<DD>
<FONT SIZE=-1>VEOF</FONT>
<FONT SIZE=-1>VEOL</FONT>
<FONT SIZE=-1>VERASE</FONT>
<FONT SIZE=-1>VINTR</FONT>
<FONT SIZE=-1>VKILL</FONT>
<FONT SIZE=-1>VQUIT</FONT>
<FONT SIZE=-1>VSUSP</FONT>
<FONT SIZE=-1>VSTART</FONT>
<FONT SIZE=-1>VSTOP</FONT>
<FONT SIZE=-1>VMIN</FONT>
<FONT SIZE=-1>VTIME</FONT>
<FONT SIZE=-1>NCCS</FONT>
<P><DT><STRONG><A NAME="item_c_cflag">c_cflag field values</A></STRONG><P>
<DD>
<FONT SIZE=-1>CLOCAL</FONT>
<FONT SIZE=-1>CREAD</FONT>
<FONT SIZE=-1>CSIZE</FONT>
<FONT SIZE=-1>CS5</FONT>
<FONT SIZE=-1>CS6</FONT>
<FONT SIZE=-1>CS7</FONT>
<FONT SIZE=-1>CS8</FONT>
<FONT SIZE=-1>CSTOPB</FONT>
<FONT SIZE=-1>HUPCL</FONT>
<FONT SIZE=-1>PARENB</FONT>
<FONT SIZE=-1>PARODD</FONT>
<P><DT><STRONG><A NAME="item_c_iflag">c_iflag field values</A></STRONG><P>
<DD>
<FONT SIZE=-1>BRKINT</FONT>
<FONT SIZE=-1>ICRNL</FONT>
<FONT SIZE=-1>IGNBRK</FONT>
<FONT SIZE=-1>IGNCR</FONT>
<FONT SIZE=-1>IGNPAR</FONT>
<FONT SIZE=-1>INLCR</FONT>
<FONT SIZE=-1>INPCK</FONT>
<FONT SIZE=-1>ISTRIP</FONT>
<FONT SIZE=-1>IXOFF</FONT>
<FONT SIZE=-1>IXON</FONT>
<FONT SIZE=-1>PARMRK</FONT>
<P><DT><STRONG><A NAME="item_c_lflag">c_lflag field values</A></STRONG><P>
<DD>
<FONT SIZE=-1>ECHO</FONT>
<FONT SIZE=-1>ECHOE</FONT>
<FONT SIZE=-1>ECHOK</FONT>
<FONT SIZE=-1>ECHONL</FONT>
<FONT SIZE=-1>ICANON</FONT>
<FONT SIZE=-1>IEXTEN</FONT>
<FONT SIZE=-1>ISIG</FONT>
<FONT SIZE=-1>NOFLSH</FONT>
<FONT SIZE=-1>TOSTOP</FONT>
<P><DT><STRONG><A NAME="item_c_oflag">c_oflag field values</A></STRONG><P>
<DD>
<FONT SIZE=-1>OPOST</FONT>
</DL>
<P>
<HR>
<H1><A NAME="PATHNAME_CONSTANTS">PATHNAME CONSTANTS</A></H1>
<DL>
<DT><STRONG><A NAME="item_Constants">Constants</A></STRONG><P>
<DD>
<FONT SIZE=-1>_PC_CHOWN_RESTRICTED</FONT>
<FONT SIZE=-1>_PC_LINK_MAX</FONT>
<FONT SIZE=-1>_PC_MAX_CANON</FONT>
<FONT SIZE=-1>_PC_MAX_INPUT</FONT>
<FONT SIZE=-1>_PC_NAME_MAX</FONT>
<FONT SIZE=-1>_PC_NO_TRUNC</FONT>
<FONT SIZE=-1>_PC_PATH_MAX</FONT>
<FONT SIZE=-1>_PC_PIPE_BUF</FONT>
<FONT SIZE=-1>_PC_VDISABLE</FONT>
</DL>
<P>
<HR>
<H1><A NAME="POSIX_CONSTANTS">POSIX CONSTANTS</A></H1>
<DL>
<DT><STRONG>Constants</STRONG><P>
<DD>
<FONT SIZE=-1>_POSIX_ARG_MAX</FONT>
<FONT SIZE=-1>_POSIX_CHILD_MAX</FONT>
<FONT SIZE=-1>_POSIX_CHOWN_RESTRICTED</FONT>
<FONT SIZE=-1>_POSIX_JOB_CONTROL</FONT>
<FONT SIZE=-1>_POSIX_LINK_MAX</FONT>
<FONT SIZE=-1>_POSIX_MAX_CANON</FONT>
<FONT SIZE=-1>_POSIX_MAX_INPUT</FONT>
<FONT SIZE=-1>_POSIX_NAME_MAX</FONT>
<FONT SIZE=-1>_POSIX_NGROUPS_MAX</FONT>
<FONT SIZE=-1>_POSIX_NO_TRUNC</FONT>
<FONT SIZE=-1>_POSIX_OPEN_MAX</FONT>
<FONT SIZE=-1>_POSIX_PATH_MAX</FONT>
<FONT SIZE=-1>_POSIX_PIPE_BUF</FONT>
<FONT SIZE=-1>_POSIX_SAVED_IDS</FONT>
<FONT SIZE=-1>_POSIX_SSIZE_MAX</FONT>
<FONT SIZE=-1>_POSIX_STREAM_MAX</FONT>
<FONT SIZE=-1>_POSIX_TZNAME_MAX</FONT>
<FONT SIZE=-1>_POSIX_VDISABLE</FONT>
<FONT SIZE=-1>_POSIX_VERSION</FONT>
</DL>
<P>
<HR>
<H1><A NAME="SYSTEM_CONFIGURATION">SYSTEM CONFIGURATION</A></H1>
<DL>
<DT><STRONG>Constants</STRONG><P>
<DD>
<FONT SIZE=-1>_SC_ARG_MAX</FONT>
<FONT SIZE=-1>_SC_CHILD_MAX</FONT>
<FONT SIZE=-1>_SC_CLK_TCK</FONT>
<FONT SIZE=-1>_SC_JOB_CONTROL</FONT>
<FONT SIZE=-1>_SC_NGROUPS_MAX</FONT>
<FONT SIZE=-1>_SC_OPEN_MAX</FONT>
<FONT SIZE=-1>_SC_SAVED_IDS</FONT>
<FONT SIZE=-1>_SC_STREAM_MAX</FONT>
<FONT SIZE=-1>_SC_TZNAME_MAX</FONT>
<FONT SIZE=-1>_SC_VERSION</FONT>
</DL>
<P>
<HR>
<H1><A NAME="ERRNO">ERRNO</A></H1>
<DL>
<DT><STRONG>Constants</STRONG><P>
<DD>
<FONT SIZE=-1>E2BIG</FONT>
<FONT SIZE=-1>EACCES</FONT>
<FONT SIZE=-1>EADDRINUSE</FONT>
<FONT SIZE=-1>EADDRNOTAVAIL</FONT>
<FONT SIZE=-1>EAFNOSUPPORT</FONT>
<FONT SIZE=-1>EAGAIN</FONT>
<FONT SIZE=-1>EALREADY</FONT>
<FONT SIZE=-1>EBADF</FONT>
<FONT SIZE=-1>EBUSY</FONT>
<FONT SIZE=-1>ECHILD</FONT>
<FONT SIZE=-1>ECONNABORTED</FONT>
<FONT SIZE=-1>ECONNREFUSED</FONT>
<FONT SIZE=-1>ECONNRESET</FONT>
<FONT SIZE=-1>EDEADLK</FONT>
<FONT SIZE=-1>EDESTADDRREQ</FONT>
<FONT SIZE=-1>EDOM</FONT>
<FONT SIZE=-1>EDQUOT</FONT>
<FONT SIZE=-1>EEXIST</FONT>
<FONT SIZE=-1>EFAULT</FONT>
<FONT SIZE=-1>EFBIG</FONT>
<FONT SIZE=-1>EHOSTDOWN</FONT>
<FONT SIZE=-1>EHOSTUNREACH</FONT>
<FONT SIZE=-1>EINPROGRESS</FONT>
<FONT SIZE=-1>EINTR</FONT>
<FONT SIZE=-1>EINVAL</FONT>
<FONT SIZE=-1>EIO</FONT>
<FONT SIZE=-1>EISCONN</FONT>
<FONT SIZE=-1>EISDIR</FONT>
<FONT SIZE=-1>ELOOP</FONT>
<FONT SIZE=-1>EMFILE</FONT>
<FONT SIZE=-1>EMLINK</FONT>
<FONT SIZE=-1>EMSGSIZE</FONT>
<FONT SIZE=-1>ENAMETOOLONG</FONT>
<FONT SIZE=-1>ENETDOWN</FONT>
<FONT SIZE=-1>ENETRESET</FONT>
<FONT SIZE=-1>ENETUNREACH</FONT>
<FONT SIZE=-1>ENFILE</FONT>
<FONT SIZE=-1>ENOBUFS</FONT>
<FONT SIZE=-1>ENODEV</FONT>
<FONT SIZE=-1>ENOENT</FONT>
<FONT SIZE=-1>ENOEXEC</FONT>
<FONT SIZE=-1>ENOLCK</FONT>
<FONT SIZE=-1>ENOMEM</FONT>
<FONT SIZE=-1>ENOPROTOOPT</FONT>
<FONT SIZE=-1>ENOSPC</FONT>
<FONT SIZE=-1>ENOSYS</FONT>
<FONT SIZE=-1>ENOTBLK</FONT>
<FONT SIZE=-1>ENOTCONN</FONT>
<FONT SIZE=-1>ENOTDIR</FONT>
<FONT SIZE=-1>ENOTEMPTY</FONT>
<FONT SIZE=-1>ENOTSOCK</FONT>
<FONT SIZE=-1>ENOTTY</FONT>
<FONT SIZE=-1>ENXIO</FONT>
<FONT SIZE=-1>EOPNOTSUPP</FONT>
<FONT SIZE=-1>EPERM</FONT>
<FONT SIZE=-1>EPFNOSUPPORT</FONT>
<FONT SIZE=-1>EPIPE</FONT>
<FONT SIZE=-1>EPROCLIM</FONT>
<FONT SIZE=-1>EPROTONOSUPPORT</FONT>
<FONT SIZE=-1>EPROTOTYPE</FONT>
<FONT SIZE=-1>ERANGE</FONT>
<FONT SIZE=-1>EREMOTE</FONT>
<FONT SIZE=-1>ERESTART</FONT>
<FONT SIZE=-1>EROFS</FONT>
<FONT SIZE=-1>ESHUTDOWN</FONT>
<FONT SIZE=-1>ESOCKTNOSUPPORT</FONT>
<FONT SIZE=-1>ESPIPE</FONT>
<FONT SIZE=-1>ESRCH</FONT>
<FONT SIZE=-1>ESTALE</FONT>
<FONT SIZE=-1>ETIMEDOUT</FONT>
<FONT SIZE=-1>ETOOMANYREFS</FONT>
<FONT SIZE=-1>ETXTBSY</FONT>
<FONT SIZE=-1>EUSERS</FONT>
<FONT SIZE=-1>EWOULDBLOCK</FONT>
<FONT SIZE=-1>EXDEV</FONT>
</DL>
<P>
<HR>
<H1><A NAME="FCNTL">FCNTL</A></H1>
<DL>
<DT><STRONG>Constants</STRONG><P>
<DD>
<FONT SIZE=-1>FD_CLOEXEC</FONT>
<FONT SIZE=-1>F_DUPFD</FONT>
<FONT SIZE=-1>F_GETFD</FONT>
<FONT SIZE=-1>F_GETFL</FONT>
<FONT SIZE=-1>F_GETLK</FONT>
<FONT SIZE=-1>F_OK</FONT>
<FONT SIZE=-1>F_RDLCK</FONT>
<FONT SIZE=-1>F_SETFD</FONT>
<FONT SIZE=-1>F_SETFL</FONT>
<FONT SIZE=-1>F_SETLK</FONT>
<FONT SIZE=-1>F_SETLKW</FONT>
<FONT SIZE=-1>F_UNLCK</FONT>
<FONT SIZE=-1>F_WRLCK</FONT>
<FONT SIZE=-1>O_ACCMODE</FONT>
<FONT SIZE=-1>O_APPEND</FONT>
<FONT SIZE=-1>O_CREAT</FONT>
<FONT SIZE=-1>O_EXCL</FONT>
<FONT SIZE=-1>O_NOCTTY</FONT>
<FONT SIZE=-1>O_NONBLOCK</FONT>
<FONT SIZE=-1>O_RDONLY</FONT>
<FONT SIZE=-1>O_RDWR</FONT>
<FONT SIZE=-1>O_TRUNC</FONT>
<FONT SIZE=-1>O_WRONLY</FONT>
</DL>
<P>
<HR>
<H1><A NAME="FLOAT">FLOAT</A></H1>
<DL>
<DT><STRONG>Constants</STRONG><P>
<DD>
<FONT SIZE=-1>DBL_DIG</FONT>
<FONT SIZE=-1>DBL_EPSILON</FONT>
<FONT SIZE=-1>DBL_MANT_DIG</FONT>
<FONT SIZE=-1>DBL_MAX</FONT>
<FONT SIZE=-1>DBL_MAX_10_EXP</FONT>
<FONT SIZE=-1>DBL_MAX_EXP</FONT>
<FONT SIZE=-1>DBL_MIN</FONT>
<FONT SIZE=-1>DBL_MIN_10_EXP</FONT>
<FONT SIZE=-1>DBL_MIN_EXP</FONT>
<FONT SIZE=-1>FLT_DIG</FONT>
<FONT SIZE=-1>FLT_EPSILON</FONT>
<FONT SIZE=-1>FLT_MANT_DIG</FONT>
<FONT SIZE=-1>FLT_MAX</FONT>
<FONT SIZE=-1>FLT_MAX_10_EXP</FONT>
<FONT SIZE=-1>FLT_MAX_EXP</FONT>
<FONT SIZE=-1>FLT_MIN</FONT>
<FONT SIZE=-1>FLT_MIN_10_EXP</FONT>
<FONT SIZE=-1>FLT_MIN_EXP</FONT>
<FONT SIZE=-1>FLT_RADIX</FONT>
<FONT SIZE=-1>FLT_ROUNDS</FONT>
<FONT SIZE=-1>LDBL_DIG</FONT>
<FONT SIZE=-1>LDBL_EPSILON</FONT>
<FONT SIZE=-1>LDBL_MANT_DIG</FONT>
<FONT SIZE=-1>LDBL_MAX</FONT>
<FONT SIZE=-1>LDBL_MAX_10_EXP</FONT>
<FONT SIZE=-1>LDBL_MAX_EXP</FONT>
<FONT SIZE=-1>LDBL_MIN</FONT>
<FONT SIZE=-1>LDBL_MIN_10_EXP</FONT>
<FONT SIZE=-1>LDBL_MIN_EXP</FONT>
</DL>
<P>
<HR>
<H1><A NAME="LIMITS">LIMITS</A></H1>
<DL>
<DT><STRONG>Constants</STRONG><P>
<DD>
<FONT SIZE=-1>ARG_MAX</FONT>
<FONT SIZE=-1>CHAR_BIT</FONT>
<FONT SIZE=-1>CHAR_MAX</FONT>
<FONT SIZE=-1>CHAR_MIN</FONT>
<FONT SIZE=-1>CHILD_MAX</FONT>
<FONT SIZE=-1>INT_MAX</FONT>
<FONT SIZE=-1>INT_MIN</FONT>
<FONT SIZE=-1>LINK_MAX</FONT>
<FONT SIZE=-1>LONG_MAX</FONT>
<FONT SIZE=-1>LONG_MIN</FONT>
<FONT SIZE=-1>MAX_CANON</FONT>
<FONT SIZE=-1>MAX_INPUT</FONT>
<FONT SIZE=-1>MB_LEN_MAX</FONT>
<FONT SIZE=-1>NAME_MAX</FONT>
<FONT SIZE=-1>NGROUPS_MAX</FONT>
<FONT SIZE=-1>OPEN_MAX</FONT>
<FONT SIZE=-1>PATH_MAX</FONT>
<FONT SIZE=-1>PIPE_BUF</FONT>
<FONT SIZE=-1>SCHAR_MAX</FONT>
<FONT SIZE=-1>SCHAR_MIN</FONT>
<FONT SIZE=-1>SHRT_MAX</FONT>
<FONT SIZE=-1>SHRT_MIN</FONT>
<FONT SIZE=-1>SSIZE_MAX</FONT>
<FONT SIZE=-1>STREAM_MAX</FONT>
<FONT SIZE=-1>TZNAME_MAX</FONT>
<FONT SIZE=-1>UCHAR_MAX</FONT>
<FONT SIZE=-1>UINT_MAX</FONT>
<FONT SIZE=-1>ULONG_MAX</FONT>
<FONT SIZE=-1>USHRT_MAX</FONT>
</DL>
<P>
<HR>
<H1><A NAME="LOCALE">LOCALE</A></H1>
<DL>
<DT><STRONG>Constants</STRONG><P>
<DD>
<FONT SIZE=-1>LC_ALL</FONT>
<FONT SIZE=-1>LC_COLLATE</FONT>
<FONT SIZE=-1>LC_CTYPE</FONT>
<FONT SIZE=-1>LC_MONETARY</FONT>
<FONT SIZE=-1>LC_NUMERIC</FONT>
<FONT SIZE=-1>LC_TIME</FONT>
</DL>
<P>
<HR>
<H1><A NAME="MATH">MATH</A></H1>
<DL>
<DT><STRONG>Constants</STRONG><P>
<DD>
<FONT SIZE=-1>HUGE_VAL</FONT>
</DL>
<P>
<HR>
<H1><A NAME="SIGNAL">SIGNAL</A></H1>
<DL>
<DT><STRONG>Constants</STRONG><P>
<DD>
<FONT SIZE=-1>SA_NOCLDSTOP</FONT>
<FONT SIZE=-1>SA_NOCLDWAIT</FONT>
<FONT SIZE=-1>SA_NODEFER</FONT>
<FONT SIZE=-1>SA_ONSTACK</FONT>
<FONT SIZE=-1>SA_RESETHAND</FONT>
<FONT SIZE=-1>SA_RESTART</FONT>
<FONT SIZE=-1>SA_SIGINFO</FONT>
<FONT SIZE=-1>SIGABRT</FONT>
<FONT SIZE=-1>SIGALRM</FONT>
<FONT SIZE=-1>SIGCHLD</FONT>
<FONT SIZE=-1>SIGCONT</FONT>
<FONT SIZE=-1>SIGFPE</FONT>
<FONT SIZE=-1>SIGHUP</FONT>
<FONT SIZE=-1>SIGILL</FONT>
<FONT SIZE=-1>SIGINT</FONT>
<FONT SIZE=-1>SIGKILL</FONT>
<FONT SIZE=-1>SIGPIPE</FONT>
<FONT SIZE=-1>SIGQUIT</FONT>
<FONT SIZE=-1>SIGSEGV</FONT>
<FONT SIZE=-1>SIGSTOP</FONT>
<FONT SIZE=-1>SIGTERM</FONT>
<FONT SIZE=-1>SIGTSTP</FONT>
<FONT SIZE=-1>SIGTTIN</FONT>
<FONT SIZE=-1>SIGTTOU</FONT>
<FONT SIZE=-1>SIGUSR1</FONT>
<FONT SIZE=-1>SIGUSR2</FONT>
<FONT SIZE=-1>SIG_BLOCK</FONT>
<FONT SIZE=-1>SIG_DFL</FONT>
<FONT SIZE=-1>SIG_ERR</FONT>
<FONT SIZE=-1>SIG_IGN</FONT>
<FONT SIZE=-1>SIG_SETMASK</FONT>
<FONT SIZE=-1>SIG_UNBLOCK</FONT>
</DL>
<P>
<HR>
<H1><A NAME="STAT