c13e8397cc2b620c409191e1fd4e4ae3b2aa1399
[p5sagit/p5-mst-13.2.git] / ext / POSIX / POSIX.pod
1 =head1 NAME
2
3 POSIX - Perl interface to IEEE Std 1003.1
4
5 =head1 SYNOPSIS
6
7     use POSIX;
8     use POSIX qw(setsid);
9     use POSIX qw(:errno_h :fcntl_h);
10
11     printf "EINTR is %d\n", EINTR;
12
13     $sess_id = POSIX::setsid();
14
15     $fd = POSIX::open($path, O_CREAT|O_EXCL|O_WRONLY, 0644);
16         # note: that's a filedescriptor, *NOT* a filehandle
17
18 =head1 DESCRIPTION
19
20 The POSIX module permits you to access all (or nearly all) the standard
21 POSIX 1003.1 identifiers.  Many of these identifiers have been given Perl-ish
22 interfaces.  Things which are C<#defines> in C, like EINTR or O_NDELAY, are
23 automatically exported into your namespace.  All functions are only exported
24 if you ask for them explicitly.  Most likely people will prefer to use the
25 fully-qualified function names.
26
27 This document gives a condensed list of the features available in the POSIX
28 module.  Consult your operating system's manpages for general information on
29 most features.  Consult L<perlfunc> for functions which are noted as being
30 identical to Perl's builtin functions.
31
32 The first section describes POSIX functions from the 1003.1 specification.
33 The second section describes some classes for signal objects, TTY objects,
34 and other miscellaneous objects.  The remaining sections list various
35 constants and macros in an organization which roughly follows IEEE Std
36 1003.1b-1993.
37
38 =head1 NOTE
39
40 The POSIX module is probably the most complex Perl module supplied with
41 the standard distribution.  It incorporates autoloading, namespace games,
42 and dynamic loading of code that's in Perl, C, or both.  It's a great
43 source of wisdom.
44
45 =head1 CAVEATS 
46
47 A few functions are not implemented because they are C specific.  If you
48 attempt to call these, they will print a message telling you that they
49 aren't implemented, and suggest using the Perl equivalent should one
50 exist.  For example, trying to access the setjmp() call will elicit the
51 message "setjmp() is C-specific: use eval {} instead".
52
53 Furthermore, some evil vendors will claim 1003.1 compliance, but in fact
54 are not so: they will not pass the PCTS (POSIX Compliance Test Suites).
55 For example, one vendor may not define EDEADLK, or the semantics of the
56 errno values set by open(2) might not be quite right.  Perl does not
57 attempt to verify POSIX compliance.  That means you can currently
58 successfully say "use POSIX",  and then later in your program you find
59 that your vendor has been lax and there's no usable ICANON macro after
60 all.  This could be construed to be a bug.
61
62 =head1 FUNCTIONS
63
64 =over 8
65
66 =item _exit
67
68 This is identical to the C function C<_exit()>.  It exits the program
69 immediately which means among other things buffered I/O is B<not> flushed.
70
71 =item abort
72
73 This is identical to the C function C<abort()>.  It terminates the
74 process with a C<SIGABRT> signal unless caught by a signal handler or
75 if the handler does not return normally (it e.g.  does a C<longjmp>).
76
77 =item abs
78
79 This is identical to Perl's builtin C<abs()> function, returning
80 the absolute value of its numerical argument.
81
82 =item access
83
84 Determines the accessibility of a file.
85
86         if( POSIX::access( "/", &POSIX::R_OK ) ){
87                 print "have read permission\n";
88         }
89
90 Returns C<undef> on failure.  Note: do not use C<access()> for
91 security purposes.  Between the C<access()> call and the operation
92 you are preparing for the permissions might change: a classic
93 I<race condition>.
94
95 =item acos
96
97 This is identical to the C function C<acos()>, returning
98 the arcus cosine of its numerical argument.
99
100 =item alarm
101
102 This is identical to Perl's builtin C<alarm()> function,
103 either for arming or disarming the C<SIGARLM> timer.
104
105 =item asctime
106
107 This is identical to the C function C<asctime()>.  It returns
108 a string of the form
109
110         "Fri Jun  2 18:22:13 2000\n\0"
111
112 and it is called thusly
113
114         $asctime = asctime($sec, $min, $hour, $mday, $mon, $year,
115                            $wday, $yday, $isdst);
116
117 The C<$mon> is zero-based: January equals C<0>.  The C<$year> is
118 1900-based: 2001 equals C<101>.  The C<$wday>, C<$yday>, and C<$isdst>
119 default to zero (and the first two are usually ignored anyway).
120
121 =item asin
122
123 This is identical to the C function C<asin()>, returning
124 the arcus sine of its numerical argument.
125
126 =item assert
127
128 Unimplemented, but you can use L<perlfunc/die> and the L<Carp> module
129 to achieve similar things.
130
131 =item atan
132
133 This is identical to the C function C<atan()>, returning the
134 arcus tangent of its numerical argument.
135
136 =item atan2
137
138 This is identical to Perl's builtin C<atan2()> function, returning
139 the arcus tangent defined by its two numerical arguments, the I<y>
140 coordinate and the I<x> coordinate.
141
142 =item atexit
143
144 atexit() is C-specific: use C<END {}> instead, see L<perlsub>.
145
146 =item atof
147
148 atof() is C-specific.  Perl converts strings to numbers transparently.
149 If you need to force a scalar to a number, add a zero to it.
150
151 =item atoi
152
153 atoi() is C-specific.  Perl converts strings to numbers transparently.
154 If you need to force a scalar to a number, add a zero to it.
155 If you need to have just the integer part, see L<perlfunc/int>.
156
157 =item atol
158
159 atol() is C-specific.  Perl converts strings to numbers transparently.
160 If you need to force a scalar to a number, add a zero to it.
161 If you need to have just the integer part, see L<perlfunc/int>.
162
163 =item bsearch
164
165 bsearch() not supplied.  For doing binary search on wordlists,
166 see L<Search::Dict>.
167
168 =item calloc
169
170 calloc() is C-specific.  Perl does memory management transparently.
171
172 =item ceil
173
174 This is identical to the C function C<ceil()>, returning the smallest
175 integer value greater than or equal to the given numerical argument.
176
177 =item chdir
178
179 This is identical to Perl's builtin C<chdir()> function, allowing
180 one to change the working (default) directory, see L<perlfunc/chdir>.
181
182 =item chmod
183
184 This is identical to Perl's builtin C<chmod()> function, allowing
185 one to change file and directory permissions, see L<perlfunc/chmod>.
186
187 =item chown
188
189 This is identical to Perl's builtin C<chown()> function, allowing one
190 to change file and directory owners and groups, see L<perlfunc/chown>.
191
192 =item clearerr
193
194 Use the method L<IO::Handle::clearerr()> instead, to reset the error
195 state (if any) and EOF state (if any) of the given stream.
196
197 =item clock
198
199 This is identical to the C function C<clock()>, returning the
200 amount of spent processor time in microseconds.
201
202 =item close
203
204 Close the file.  This uses file descriptors such as those obtained by calling
205 C<POSIX::open>.
206
207         $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
208         POSIX::close( $fd );
209
210 Returns C<undef> on failure.
211
212 See also L<perlfunc/close>.
213
214 =item closedir
215
216 This is identical to Perl's builtin C<closedir()> function for closing
217 a directory handle, see L<perlfunc/closedir>.
218
219 =item cos
220
221 This is identical to Perl's builtin C<cos()> function, for returning
222 the cosine of its numerical argument, see L<perlfunc/cos>.
223
224 =item cosh
225
226 This is identical to the C function C<cosh()>, for returning
227 the hyperbolic cosine of its numeric argument.
228
229 =item creat
230
231 Create a new file.  This returns a file descriptor like the ones returned by
232 C<POSIX::open>.  Use C<POSIX::close> to close the file.
233
234         $fd = POSIX::creat( "foo", 0611 );
235         POSIX::close( $fd );
236
237 See also L<perlfunc/sysopen> and its C<O_CREAT> flag.
238
239 =item ctermid
240
241 Generates the path name for the controlling terminal.
242
243         $path = POSIX::ctermid();
244
245 =item ctime
246
247 This is identical to the C function C<ctime()>.
248
249 =item cuserid
250
251 Get the character login name of the user.
252
253         $name = POSIX::cuserid();
254
255 =item difftime
256
257 This is identical to the C function C<difftime()>.
258
259 =item div
260
261 div() is C-specific, use L<perlfunc/int> on the usual C</> division and
262 the modulus C<%>.
263
264 =item dup
265
266 This is similar to the C function C<dup()>.
267
268 This uses file descriptors such as those obtained by calling
269 C<POSIX::open>.
270
271 Returns C<undef> on failure.
272
273 =item dup2
274
275 This is similar to the C function C<dup2()>.
276
277 This uses file descriptors such as those obtained by calling
278 C<POSIX::open>.
279
280 Returns C<undef> on failure.
281
282 =item errno
283
284 Returns the value of errno.
285
286         $errno = POSIX::errno();
287
288 This identical to the numerical values of the C<$!>, see L<perlvar>.
289
290 =item execl
291
292 execl() is C-specific, see L<perlfunc/exec>.
293
294 =item execle
295
296 execle() is C-specific, see L<perlfunc/exec>.
297
298 =item execlp
299
300 execlp() is C-specific, see L<perlfunc/exec>.
301
302 =item execv
303
304 execv() is C-specific, see L<perlfunc/exec>.
305
306 =item execve
307
308 execve() is C-specific, see L<perlfunc/exec>.
309
310 =item execvp
311
312 execvp() is C-specific, see L<perlfunc/exec>.
313
314 =item exit
315
316 This is identical to Perl's builtin C<exit()> function for exiting the
317 program, see L<perlfunc/exit>.
318
319 =item exp
320
321 This is identical to Perl's builtin C<exp()> function for
322 returning the exponent (I<e>-based) of the numerical argument,
323 see L<perlfunc/exp>.
324
325 =item fabs
326
327 This is identical to Perl's builtin C<abs()> function for returning
328 the absolute value of the numerical argument, see L<perlfunc/abs>.
329
330 =item fclose
331
332 Use method C<IO::Handle::close()> instead.
333
334 =item fcntl
335
336 This is identical to Perl's builtin C<fcntl()> function,
337 see L<perlfunc/fcntl>.
338
339 =item fdopen
340
341 Use method C<IO::Handle::new_from_fd()> instead.
342
343 =item feof
344
345 Use method C<IO::Handle::eof()> instead.
346
347 =item ferror
348
349 Use method C<IO::Handle::error()> instead.
350
351 =item fflush
352
353 Use method C<IO::Handle::flush()> instead.
354
355 =item fgetc
356
357 Use method C<IO::Handle::getc()> instead.
358
359 =item fgetpos
360
361 Use method C<IO::Seekable::getpos()> instead.
362
363 =item fgets
364
365 Use method C<IO::Handle::gets()> instead.  Similar to <>, also known
366 as L<perlfunc/readline>.
367
368 =item fileno
369
370 Use method C<IO::Handle::fileno()> instead.
371
372 =item floor
373
374 This is identical to the C function C<floor()>, returning the largest
375 integer value less than or equal to the numerical argument.
376
377 =item fmod
378
379 This is identical to the C function C<fmod()>.
380
381         $r = modf($x, $y);
382
383 It returns the remainder C<$r = $x - $n*$y>, where C<$n = trunc($x/$y)>.
384 The C<$r> has the same sign as C<$x> and magnitude (absolute value)
385 less than the magnitude of C<$y>.
386
387 =item fopen
388
389 Use method C<IO::File::open()> instead.
390
391 =item fork
392
393 This is identical to Perl's builtin C<fork()> function.
394
395 =item fpathconf
396
397 Retrieves the value of a configurable limit on a file or directory.  This
398 uses file descriptors such as those obtained by calling C<POSIX::open>.
399
400 The following will determine the maximum length of the longest allowable
401 pathname on the filesystem which holds C</tmp/foo>.
402
403         $fd = POSIX::open( "/tmp/foo", &POSIX::O_RDONLY );
404         $path_max = POSIX::fpathconf( $fd, &POSIX::_PC_PATH_MAX );
405
406 Returns C<undef> on failure.
407
408 =item fprintf
409
410 fprintf() is C-specific, see L<perlfunc/printf> instead.
411
412 =item fputc
413
414 fputc() is C-specific, see L<perlfunc/print> instead.
415
416 =item fputs
417
418 fputs() is C-specific, see L<perlfunc/print> instead.
419
420 =item fread
421
422 fread() is C-specific, see L<perlfunc/read> instead.
423
424 =item free
425
426 free() is C-specific.  Perl does memory management transparently.
427
428 =item freopen
429
430 freopen() is C-specific, see L<perlfunc/open> instead.
431
432 =item frexp
433
434 Return the mantissa and exponent of a floating-point number.
435
436         ($mantissa, $exponent) = POSIX::frexp( 3.14 );
437
438 =item fscanf
439
440 fscanf() is C-specific--use <> and regular expressions instead.
441
442 =item fseek
443
444 Use method C<IO::Seekable::seek()> instead.
445
446 =item fsetpos
447
448 Use method C<IO::Seekable::setpos()> instead.
449
450 =item fstat
451
452 Get file status.  This uses file descriptors such as those obtained by
453 calling C<POSIX::open>.  The data returned is identical to the data from
454 Perl's builtin C<stat> function.
455
456         $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
457         @stats = POSIX::fstat( $fd );
458
459 =item ftell
460
461 Use method C<IO::Seekable::tell()> instead.
462
463 =item fwrite
464
465 fwrite() is C-specific, see L<perlfunc/print> instead.
466
467 =item getc
468
469 This is identical to Perl's builtin C<getc()> function,
470 see L<perlfunc/getc>.
471
472 =item getchar
473
474 Returns one character from STDIN.
475
476 =item getcwd
477
478 Returns the name of the current working directory.
479
480 =item getegid
481
482 Returns the effective group id.
483
484 =item getenv
485
486 Returns the value of the specified enironment variable.
487 The same information is available through the C<%ENV> array.
488
489 =item geteuid
490
491 Returns the effective user id.
492
493 =item getgid
494
495 Returns the user's real group id.
496
497 =item getgrgid
498
499 This is identical to Perl's builtin C<getgrgid()> function,
500 see L<perlfunc/getgrgid>.
501
502 =item getgrnam
503
504 This is identical to Perl's builtin C<getgrnam()> function,
505 see L<perlfunc/getgrnam>.
506
507 =item getgroups
508
509 Returns the ids of the user's supplementary groups.
510
511 =item getlogin
512
513 This is identical to Perl's builtin C<getlogin()> function,
514 see L<perlfunc/getlogin>.
515
516 =item getpgrp
517
518 This is identical to Perl's builtin C<getpgrp()> function,
519 see L<perlfunc/getpgrp>.
520
521 =item getpid
522
523 Returns the process's id.
524
525 =item getppid
526
527 This is identical to Perl's builtin C<getppid()> function,
528 see L<perlfunc/getppid>.
529
530 =item getpwnam
531
532 This is identical to Perl's builtin C<getpwnam()> function,
533 see L<perlfunc/getpwnam>.
534
535 =item getpwuid
536
537 This is identical to Perl's builtin C<getpwuid()> function,
538 see L<perlfunc/getpwuid>.
539
540 =item gets
541
542 Returns one line from C<STDIN>, similar to <>, also known
543 as the C<readline()> functions, see L<perlfunc/readline>.
544
545 =item getuid
546
547 Returns the user's id.
548
549 =item gmtime
550
551 This is identical to Perl's builtin C<gmtime()> function,
552 see L<perlfunc/gmtime>.
553
554 =item isalnum
555
556 This is identical to the C function, except that it can apply to a single
557 character or to a whole string.  Consider using regular expressions and the
558 C</[[:isalnum:]]/> construct instead.
559
560 =item isalpha
561
562 This is identical to the C function, except that it can apply to a single
563 character or to a whole string.  Consider using regular expressions and the
564 C</[[:isalpha:]]/> construct instead.
565
566 =item isatty
567
568 Returns a boolean indicating whether the specified filehandle is connected
569 to a tty.  Similar to the C<-t> operator, see L<perlfunc/-X>.
570
571 =item iscntrl
572
573 This is identical to the C function, except that it can apply to a single
574 character or to a whole string.  Consider using regular expressions and the
575 C</[[:iscntrl:]]/> construct instead.
576
577 =item isdigit
578
579 This is identical to the C function, except that it can apply to a single
580 character or to a whole string.  Consider using regular expressions and the
581 C</[[:isdigit:]]/> construct instead.
582
583 =item isgraph
584
585 This is identical to the C function, except that it can apply to a single
586 character or to a whole string.  Consider using regular expressions and the
587 C</[[:isgraph:]]/> construct instead.
588
589 =item islower
590
591 This is identical to the C function, except that it can apply to a single
592 character or to a whole string.  Consider using regular expressions and the
593 C</[[:islower:]]/> construct instead.
594
595 =item isprint
596
597 This is identical to the C function, except that it can apply to a single
598 character or to a whole string.  Consider using regular expressions and the
599 C</[[:isprint:]]/> construct instead.
600
601 =item ispunct
602
603 This is identical to the C function, except that it can apply to a single
604 character or to a whole string.  Consider using regular expressions and the
605 C</[[:ispunct:]]/> construct instead.
606
607 =item isspace
608
609 This is identical to the C function, except that it can apply to a single
610 character or to a whole string.  Consider using regular expressions and the
611 C</[[:isspace:]]/> construct instead.
612
613 =item isupper
614
615 This is identical to the C function, except that it can apply to a single
616 character or to a whole string.  Consider using regular expressions and the
617 C</[[:isupper:]]/> construct instead.
618
619 =item isxdigit
620
621 This is identical to the C function, except that it can apply to a single
622 character or to a whole string.  Consider using regular expressions and the
623 C</[[:isxdigit:]]/> construct instead.
624
625 =item kill
626
627 This is identical to Perl's builtin C<kill()> function.
628
629 =item labs
630
631 labs() is C-specific, see L<perlfunc/abs> instead.
632
633 =item ldexp
634
635 This is identical to the C function C<ldexp()>.
636
637 =item ldiv
638
639 ldiv() is C-specific, use C</> and C<int()> instead.
640
641 =item link
642
643 This is identical to Perl's builtin C<link()> function.
644
645 =item localeconv
646
647 Get numeric formatting information.  Returns a reference to a hash
648 containing the current locale formatting values.
649
650 Here is how to query the database for the B<de> (Deutsch or German) locale.
651
652         $loc = POSIX::setlocale( &POSIX::LC_ALL, "de" );
653         print "Locale = $loc\n";
654         $lconv = POSIX::localeconv();
655         print "decimal_point    = ", $lconv->{decimal_point},   "\n";
656         print "thousands_sep    = ", $lconv->{thousands_sep},   "\n";
657         print "grouping = ", $lconv->{grouping},        "\n";
658         print "int_curr_symbol  = ", $lconv->{int_curr_symbol}, "\n";
659         print "currency_symbol  = ", $lconv->{currency_symbol}, "\n";
660         print "mon_decimal_point = ", $lconv->{mon_decimal_point}, "\n";
661         print "mon_thousands_sep = ", $lconv->{mon_thousands_sep}, "\n";
662         print "mon_grouping     = ", $lconv->{mon_grouping},    "\n";
663         print "positive_sign    = ", $lconv->{positive_sign},   "\n";
664         print "negative_sign    = ", $lconv->{negative_sign},   "\n";
665         print "int_frac_digits  = ", $lconv->{int_frac_digits}, "\n";
666         print "frac_digits      = ", $lconv->{frac_digits},     "\n";
667         print "p_cs_precedes    = ", $lconv->{p_cs_precedes},   "\n";
668         print "p_sep_by_space   = ", $lconv->{p_sep_by_space},  "\n";
669         print "n_cs_precedes    = ", $lconv->{n_cs_precedes},   "\n";
670         print "n_sep_by_space   = ", $lconv->{n_sep_by_space},  "\n";
671         print "p_sign_posn      = ", $lconv->{p_sign_posn},     "\n";
672         print "n_sign_posn      = ", $lconv->{n_sign_posn},     "\n";
673
674 =item localtime
675
676 This is identical to Perl's builtin C<localtime()> function.
677
678 =item log
679
680 This is identical to Perl's builtin C<log()> function,
681 returning the natural (I<e>-based) logarithm of the numerical argument,
682 see L<perlfunc/log>.
683
684 =item log10
685
686 This is identical to the C function C<log10()>,
687 returning the 10-base logarithm of the numerical argument.
688 You can also use
689
690     sub log10 { log($_[0]) / log(10) }
691
692 or
693
694     sub log10 { log($_[0]) / 2.30258509299405 }  
695
696 or
697
698     sub log10 { log($_[0]) * 0.434294481903252 }
699
700 =item longjmp
701
702 longjmp() is C-specific: use L<perlfunc/die> instead.
703
704 =item lseek
705
706 Move the file's read/write position.  This uses file descriptors such as
707 those obtained by calling C<POSIX::open>.
708
709         $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
710         $off_t = POSIX::lseek( $fd, 0, &POSIX::SEEK_SET );
711
712 Returns C<undef> on failure.
713
714 =item malloc
715
716 malloc() is C-specific.  Perl does memory management transparently.
717
718 =item mblen
719
720 This is identical to the C function C<mblen()>.
721
722 =item mbstowcs
723
724 This is identical to the C function C<mbstowcs()>.
725
726 =item mbtowc
727
728 This is identical to the C function C<mbtowc()>.
729
730 =item memchr
731
732 memchr() is C-specific, see L<perlfunc/index> instead.
733
734 =item memcmp
735
736 memcmp() is C-specific, use C<eq> instead, see L<perlop>.
737
738 =item memcpy
739
740 memcpy() is C-specific, use C<=>, see L<perlop>, or see L<perlfunc/substr>.
741
742 =item memmove
743
744 memmove() is C-specific, use C<=>, see L<perlop>, or see L<perlfunc/substr>.
745
746 =item memset
747
748 memset() is C-specific, use C<x> instead, see L<perlop>.
749
750 =item mkdir
751
752 This is identical to Perl's builtin C<mkdir()> function
753 for creating directories, see L<perlfunc/mkdir>.
754
755 =item mkfifo
756
757 This is similar to the C function C<mkfifo()> for creating
758 FIFO special files.
759
760         if (mkfifo($path, $mode)) { ....
761
762 Returns C<undef> on failure.  The C<$mode> is similar to the
763 mode of C<mkdir()>, see L<perlfunc/mkdir>.
764
765 =item mktime
766
767 Convert date/time info to a calendar time.
768
769 Synopsis:
770
771         mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0)
772
773 The month (C<mon>), weekday (C<wday>), and yearday (C<yday>) begin at zero.
774 I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1.  The
775 year (C<year>) is given in years since 1900.  I.e. The year 1995 is 95; the
776 year 2001 is 101.  Consult your system's C<mktime()> manpage for details
777 about these and the other arguments.
778
779 Calendar time for December 12, 1995, at 10:30 am.
780
781         $time_t = POSIX::mktime( 0, 30, 10, 12, 11, 95 );
782         print "Date = ", POSIX::ctime($time_t);
783
784 Returns C<undef> on failure.
785
786 =item modf
787
788 Return the integral and fractional parts of a floating-point number.
789
790         ($fractional, $integral) = POSIX::modf( 3.14 );
791
792 =item nice
793
794 This is similar to the C function C<nice()>, for changing
795 the scheduling preference of the current process.  Positive
796 arguments mean more polite process, negative values more
797 needy process.  Normal user processes can only be more polite.
798
799 Returns C<undef> on failure.
800
801 =item offsetof
802
803 offsetof() is C-specific, you probably want to see L<perlfunc/pack> instead.
804
805 =item open
806
807 Open a file for reading for writing.  This returns file descriptors, not
808 Perl filehandles.  Use C<POSIX::close> to close the file.
809
810 Open a file read-only with mode 0666.
811
812         $fd = POSIX::open( "foo" );
813
814 Open a file for read and write.
815
816         $fd = POSIX::open( "foo", &POSIX::O_RDWR );
817
818 Open a file for write, with truncation.
819
820         $fd = POSIX::open( "foo", &POSIX::O_WRONLY | &POSIX::O_TRUNC );
821
822 Create a new file with mode 0640.  Set up the file for writing.
823
824         $fd = POSIX::open( "foo", &POSIX::O_CREAT | &POSIX::O_WRONLY, 0640 );
825
826 Returns C<undef> on failure.
827
828 See also L<perlfunc/sysopen>.
829
830 =item opendir
831
832 Open a directory for reading.
833
834         $dir = POSIX::opendir( "/tmp" );
835         @files = POSIX::readdir( $dir );
836         POSIX::closedir( $dir );
837
838 Returns C<undef> on failure.
839
840 =item pathconf
841
842 Retrieves the value of a configurable limit on a file or directory.
843
844 The following will determine the maximum length of the longest allowable
845 pathname on the filesystem which holds C</tmp>.
846
847         $path_max = POSIX::pathconf( "/tmp", &POSIX::_PC_PATH_MAX );
848
849 Returns C<undef> on failure.
850
851 =item pause
852
853 This is similar to the C function C<pause()>, which suspends
854 the execution of the current process until a signal is received.
855
856 Returns C<undef> on failure.
857
858 =item perror
859
860 This is identical to the C function C<perror()>, which outputs to the
861 standard error stream the specified message followed by ": " and the
862 current error string.  Use the C<warn()> function and the C<$!>
863 variable instead, see L<perlfunc/warn> and L<perlvar>.
864
865 =item pipe
866
867 Create an interprocess channel.  This returns file descriptors like those
868 returned by C<POSIX::open>.
869
870         ($fd0, $fd1) = POSIX::pipe();
871         POSIX::write( $fd0, "hello", 5 );
872         POSIX::read( $fd1, $buf, 5 );
873
874 See also L<perlfunc/pipe>.
875
876 =item pow
877
878 Computes C<$x> raised to the power C<$exponent>.
879
880         $ret = POSIX::pow( $x, $exponent );
881
882 You can also use the C<**> operator, see L<perlop>.
883
884 =item printf
885
886 Formats and prints the specified arguments to STDOUT.
887 See also L<perlfunc/printf>.
888
889 =item putc
890
891 putc() is C-specific, see L<perlfunc/print> instead.
892
893 =item putchar
894
895 putchar() is C-specific, see L<perlfunc/print> instead.
896
897 =item puts
898
899 puts() is C-specific, see L<perlfunc/print> instead.
900
901 =item qsort
902
903 qsort() is C-specific, see L<perlfunc/sort> instead.
904
905 =item raise
906
907 Sends the specified signal to the current process.
908 See also L<perlfunc/kill> and the C<$$> in L<perlvar>.
909
910 =item rand
911
912 rand() is non-portable, see L<perlfunc/rand> instead.
913
914 =item read
915
916 Read from a file.  This uses file descriptors such as those obtained by
917 calling C<POSIX::open>.  If the buffer C<$buf> is not large enough for the
918 read then Perl will extend it to make room for the request.
919
920         $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
921         $bytes = POSIX::read( $fd, $buf, 3 );
922
923 Returns C<undef> on failure.
924
925 See also L<perlfunc/sysread>.
926
927 =item readdir
928
929 This is identical to Perl's builtin C<readdir()> function
930 for reading directory entries, see L<perlfunc/readdir>.
931
932 =item realloc
933
934 realloc() is C-specific.  Perl does memory management transparently.
935
936 =item remove
937
938 This is identical to Perl's builtin C<unlink()> function
939 for removing files, see L<perlfunc/unlink>.
940
941 =item rename
942
943 This is identical to Perl's builtin C<rename()> function
944 for renaming files, see L<perlfunc/rename>.
945
946 =item rewind
947
948 Seeks to the beginning of the file.
949
950 =item rewinddir
951
952 This is identical to Perl's builtin C<rewinddir()> function for
953 rewinding directory entry streams, see L<perlfunc/rewinddir>.
954
955 =item rmdir
956
957 This is identical to Perl's builtin C<rmdir()> function
958 for removing (empty) directories, see L<perlfunc/rmdir>.
959
960 =item scanf
961
962 scanf() is C-specific--use <> and regular expressions instead,
963 see L<perlre>.
964
965 =item setgid
966
967 Sets the real group id for this process.
968
969 =item setjmp
970
971 C<setjmp()> is C-specific: use C<eval {}> instead,
972 see L<perlfunc/eval>.
973
974 =item setlocale
975
976 Modifies and queries program's locale.  The following examples assume
977
978         use POSIX qw(setlocale LC_ALL LC_CTYPE);
979
980 has been issued.
981
982 The following will set the traditional UNIX system locale behavior
983 (the second argument C<"C">).
984
985         $loc = setlocale( LC_ALL, "C" );
986
987 The following will query the current LC_CTYPE category.  (No second
988 argument means 'query'.)
989
990         $loc = setlocale( LC_CTYPE );
991
992 The following will set the LC_CTYPE behaviour according to the locale
993 environment variables (the second argument C<"">).
994 Please see your systems L<setlocale(3)> documentation for the locale
995 environment variables' meaning or consult L<perllocale>.
996
997         $loc = setlocale( LC_CTYPE, "" );
998
999 The following will set the LC_COLLATE behaviour to Argentinian
1000 Spanish. B<NOTE>: The naming and availability of locales depends on
1001 your operating system. Please consult L<perllocale> for how to find
1002 out which locales are available in your system.
1003
1004         $loc = setlocale( LC_ALL, "es_AR.ISO8859-1" );
1005
1006 =item setpgid
1007
1008 This is similar to the C function C<setpgid()>.
1009
1010 Returns C<undef> on failure.
1011
1012 =item setsid
1013
1014 This is identical to the C function C<setsid()>.
1015
1016 =item setuid
1017
1018 Sets the real user id for this process.
1019
1020 =item sigaction
1021
1022 Detailed signal management.  This uses C<POSIX::SigAction> objects for the
1023 C<action> and C<oldaction> arguments.  Consult your system's C<sigaction>
1024 manpage for details.
1025
1026 Synopsis:
1027
1028         sigaction(sig, action, oldaction = 0)
1029
1030 Returns C<undef> on failure.
1031
1032 =item siglongjmp
1033
1034 siglongjmp() is C-specific: use L<perlfunc/die> instead.
1035
1036 =item sigpending
1037
1038 Examine signals that are blocked and pending.  This uses C<POSIX::SigSet>
1039 objects for the C<sigset> argument.  Consult your system's C<sigpending>
1040 manpage for details.
1041
1042 Synopsis:
1043
1044         sigpending(sigset)
1045
1046 Returns C<undef> on failure.
1047
1048 =item sigprocmask
1049
1050 Change and/or examine calling process's signal mask.  This uses
1051 C<POSIX::SigSet> objects for the C<sigset> and C<oldsigset> arguments.
1052 Consult your system's C<sigprocmask> manpage for details.
1053
1054 Synopsis:
1055
1056         sigprocmask(how, sigset, oldsigset = 0)
1057
1058 Returns C<undef> on failure.
1059
1060 =item sigsetjmp
1061
1062 C<sigsetjmp()> is C-specific: use C<eval {}> instead,
1063 see L<perlfunc/eval>.
1064
1065 =item sigsuspend
1066
1067 Install a signal mask and suspend process until signal arrives.  This uses
1068 C<POSIX::SigSet> objects for the C<signal_mask> argument.  Consult your
1069 system's C<sigsuspend> manpage for details.
1070
1071 Synopsis:
1072
1073         sigsuspend(signal_mask)
1074
1075 Returns C<undef> on failure.
1076
1077 =item sin
1078
1079 This is identical to Perl's builtin C<sin()> function
1080 for returning the sine of the numerical argument,
1081 see L<perlfunc/sin>.
1082
1083 =item sinh
1084
1085 This is identical to the C function C<sinh()>
1086 for returning the hyperbolic sine of the numerical argument.
1087
1088 =item sleep
1089
1090 This is identical to Perl's builtin C<sleep()> function
1091 for suspending the execution of the current for process
1092 for certain number of seconds, see L<perlfunc/sleep>.
1093
1094 =item sprintf
1095
1096 This is similar to Perl's builtin C<sprintf()> function
1097 for returning a string that has the arguments formatted as requested,
1098 see L<perlfunc/sprintf>.
1099
1100 =item sqrt
1101
1102 This is identical to Perl's builtin C<sqrt()> function.
1103 for returning the square root of the numerical argument,
1104 see L<perlfunc/sqrt>.
1105
1106 =item srand
1107
1108 Give a seed the pseudorandom number generator, see L<perlfunc/srand>.
1109
1110 =item sscanf
1111
1112 sscanf() is C-specific, use regular expressions instead,
1113 see L<perlre>.
1114
1115 =item stat
1116
1117 This is identical to Perl's builtin C<stat()> function.
1118
1119 =item strcat
1120
1121 strcat() is C-specific, use C<.=> instead, see L<perlop>.
1122
1123 =item strchr
1124
1125 strchr() is C-specific, see L<perlfunc/index> instead.
1126
1127 =item strcmp
1128
1129 strcmp() is C-specific, use C<eq> instead, see L<perlop>.
1130
1131 =item strcoll
1132
1133 This is identical to the C function C<strcoll()>
1134 for collating (comparing) strings transformed using
1135 the C<strxfrm()> function.  Not really needed since
1136 Perl can do this transparently, see L<perllocale>.
1137
1138 =item strcpy
1139
1140 strcpy() is C-specific, use C<=> instead, see L<perlop>.
1141
1142 =item strcspn
1143
1144 strcspn() is C-specific, use regular expressions instead.
1145
1146 =item strerror
1147
1148 Returns the error string for the specified errno.
1149 Identical to the string form of the C<$!>, see L<perlvar>.
1150
1151 =item strftime
1152
1153 Convert date and time information to string.  Returns the string.
1154
1155 Synopsis:
1156
1157         strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)
1158
1159 The month (C<mon>), weekday (C<wday>), and yearday (C<yday>) begin at zero.
1160 I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1.  The
1161 year (C<year>) is given in years since 1900.  I.e., the year 1995 is 95; the
1162 year 2001 is 101.  Consult your system's C<strftime()> manpage for details
1163 about these and the other arguments.
1164 If you want your code to be portable, your format (C<fmt>) argument
1165 should use only the conversion specifiers defined by the ANSI C
1166 standard.  These are C<aAbBcdHIjmMpSUwWxXyYZ%>.
1167 The given arguments are made consistent
1168 as though by calling C<mktime()> before calling your system's
1169 C<strftime()> function, except that the C<isdst> value is not affected.
1170
1171 The string for Tuesday, December 12, 1995.
1172
1173         $str = POSIX::strftime( "%A, %B %d, %Y", 0, 0, 0, 12, 11, 95, 2 );
1174         print "$str\n";
1175
1176 =item strlen
1177
1178 strlen() is C-specific, use C<length()> instead, see L<perlfunc/length>.
1179
1180 =item strncat
1181
1182 strncat() is C-specific, use C<.=> instead, see L<perlop>.
1183
1184 =item strncmp
1185
1186 strncmp() is C-specific, use C<eq> instead, see L<perlop>.
1187
1188 =item strncpy
1189
1190 strncpy() is C-specific, use C<=> instead, see L<perlop>.
1191
1192 =item strpbrk
1193
1194 strpbrk() is C-specific, use regular expressions instead, see L<perlre>.
1195
1196 =item strrchr
1197
1198 strrchr() is C-specific, see L<perlfunc/rindex> instead.
1199
1200 =item strspn
1201
1202 strspn() is C-specific, use regular expressions instead,
1203 see L<perlre>.
1204
1205 =item strstr
1206
1207 This is identical to Perl's builtin C<index()> function,
1208 see L<perlfunc/index>.
1209
1210 =item strtod
1211
1212 String to double translation. Returns the parsed number and the number
1213 of characters in the unparsed portion of the string.  Truly
1214 POSIX-compliant systems set $! ($ERRNO) to indicate a translation
1215 error, so clear $! before calling strtod.  However, non-POSIX systems
1216 may not check for overflow, and therefore will never set $!.
1217
1218 strtod should respect any POSIX I<setlocale()> settings.
1219
1220 To parse a string $str as a floating point number use
1221
1222     $! = 0;
1223     ($num, $n_unparsed) = POSIX::strtod($str);
1224
1225 The second returned item and $! can be used to check for valid input:
1226
1227     if (($str eq '') || ($n_unparsed != 0) || !$!) {
1228         die "Non-numeric input $str" . $! ? ": $!\n" : "\n";
1229     }
1230
1231 When called in a scalar context strtod returns the parsed number.
1232
1233 =item strtok
1234
1235 strtok() is C-specific, use regular expressions instead, see
1236 L<perlre>, or L<perlfunc/split>.
1237
1238 =item strtol
1239
1240 String to (long) integer translation.  Returns the parsed number and
1241 the number of characters in the unparsed portion of the string.  Truly
1242 POSIX-compliant systems set $! ($ERRNO) to indicate a translation
1243 error, so clear $! before calling strtol.  However, non-POSIX systems
1244 may not check for overflow, and therefore will never set $!.
1245
1246 strtol should respect any POSIX I<setlocale()> settings.
1247
1248 To parse a string $str as a number in some base $base use
1249
1250     $! = 0;
1251     ($num, $n_unparsed) = POSIX::strtol($str, $base);
1252
1253 The base should be zero or between 2 and 36, inclusive.  When the base
1254 is zero or omitted strtol will use the string itself to determine the
1255 base: a leading "0x" or "0X" means hexadecimal; a leading "0" means
1256 octal; any other leading characters mean decimal.  Thus, "1234" is
1257 parsed as a decimal number, "01234" as an octal number, and "0x1234"
1258 as a hexadecimal number.
1259
1260 The second returned item and $! can be used to check for valid input:
1261
1262     if (($str eq '') || ($n_unparsed != 0) || !$!) {
1263         die "Non-numeric input $str" . $! ? ": $!\n" : "\n";
1264     }
1265
1266 When called in a scalar context strtol returns the parsed number.
1267
1268 =item strtoul
1269
1270 String to unsigned (long) integer translation.  strtoul() is identical
1271 to strtol() except that strtoul() only parses unsigned integers.  See
1272 L</strtol> for details.
1273
1274 Note: Some vendors supply strtod() and strtol() but not strtoul().
1275 Other vendors that do supply strtoul() parse "-1" as a valid value.
1276
1277 =item strxfrm
1278
1279 String transformation.  Returns the transformed string.
1280
1281         $dst = POSIX::strxfrm( $src );
1282
1283 Used in conjunction with the C<strcoll()> function, see L</strcoll>.
1284
1285 Not really needed since Perl can do this transparently, see
1286 L<perllocale>.
1287
1288 =item sysconf
1289
1290 Retrieves values of system configurable variables.
1291
1292 The following will get the machine's clock speed.
1293
1294         $clock_ticks = POSIX::sysconf( &POSIX::_SC_CLK_TCK );
1295
1296 Returns C<undef> on failure.
1297
1298 =item system
1299
1300 This is identical to Perl's builtin C<system()> function, see
1301 L<perlfunc/system>.
1302
1303 =item tan
1304
1305 This is identical to the C function C<tan()>, returning the
1306 tangent of the numerical argument.
1307
1308 =item tanh
1309
1310 This is identical to the C function C<tanh()>, returning the
1311 hyperbolic tangent of the numerical argument.
1312
1313 =item tcdrain
1314
1315 This is similar to the C function C<tcdrain()> for draining
1316 the output queue of its argument stream.
1317
1318 Returns C<undef> on failure.
1319
1320 =item tcflow
1321
1322 This is similar to the C function C<tcflow()> for controlling
1323 the flow of its argument stream.
1324
1325 Returns C<undef> on failure.
1326
1327 =item tcflush
1328
1329 This is similar to the C function C<tcflush()> for flushing
1330 the I/O buffers of its argumeny stream.
1331
1332 Returns C<undef> on failure.
1333
1334 =item tcgetpgrp
1335
1336 This is identical to the C function C<tcgetpgrp()> for returning the
1337 process group id of the foreground process group of the controlling
1338 terminal.
1339
1340 =item tcsendbreak
1341
1342 This is similar to the C function C<tcsendbreak()> for sending
1343 a break on its argument stream.
1344
1345 Returns C<undef> on failure.
1346
1347 =item tcsetpgrp
1348
1349 This is similar to the C function C<tcsetpgrp()> for setting the
1350 process group id of the foreground process group of the controlling
1351 terminal.
1352
1353 Returns C<undef> on failure.
1354
1355 =item time
1356
1357 This is identical to Perl's builtin C<time()> function
1358 for returning the number of seconds since the epoch
1359 (whatever it is for the system), see L<perlfunc/time>.
1360
1361 =item times
1362
1363 The times() function returns elapsed realtime since some point in the past
1364 (such as system startup), user and system times for this process, and user
1365 and system times used by child processes.  All times are returned in clock
1366 ticks.
1367
1368     ($realtime, $user, $system, $cuser, $csystem) = POSIX::times();
1369
1370 Note: Perl's builtin C<times()> function returns four values, measured in
1371 seconds.
1372
1373 =item tmpfile
1374
1375 Use method C<IO::File::new_tmpfile()> instead.
1376
1377 =item tmpnam
1378
1379 Returns a name for a temporary file.
1380
1381         $tmpfile = POSIX::tmpnam();
1382
1383 See also the L<File::Temp> module.
1384
1385 =item tolower
1386
1387 This is identical to the C function, except that it can apply to a single
1388 character or to a whole string.  Consider using the C<lc()> function,
1389 see L<perlfunc/lc>, or the equivalent C<\L> operator inside doublequotish
1390 strings.
1391
1392 =item toupper
1393
1394 This is identical to the C function, except that it can apply to a single
1395 character or to a whole string.  Consider using the C<uc()> function,
1396 see L<perlfunc/uc>, or the equivalent C<\U> operator inside doublequotish
1397 strings.
1398
1399 =item ttyname
1400
1401 This is identical to the C function C<ttyname()> for returning the
1402 name of the current terminal.
1403
1404 =item tzname
1405
1406 Retrieves the time conversion information from the C<tzname> variable.
1407
1408         POSIX::tzset();
1409         ($std, $dst) = POSIX::tzname();
1410
1411 =item tzset
1412
1413 This is identical to the C function C<tzset()> for setting
1414 the current timezone based on the environment variable C<TZ>,
1415 to be used by C<ctime()>, C<localtime()>, C<mktime()>, and C<strftime()>
1416 functions.
1417
1418 =item umask
1419
1420 This is identical to Perl's builtin C<umask()> function
1421 for setting (and querying) the file creation permission mask,
1422 see L<perlfunc/umask>.
1423
1424 =item uname
1425
1426 Get name of current operating system.
1427
1428         ($sysname, $nodename, $release, $version, $machine ) = POSIX::uname();
1429
1430 =item ungetc
1431
1432 Use method C<IO::Handle::ungetc()> instead.
1433
1434 =item unlink
1435
1436 This is identical to Perl's builtin C<unlink()> function
1437 for removing files, see L<perlfunc/unlink>.
1438
1439 =item utime
1440
1441 This is identical to Perl's builtin C<utime()> function
1442 for changing the time stamps of files and directories,
1443 see L<perlfunc/utime>.
1444
1445 =item vfprintf
1446
1447 vfprintf() is C-specific, see L<perlfunc/printf> instead.
1448
1449 =item vprintf
1450
1451 vprintf() is C-specific, see L<perlfunc/printf> instead.
1452
1453 =item vsprintf
1454
1455 vsprintf() is C-specific, see L<perlfunc/sprintf> instead.
1456
1457 =item wait
1458
1459 This is identical to Perl's builtin C<wait()> function,
1460 see L<perlfunc/wait>.
1461
1462 =item waitpid
1463
1464 Wait for a child process to change state.  This is identical to Perl's
1465 builtin C<waitpid()> function, see L<perlfunc/waitpid>.
1466
1467         $pid = POSIX::waitpid( -1, &POSIX::WNOHANG );
1468         print "status = ", ($? / 256), "\n";
1469
1470 =item wcstombs
1471
1472 This is identical to the C function C<wcstombs()>.
1473
1474 =item wctomb
1475
1476 This is identical to the C function C<wctomb()>.
1477
1478 =item write
1479
1480 Write to a file.  This uses file descriptors such as those obtained by
1481 calling C<POSIX::open>.
1482
1483         $fd = POSIX::open( "foo", &POSIX::O_WRONLY );
1484         $buf = "hello";
1485         $bytes = POSIX::write( $b, $buf, 5 );
1486
1487 Returns C<undef> on failure.
1488
1489 See also L<perlfunc/syswrite>.
1490
1491 =back
1492
1493 =head1 CLASSES
1494
1495 =head2 POSIX::SigAction
1496
1497 =over 8
1498
1499 =item new
1500
1501 Creates a new C<POSIX::SigAction> object which corresponds to the C
1502 C<struct sigaction>.  This object will be destroyed automatically when it is
1503 no longer needed.  The first parameter is the fully-qualified name of a sub
1504 which is a signal-handler.  The second parameter is a C<POSIX::SigSet>
1505 object, it defaults to the empty set.  The third parameter contains the
1506 C<sa_flags>, it defaults to 0.
1507
1508         $sigset = POSIX::SigSet->new(SIGINT, SIGQUIT);
1509         $sigaction = POSIX::SigAction->new( 'main::handler', $sigset, &POSIX::SA_NOCLDSTOP );
1510
1511 This C<POSIX::SigAction> object should be used with the C<POSIX::sigaction()>
1512 function.
1513
1514 =back
1515
1516 =head2 POSIX::SigSet
1517
1518 =over 8
1519
1520 =item new
1521
1522 Create a new SigSet object.  This object will be destroyed automatically
1523 when it is no longer needed.  Arguments may be supplied to initialize the
1524 set.
1525
1526 Create an empty set.
1527
1528         $sigset = POSIX::SigSet->new;
1529
1530 Create a set with SIGUSR1.
1531
1532         $sigset = POSIX::SigSet->new( &POSIX::SIGUSR1 );
1533
1534 =item addset
1535
1536 Add a signal to a SigSet object.
1537
1538         $sigset->addset( &POSIX::SIGUSR2 );
1539
1540 Returns C<undef> on failure.
1541
1542 =item delset
1543
1544 Remove a signal from the SigSet object.
1545
1546         $sigset->delset( &POSIX::SIGUSR2 );
1547
1548 Returns C<undef> on failure.
1549
1550 =item emptyset
1551
1552 Initialize the SigSet object to be empty.
1553
1554         $sigset->emptyset();
1555
1556 Returns C<undef> on failure.
1557
1558 =item fillset
1559
1560 Initialize the SigSet object to include all signals.
1561
1562         $sigset->fillset();
1563
1564 Returns C<undef> on failure.
1565
1566 =item ismember
1567
1568 Tests the SigSet object to see if it contains a specific signal.
1569
1570         if( $sigset->ismember( &POSIX::SIGUSR1 ) ){
1571                 print "contains SIGUSR1\n";
1572         }
1573
1574 =back
1575
1576 =head2 POSIX::Termios
1577
1578 =over 8
1579
1580 =item new
1581
1582 Create a new Termios object.  This object will be destroyed automatically
1583 when it is no longer needed.  A Termios object corresponds to the termios
1584 C struct.  new() mallocs a new one, getattr() fills it from a file descriptor,
1585 and setattr() sets a file descriptor's parameters to match Termios' contents.
1586
1587         $termios = POSIX::Termios->new;
1588
1589 =item getattr
1590
1591 Get terminal control attributes.
1592
1593 Obtain the attributes for stdin.
1594
1595         $termios->getattr()
1596
1597 Obtain the attributes for stdout.
1598
1599         $termios->getattr( 1 )
1600
1601 Returns C<undef> on failure.
1602
1603 =item getcc
1604
1605 Retrieve a value from the c_cc field of a termios object.  The c_cc field is
1606 an array so an index must be specified.
1607
1608         $c_cc[1] = $termios->getcc(1);
1609
1610 =item getcflag
1611
1612 Retrieve the c_cflag field of a termios object.
1613
1614         $c_cflag = $termios->getcflag;
1615
1616 =item getiflag
1617
1618 Retrieve the c_iflag field of a termios object.
1619
1620         $c_iflag = $termios->getiflag;
1621
1622 =item getispeed
1623
1624 Retrieve the input baud rate.
1625
1626         $ispeed = $termios->getispeed;
1627
1628 =item getlflag
1629
1630 Retrieve the c_lflag field of a termios object.
1631
1632         $c_lflag = $termios->getlflag;
1633
1634 =item getoflag
1635
1636 Retrieve the c_oflag field of a termios object.
1637
1638         $c_oflag = $termios->getoflag;
1639
1640 =item getospeed
1641
1642 Retrieve the output baud rate.
1643
1644         $ospeed = $termios->getospeed;
1645
1646 =item setattr
1647
1648 Set terminal control attributes.
1649
1650 Set attributes immediately for stdout.
1651
1652         $termios->setattr( 1, &POSIX::TCSANOW );
1653
1654 Returns C<undef> on failure.
1655
1656 =item setcc
1657
1658 Set a value in the c_cc field of a termios object.  The c_cc field is an
1659 array so an index must be specified.
1660
1661         $termios->setcc( &POSIX::VEOF, 1 );
1662
1663 =item setcflag
1664
1665 Set the c_cflag field of a termios object.
1666
1667         $termios->setcflag( $c_cflag | &POSIX::CLOCAL );
1668
1669 =item setiflag
1670
1671 Set the c_iflag field of a termios object.
1672
1673         $termios->setiflag( $c_iflag | &POSIX::BRKINT );
1674
1675 =item setispeed
1676
1677 Set the input baud rate.
1678
1679         $termios->setispeed( &POSIX::B9600 );
1680
1681 Returns C<undef> on failure.
1682
1683 =item setlflag
1684
1685 Set the c_lflag field of a termios object.
1686
1687         $termios->setlflag( $c_lflag | &POSIX::ECHO );
1688
1689 =item setoflag
1690
1691 Set the c_oflag field of a termios object.
1692
1693         $termios->setoflag( $c_oflag | &POSIX::OPOST );
1694
1695 =item setospeed
1696
1697 Set the output baud rate.
1698
1699         $termios->setospeed( &POSIX::B9600 );
1700
1701 Returns C<undef> on failure.
1702
1703 =item Baud rate values
1704
1705 B38400 B75 B200 B134 B300 B1800 B150 B0 B19200 B1200 B9600 B600 B4800 B50 B2400 B110
1706
1707 =item Terminal interface values
1708
1709 TCSADRAIN TCSANOW TCOON TCIOFLUSH TCOFLUSH TCION TCIFLUSH TCSAFLUSH TCIOFF TCOOFF
1710
1711 =item c_cc field values
1712
1713 VEOF VEOL VERASE VINTR VKILL VQUIT VSUSP VSTART VSTOP VMIN VTIME NCCS
1714
1715 =item c_cflag field values
1716
1717 CLOCAL CREAD CSIZE CS5 CS6 CS7 CS8 CSTOPB HUPCL PARENB PARODD
1718
1719 =item c_iflag field values
1720
1721 BRKINT ICRNL IGNBRK IGNCR IGNPAR INLCR INPCK ISTRIP IXOFF IXON PARMRK
1722
1723 =item c_lflag field values
1724
1725 ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH TOSTOP
1726
1727 =item c_oflag field values
1728
1729 OPOST
1730
1731 =back
1732
1733 =head1 PATHNAME CONSTANTS
1734
1735 =over 8
1736
1737 =item Constants
1738
1739 _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
1740
1741 =back
1742
1743 =head1 POSIX CONSTANTS
1744
1745 =over 8
1746
1747 =item Constants
1748
1749 _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
1750
1751 =back
1752
1753 =head1 SYSTEM CONFIGURATION
1754
1755 =over 8
1756
1757 =item Constants
1758
1759 _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
1760
1761 =back
1762
1763 =head1 ERRNO
1764
1765 =over 8
1766
1767 =item Constants
1768
1769 E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY EBADF
1770 EBUSY ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ
1771 EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS EINTR
1772 EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE ENAMETOOLONG
1773 ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODEV ENOENT ENOEXEC
1774 ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR
1775 ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM EPFNOSUPPORT EPIPE
1776 EPROCLIM EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE ERESTART EROFS
1777 ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS
1778 ETXTBSY EUSERS EWOULDBLOCK EXDEV
1779
1780 =back
1781
1782 =head1 FCNTL
1783
1784 =over 8
1785
1786 =item Constants
1787
1788 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
1789
1790 =back
1791
1792 =head1 FLOAT
1793
1794 =over 8
1795
1796 =item Constants
1797
1798 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
1799
1800 =back
1801
1802 =head1 LIMITS
1803
1804 =over 8
1805
1806 =item Constants
1807
1808 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
1809
1810 =back
1811
1812 =head1 LOCALE
1813
1814 =over 8
1815
1816 =item Constants
1817
1818 LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME
1819
1820 =back
1821
1822 =head1 MATH
1823
1824 =over 8
1825
1826 =item Constants
1827
1828 HUGE_VAL
1829
1830 =back
1831
1832 =head1 SIGNAL
1833
1834 =over 8
1835
1836 =item Constants
1837
1838 SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK SA_RESETHAND SA_RESTART
1839 SA_SIGINFO SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT
1840 SIGKILL SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU
1841 SIGUSR1 SIGUSR2 SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK
1842 SIG_UNBLOCK
1843
1844 =back
1845
1846 =head1 STAT
1847
1848 =over 8
1849
1850 =item Constants
1851
1852 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
1853
1854 =item Macros
1855
1856 S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG
1857
1858 =back
1859
1860 =head1 STDLIB
1861
1862 =over 8
1863
1864 =item Constants
1865
1866 EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX RAND_MAX
1867
1868 =back
1869
1870 =head1 STDIO
1871
1872 =over 8
1873
1874 =item Constants
1875
1876 BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid L_tmpname TMP_MAX
1877
1878 =back
1879
1880 =head1 TIME
1881
1882 =over 8
1883
1884 =item Constants
1885
1886 CLK_TCK CLOCKS_PER_SEC
1887
1888 =back
1889
1890 =head1 UNISTD
1891
1892 =over 8
1893
1894 =item Constants
1895
1896 R_OK SEEK_CUR SEEK_END SEEK_SET STDIN_FILENO STDOUT_FILENO STDERR_FILENO W_OK X_OK
1897
1898 =back
1899
1900 =head1 WAIT
1901
1902 =over 8
1903
1904 =item Constants
1905
1906 WNOHANG WUNTRACED
1907
1908 =item Macros
1909
1910 WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG WIFSTOPPED WSTOPSIG
1911
1912 =back
1913
1914 =head1 CREATION
1915
1916 This document generated by ./mkposixman.PL version 19960129.
1917