Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / lib / 5.8.0 / sun4-solaris / POSIX.pm
CommitLineData
86530b38
AT
1package POSIX;
2
3our(@ISA, %EXPORT_TAGS, @EXPORT_OK, $AUTOLOAD) = ();
4
5use AutoLoader;
6
7use XSLoader ();
8
9our $VERSION = "1.05" ;
10
11# Grandfather old foo_h form to new :foo_h form
12my $loaded;
13
14sub import {
15 load_imports() unless $loaded++;
16 my $this = shift;
17 my @list = map { m/^\w+_h$/ ? ":$_" : $_ } @_;
18 local $Exporter::ExportLevel = 1;
19 Exporter::import($this,@list);
20}
21
22sub croak { require Carp; goto &Carp::croak }
23# declare usage to assist AutoLoad
24sub usage;
25
26XSLoader::load 'POSIX', $VERSION;
27
28my %NON_CONSTS = (map {($_,1)}
29 qw(S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG WEXITSTATUS
30 WIFEXITED WIFSIGNALED WIFSTOPPED WSTOPSIG WTERMSIG));
31
32sub AUTOLOAD {
33 if ($AUTOLOAD =~ /::(_?[a-z])/) {
34 # require AutoLoader;
35 $AutoLoader::AUTOLOAD = $AUTOLOAD;
36 goto &AutoLoader::AUTOLOAD
37 }
38 local $! = 0;
39 my $constname = $AUTOLOAD;
40 $constname =~ s/.*:://;
41 if ($NON_CONSTS{$constname}) {
42 my ($val, $error) = &int_macro_int($constname, $_[0]);
43 croak $error if $error;
44 *$AUTOLOAD = sub { &int_macro_int($constname, $_[0]) };
45 } else {
46 my ($error, $val) = constant($constname);
47 croak $error if $error;
48 *$AUTOLOAD = sub { $val };
49 }
50
51 goto &$AUTOLOAD;
52}
53
54sub POSIX::SigAction::new {
55 bless {HANDLER => $_[1], MASK => $_[2], FLAGS => $_[3] || 0}, $_[0];
56}
57
581;
59__END__
60
61sub usage {
62 my ($mess) = @_;
63 croak "Usage: POSIX::$mess";
64}
65
66sub redef {
67 my ($mess) = @_;
68 croak "Use method $mess instead";
69}
70
71sub unimpl {
72 my ($mess) = @_;
73 $mess =~ s/xxx//;
74 croak "Unimplemented: POSIX::$mess";
75}
76
77sub assert {
78 usage "assert(expr)" if @_ != 1;
79 if (!$_[0]) {
80 croak "Assertion failed";
81 }
82}
83
84sub tolower {
85 usage "tolower(string)" if @_ != 1;
86 lc($_[0]);
87}
88
89sub toupper {
90 usage "toupper(string)" if @_ != 1;
91 uc($_[0]);
92}
93
94sub closedir {
95 usage "closedir(dirhandle)" if @_ != 1;
96 CORE::closedir($_[0]);
97}
98
99sub opendir {
100 usage "opendir(directory)" if @_ != 1;
101 my $dirhandle;
102 CORE::opendir($dirhandle, $_[0])
103 ? $dirhandle
104 : undef;
105}
106
107sub readdir {
108 usage "readdir(dirhandle)" if @_ != 1;
109 CORE::readdir($_[0]);
110}
111
112sub rewinddir {
113 usage "rewinddir(dirhandle)" if @_ != 1;
114 CORE::rewinddir($_[0]);
115}
116
117sub errno {
118 usage "errno()" if @_ != 0;
119 $! + 0;
120}
121
122sub creat {
123 usage "creat(filename, mode)" if @_ != 2;
124 &open($_[0], &O_WRONLY | &O_CREAT | &O_TRUNC, $_[1]);
125}
126
127sub fcntl {
128 usage "fcntl(filehandle, cmd, arg)" if @_ != 3;
129 CORE::fcntl($_[0], $_[1], $_[2]);
130}
131
132sub getgrgid {
133 usage "getgrgid(gid)" if @_ != 1;
134 CORE::getgrgid($_[0]);
135}
136
137sub getgrnam {
138 usage "getgrnam(name)" if @_ != 1;
139 CORE::getgrnam($_[0]);
140}
141
142sub atan2 {
143 usage "atan2(x,y)" if @_ != 2;
144 CORE::atan2($_[0], $_[1]);
145}
146
147sub cos {
148 usage "cos(x)" if @_ != 1;
149 CORE::cos($_[0]);
150}
151
152sub exp {
153 usage "exp(x)" if @_ != 1;
154 CORE::exp($_[0]);
155}
156
157sub fabs {
158 usage "fabs(x)" if @_ != 1;
159 CORE::abs($_[0]);
160}
161
162sub log {
163 usage "log(x)" if @_ != 1;
164 CORE::log($_[0]);
165}
166
167sub pow {
168 usage "pow(x,exponent)" if @_ != 2;
169 $_[0] ** $_[1];
170}
171
172sub sin {
173 usage "sin(x)" if @_ != 1;
174 CORE::sin($_[0]);
175}
176
177sub sqrt {
178 usage "sqrt(x)" if @_ != 1;
179 CORE::sqrt($_[0]);
180}
181
182sub getpwnam {
183 usage "getpwnam(name)" if @_ != 1;
184 CORE::getpwnam($_[0]);
185}
186
187sub getpwuid {
188 usage "getpwuid(uid)" if @_ != 1;
189 CORE::getpwuid($_[0]);
190}
191
192sub longjmp {
193 unimpl "longjmp() is C-specific: use die instead";
194}
195
196sub setjmp {
197 unimpl "setjmp() is C-specific: use eval {} instead";
198}
199
200sub siglongjmp {
201 unimpl "siglongjmp() is C-specific: use die instead";
202}
203
204sub sigsetjmp {
205 unimpl "sigsetjmp() is C-specific: use eval {} instead";
206}
207
208sub kill {
209 usage "kill(pid, sig)" if @_ != 2;
210 CORE::kill $_[1], $_[0];
211}
212
213sub raise {
214 usage "raise(sig)" if @_ != 1;
215 CORE::kill $_[0], $$; # Is this good enough?
216}
217
218sub offsetof {
219 unimpl "offsetof() is C-specific, stopped";
220}
221
222sub clearerr {
223 redef "IO::Handle::clearerr()";
224}
225
226sub fclose {
227 redef "IO::Handle::close()";
228}
229
230sub fdopen {
231 redef "IO::Handle::new_from_fd()";
232}
233
234sub feof {
235 redef "IO::Handle::eof()";
236}
237
238sub fgetc {
239 redef "IO::Handle::getc()";
240}
241
242sub fgets {
243 redef "IO::Handle::gets()";
244}
245
246sub fileno {
247 redef "IO::Handle::fileno()";
248}
249
250sub fopen {
251 redef "IO::File::open()";
252}
253
254sub fprintf {
255 unimpl "fprintf() is C-specific--use printf instead";
256}
257
258sub fputc {
259 unimpl "fputc() is C-specific--use print instead";
260}
261
262sub fputs {
263 unimpl "fputs() is C-specific--use print instead";
264}
265
266sub fread {
267 unimpl "fread() is C-specific--use read instead";
268}
269
270sub freopen {
271 unimpl "freopen() is C-specific--use open instead";
272}
273
274sub fscanf {
275 unimpl "fscanf() is C-specific--use <> and regular expressions instead";
276}
277
278sub fseek {
279 redef "IO::Seekable::seek()";
280}
281
282sub ferror {
283 redef "IO::Handle::error()";
284}
285
286sub fflush {
287 redef "IO::Handle::flush()";
288}
289
290sub fgetpos {
291 redef "IO::Seekable::getpos()";
292}
293
294sub fsetpos {
295 redef "IO::Seekable::setpos()";
296}
297
298sub ftell {
299 redef "IO::Seekable::tell()";
300}
301
302sub fwrite {
303 unimpl "fwrite() is C-specific--use print instead";
304}
305
306sub getc {
307 usage "getc(handle)" if @_ != 1;
308 CORE::getc($_[0]);
309}
310
311sub getchar {
312 usage "getchar()" if @_ != 0;
313 CORE::getc(STDIN);
314}
315
316sub gets {
317 usage "gets()" if @_ != 0;
318 scalar <STDIN>;
319}
320
321sub perror {
322 print STDERR "@_: " if @_;
323 print STDERR $!,"\n";
324}
325
326sub printf {
327 usage "printf(pattern, args...)" if @_ < 1;
328 CORE::printf STDOUT @_;
329}
330
331sub putc {
332 unimpl "putc() is C-specific--use print instead";
333}
334
335sub putchar {
336 unimpl "putchar() is C-specific--use print instead";
337}
338
339sub puts {
340 unimpl "puts() is C-specific--use print instead";
341}
342
343sub remove {
344 usage "remove(filename)" if @_ != 1;
345 CORE::unlink($_[0]);
346}
347
348sub rename {
349 usage "rename(oldfilename, newfilename)" if @_ != 2;
350 CORE::rename($_[0], $_[1]);
351}
352
353sub rewind {
354 usage "rewind(filehandle)" if @_ != 1;
355 CORE::seek($_[0],0,0);
356}
357
358sub scanf {
359 unimpl "scanf() is C-specific--use <> and regular expressions instead";
360}
361
362sub sprintf {
363 usage "sprintf(pattern,args)" if @_ == 0;
364 CORE::sprintf(shift,@_);
365}
366
367sub sscanf {
368 unimpl "sscanf() is C-specific--use regular expressions instead";
369}
370
371sub tmpfile {
372 redef "IO::File::new_tmpfile()";
373}
374
375sub ungetc {
376 redef "IO::Handle::ungetc()";
377}
378
379sub vfprintf {
380 unimpl "vfprintf() is C-specific";
381}
382
383sub vprintf {
384 unimpl "vprintf() is C-specific";
385}
386
387sub vsprintf {
388 unimpl "vsprintf() is C-specific";
389}
390
391sub abs {
392 usage "abs(x)" if @_ != 1;
393 CORE::abs($_[0]);
394}
395
396sub atexit {
397 unimpl "atexit() is C-specific: use END {} instead";
398}
399
400sub atof {
401 unimpl "atof() is C-specific, stopped";
402}
403
404sub atoi {
405 unimpl "atoi() is C-specific, stopped";
406}
407
408sub atol {
409 unimpl "atol() is C-specific, stopped";
410}
411
412sub bsearch {
413 unimpl "bsearch() not supplied";
414}
415
416sub calloc {
417 unimpl "calloc() is C-specific, stopped";
418}
419
420sub div {
421 unimpl "div() is C-specific, stopped";
422}
423
424sub exit {
425 usage "exit(status)" if @_ != 1;
426 CORE::exit($_[0]);
427}
428
429sub free {
430 unimpl "free() is C-specific, stopped";
431}
432
433sub getenv {
434 usage "getenv(name)" if @_ != 1;
435 $ENV{$_[0]};
436}
437
438sub labs {
439 unimpl "labs() is C-specific, use abs instead";
440}
441
442sub ldiv {
443 unimpl "ldiv() is C-specific, use / and int instead";
444}
445
446sub malloc {
447 unimpl "malloc() is C-specific, stopped";
448}
449
450sub qsort {
451 unimpl "qsort() is C-specific, use sort instead";
452}
453
454sub rand {
455 unimpl "rand() is non-portable, use Perl's rand instead";
456}
457
458sub realloc {
459 unimpl "realloc() is C-specific, stopped";
460}
461
462sub srand {
463 unimpl "srand()";
464}
465
466sub system {
467 usage "system(command)" if @_ != 1;
468 CORE::system($_[0]);
469}
470
471sub memchr {
472 unimpl "memchr() is C-specific, use index() instead";
473}
474
475sub memcmp {
476 unimpl "memcmp() is C-specific, use eq instead";
477}
478
479sub memcpy {
480 unimpl "memcpy() is C-specific, use = instead";
481}
482
483sub memmove {
484 unimpl "memmove() is C-specific, use = instead";
485}
486
487sub memset {
488 unimpl "memset() is C-specific, use x instead";
489}
490
491sub strcat {
492 unimpl "strcat() is C-specific, use .= instead";
493}
494
495sub strchr {
496 unimpl "strchr() is C-specific, use index() instead";
497}
498
499sub strcmp {
500 unimpl "strcmp() is C-specific, use eq instead";
501}
502
503sub strcpy {
504 unimpl "strcpy() is C-specific, use = instead";
505}
506
507sub strcspn {
508 unimpl "strcspn() is C-specific, use regular expressions instead";
509}
510
511sub strerror {
512 usage "strerror(errno)" if @_ != 1;
513 local $! = $_[0];
514 $! . "";
515}
516
517sub strlen {
518 unimpl "strlen() is C-specific, use length instead";
519}
520
521sub strncat {
522 unimpl "strncat() is C-specific, use .= instead";
523}
524
525sub strncmp {
526 unimpl "strncmp() is C-specific, use eq instead";
527}
528
529sub strncpy {
530 unimpl "strncpy() is C-specific, use = instead";
531}
532
533sub strpbrk {
534 unimpl "strpbrk() is C-specific, stopped";
535}
536
537sub strrchr {
538 unimpl "strrchr() is C-specific, use rindex() instead";
539}
540
541sub strspn {
542 unimpl "strspn() is C-specific, stopped";
543}
544
545sub strstr {
546 usage "strstr(big, little)" if @_ != 2;
547 CORE::index($_[0], $_[1]);
548}
549
550sub strtok {
551 unimpl "strtok() is C-specific, stopped";
552}
553
554sub chmod {
555 usage "chmod(mode, filename)" if @_ != 2;
556 CORE::chmod($_[0], $_[1]);
557}
558
559sub fstat {
560 usage "fstat(fd)" if @_ != 1;
561 local *TMP;
562 CORE::open(TMP, "<&$_[0]"); # Gross.
563 my @l = CORE::stat(TMP);
564 CORE::close(TMP);
565 @l;
566}
567
568sub mkdir {
569 usage "mkdir(directoryname, mode)" if @_ != 2;
570 CORE::mkdir($_[0], $_[1]);
571}
572
573sub stat {
574 usage "stat(filename)" if @_ != 1;
575 CORE::stat($_[0]);
576}
577
578sub umask {
579 usage "umask(mask)" if @_ != 1;
580 CORE::umask($_[0]);
581}
582
583sub wait {
584 usage "wait()" if @_ != 0;
585 CORE::wait();
586}
587
588sub waitpid {
589 usage "waitpid(pid, options)" if @_ != 2;
590 CORE::waitpid($_[0], $_[1]);
591}
592
593sub gmtime {
594 usage "gmtime(time)" if @_ != 1;
595 CORE::gmtime($_[0]);
596}
597
598sub localtime {
599 usage "localtime(time)" if @_ != 1;
600 CORE::localtime($_[0]);
601}
602
603sub time {
604 usage "time()" if @_ != 0;
605 CORE::time;
606}
607
608sub alarm {
609 usage "alarm(seconds)" if @_ != 1;
610 CORE::alarm($_[0]);
611}
612
613sub chdir {
614 usage "chdir(directory)" if @_ != 1;
615 CORE::chdir($_[0]);
616}
617
618sub chown {
619 usage "chown(filename, uid, gid)" if @_ != 3;
620 CORE::chown($_[0], $_[1], $_[2]);
621}
622
623sub execl {
624 unimpl "execl() is C-specific, stopped";
625}
626
627sub execle {
628 unimpl "execle() is C-specific, stopped";
629}
630
631sub execlp {
632 unimpl "execlp() is C-specific, stopped";
633}
634
635sub execv {
636 unimpl "execv() is C-specific, stopped";
637}
638
639sub execve {
640 unimpl "execve() is C-specific, stopped";
641}
642
643sub execvp {
644 unimpl "execvp() is C-specific, stopped";
645}
646
647sub fork {
648 usage "fork()" if @_ != 0;
649 CORE::fork;
650}
651
652sub getegid {
653 usage "getegid()" if @_ != 0;
654 $) + 0;
655}
656
657sub geteuid {
658 usage "geteuid()" if @_ != 0;
659 $> + 0;
660}
661
662sub getgid {
663 usage "getgid()" if @_ != 0;
664 $( + 0;
665}
666
667sub getgroups {
668 usage "getgroups()" if @_ != 0;
669 my %seen;
670 grep(!$seen{$_}++, split(' ', $) ));
671}
672
673sub getlogin {
674 usage "getlogin()" if @_ != 0;
675 CORE::getlogin();
676}
677
678sub getpgrp {
679 usage "getpgrp()" if @_ != 0;
680 CORE::getpgrp;
681}
682
683sub getpid {
684 usage "getpid()" if @_ != 0;
685 $$;
686}
687
688sub getppid {
689 usage "getppid()" if @_ != 0;
690 CORE::getppid;
691}
692
693sub getuid {
694 usage "getuid()" if @_ != 0;
695 $<;
696}
697
698sub isatty {
699 usage "isatty(filehandle)" if @_ != 1;
700 -t $_[0];
701}
702
703sub link {
704 usage "link(oldfilename, newfilename)" if @_ != 2;
705 CORE::link($_[0], $_[1]);
706}
707
708sub rmdir {
709 usage "rmdir(directoryname)" if @_ != 1;
710 CORE::rmdir($_[0]);
711}
712
713sub setbuf {
714 redef "IO::Handle::setbuf()";
715}
716
717sub setvbuf {
718 redef "IO::Handle::setvbuf()";
719}
720
721sub sleep {
722 usage "sleep(seconds)" if @_ != 1;
723 $_[0] - CORE::sleep($_[0]);
724}
725
726sub unlink {
727 usage "unlink(filename)" if @_ != 1;
728 CORE::unlink($_[0]);
729}
730
731sub utime {
732 usage "utime(filename, atime, mtime)" if @_ != 3;
733 CORE::utime($_[1], $_[2], $_[0]);
734}
735
736sub load_imports {
737%EXPORT_TAGS = (
738
739 assert_h => [qw(assert NDEBUG)],
740
741 ctype_h => [qw(isalnum isalpha iscntrl isdigit isgraph islower
742 isprint ispunct isspace isupper isxdigit tolower toupper)],
743
744 dirent_h => [],
745
746 errno_h => [qw(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT
747 EAGAIN EALREADY EBADF EBUSY ECHILD ECONNABORTED
748 ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT
749 EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS
750 EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
751 EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH
752 ENFILE ENOBUFS ENODEV ENOENT ENOEXEC ENOLCK ENOMEM
753 ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR
754 ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM
755 EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE
756 ERANGE EREMOTE ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT
757 ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS ETXTBSY
758 EUSERS EWOULDBLOCK EXDEV errno)],
759
760 fcntl_h => [qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK
761 F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK
762 O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK
763 O_RDONLY O_RDWR O_TRUNC O_WRONLY
764 creat
765 SEEK_CUR SEEK_END SEEK_SET
766 S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU
767 S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG S_ISUID
768 S_IWGRP S_IWOTH S_IWUSR)],
769
770 float_h => [qw(DBL_DIG DBL_EPSILON DBL_MANT_DIG
771 DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP
772 DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP
773 FLT_DIG FLT_EPSILON FLT_MANT_DIG
774 FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP
775 FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP
776 FLT_RADIX FLT_ROUNDS
777 LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG
778 LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP
779 LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP)],
780
781 grp_h => [],
782
783 limits_h => [qw( ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX
784 INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON
785 MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX
786 PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN
787 SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX
788 ULONG_MAX USHRT_MAX _POSIX_ARG_MAX _POSIX_CHILD_MAX
789 _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT
790 _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_OPEN_MAX
791 _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SSIZE_MAX
792 _POSIX_STREAM_MAX _POSIX_TZNAME_MAX)],
793
794 locale_h => [qw(LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES
795 LC_MONETARY LC_NUMERIC LC_TIME NULL
796 localeconv setlocale)],
797
798 math_h => [qw(HUGE_VAL acos asin atan ceil cosh fabs floor fmod
799 frexp ldexp log10 modf pow sinh tan tanh)],
800
801 pwd_h => [],
802
803 setjmp_h => [qw(longjmp setjmp siglongjmp sigsetjmp)],
804
805 signal_h => [qw(SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK
806 SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM
807 SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL
808 SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN
809 SIGTTOU SIGUSR1 SIGUSR2 SIG_BLOCK SIG_DFL SIG_ERR
810 SIG_IGN SIG_SETMASK SIG_UNBLOCK raise sigaction signal
811 sigpending sigprocmask sigsuspend)],
812
813 stdarg_h => [],
814
815 stddef_h => [qw(NULL offsetof)],
816
817 stdio_h => [qw(BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid
818 L_tmpname NULL SEEK_CUR SEEK_END SEEK_SET
819 STREAM_MAX TMP_MAX stderr stdin stdout
820 clearerr fclose fdopen feof ferror fflush fgetc fgetpos
821 fgets fopen fprintf fputc fputs fread freopen
822 fscanf fseek fsetpos ftell fwrite getchar gets
823 perror putc putchar puts remove rewind
824 scanf setbuf setvbuf sscanf tmpfile tmpnam
825 ungetc vfprintf vprintf vsprintf)],
826
827 stdlib_h => [qw(EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX NULL RAND_MAX
828 abort atexit atof atoi atol bsearch calloc div
829 free getenv labs ldiv malloc mblen mbstowcs mbtowc
830 qsort realloc strtod strtol strtoul wcstombs wctomb)],
831
832 string_h => [qw(NULL memchr memcmp memcpy memmove memset strcat
833 strchr strcmp strcoll strcpy strcspn strerror strlen
834 strncat strncmp strncpy strpbrk strrchr strspn strstr
835 strtok strxfrm)],
836
837 sys_stat_h => [qw(S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU
838 S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG
839 S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR
840 fstat mkfifo)],
841
842 sys_times_h => [],
843
844 sys_types_h => [],
845
846 sys_utsname_h => [qw(uname)],
847
848 sys_wait_h => [qw(WEXITSTATUS WIFEXITED WIFSIGNALED WIFSTOPPED
849 WNOHANG WSTOPSIG WTERMSIG WUNTRACED)],
850
851 termios_h => [qw( B0 B110 B1200 B134 B150 B1800 B19200 B200 B2400
852 B300 B38400 B4800 B50 B600 B75 B9600 BRKINT CLOCAL
853 CREAD CS5 CS6 CS7 CS8 CSIZE CSTOPB ECHO ECHOE ECHOK
854 ECHONL HUPCL ICANON ICRNL IEXTEN IGNBRK IGNCR IGNPAR
855 INLCR INPCK ISIG ISTRIP IXOFF IXON NCCS NOFLSH OPOST
856 PARENB PARMRK PARODD TCIFLUSH TCIOFF TCIOFLUSH TCION
857 TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW
858 TOSTOP VEOF VEOL VERASE VINTR VKILL VMIN VQUIT VSTART
859 VSTOP VSUSP VTIME
860 cfgetispeed cfgetospeed cfsetispeed cfsetospeed tcdrain
861 tcflow tcflush tcgetattr tcsendbreak tcsetattr )],
862
863 time_h => [qw(CLK_TCK CLOCKS_PER_SEC NULL asctime clock ctime
864 difftime mktime strftime tzset tzname)],
865
866 unistd_h => [qw(F_OK NULL R_OK SEEK_CUR SEEK_END SEEK_SET
867 STDERR_FILENO STDIN_FILENO STDOUT_FILENO W_OK X_OK
868 _PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON
869 _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX
870 _PC_PIPE_BUF _PC_VDISABLE _POSIX_CHOWN_RESTRICTED
871 _POSIX_JOB_CONTROL _POSIX_NO_TRUNC _POSIX_SAVED_IDS
872 _POSIX_VDISABLE _POSIX_VERSION _SC_ARG_MAX
873 _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL
874 _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_PAGESIZE _SC_SAVED_IDS
875 _SC_STREAM_MAX _SC_TZNAME_MAX _SC_VERSION
876 _exit access ctermid cuserid
877 dup2 dup execl execle execlp execv execve execvp
878 fpathconf getcwd getegid geteuid getgid getgroups
879 getpid getuid isatty lseek pathconf pause setgid setpgid
880 setsid setuid sysconf tcgetpgrp tcsetpgrp ttyname)],
881
882 utime_h => [],
883
884);
885
886# Exporter::export_tags();
887for (values %EXPORT_TAGS) {
888 push @EXPORT, @$_;
889}
890
891@EXPORT_OK = qw(
892 abs
893 alarm
894 atan2
895 chdir
896 chmod
897 chown
898 close
899 closedir
900 cos
901 exit
902 exp
903 fcntl
904 fileno
905 fork
906 getc
907 getgrgid
908 getgrnam
909 getlogin
910 getpgrp
911 getppid
912 getpwnam
913 getpwuid
914 gmtime
915 isatty
916 kill
917 link
918 localtime
919 log
920 mkdir
921 nice
922 open
923 opendir
924 pipe
925 printf
926 rand
927 read
928 readdir
929 rename
930 rewinddir
931 rmdir
932 sin
933 sleep
934 sprintf
935 sqrt
936 srand
937 stat
938 system
939 time
940 times
941 umask
942 unlink
943 utime
944 wait
945 waitpid
946 write
947);
948
949require Exporter;
950}