diff options
Diffstat (limited to 'lib/POSIX.pm')
-rw-r--r-- | lib/POSIX.pm | 1232 |
1 files changed, 0 insertions, 1232 deletions
diff --git a/lib/POSIX.pm b/lib/POSIX.pm deleted file mode 100644 index e2ccbccac0..0000000000 --- a/lib/POSIX.pm +++ /dev/null @@ -1,1232 +0,0 @@ -package POSIX; - -require Exporter; -require AutoLoader; -@ISA = (Exporter, AutoLoader, DynamicLoader); - -$H{assert_h} = [qw(assert NDEBUG)]; - -$H{ctype_h} = [qw(isalnum isalpha iscntrl isdigit isgraph islower - isprint ispunct isspace isupper isxdigit tolower toupper)]; - -$H{dirent_h} = [qw(closedir opendir readdir rewinddir)]; - -$H{errno_h} = [qw(E2BIG EACCES EAGAIN EBADF EBUSY ECHILD EDEADLK EDOM - EEXIST EFAULT EFBIG EINTR EINVAL EIO EISDIR EMFILE - EMLINK ENAMETOOLONG ENFILE ENODEV ENOENT ENOEXEC ENOLCK - ENOMEM ENOSPC ENOSYS ENOTDIR ENOTEMPTY ENOTTY ENXIO - EPERM EPIPE ERANGE EROFS ESPIPE ESRCH EXDEV errno)]; - -$H{fcntl_h} = [qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK 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 - creat fcntl open - SEEK_CUR SEEK_END SEEK_SET - S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU - S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG S_ISUID - S_IWGRP S_IWOTH S_IWUSR)]; - -$H{float_h} = [qw(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)]; - -$H{grp_h} = [qw(getgrgid getgrnam)]; - -$H{limits_h} = [qw( 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 _POSIX_ARG_MAX _POSIX_CHILD_MAX - _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT - _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_OPEN_MAX - _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SSIZE_MAX - _POSIX_STREADM_MAX _POSIX_TZNAME_MAX)]; - -$H{locale_h} = [qw(LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC - LC_TIME NULL localeconv setlocale)]; - -$H{math_h} = [qw(HUGE_VAL acos asin atan2 atan ceil cos cosh exp - fabs floor fmod frexp ldexp log10 log modf pow sin sinh - sqrt tan tanh)]; - -$H{pwd_h} = [qw(getpwnam getpwuid)]; - -$H{setjmp_h} = [qw(longjmp setjmp siglongjmp sigsetjmp)]; - -$H{signal_h} = [qw(SA_NOCLDSTOP SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE - SIGHUP SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV - SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2 - SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK SIG_UNBLOCK - kill raise sigaction signal sigpending sigprocmask - sigsuspend)]; - -$H{stdarg_h} = [qw()]; - -$H{stddef_h} = [qw(NULL offsetof)]; - -$H{stdio_h} = [qw(BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid - L_tmpname NULL SEEK_CUR SEEK_END SEEK_SET STREAM_MAX - TMP_MAX stderr stdin stdout _IOFBF _IOLBF _IONBF - clearerr fclose fdopen feof ferror fflush fgetc fgetpos - fgets fileno fopen fprintf fputc fputs fread freopen - fscanf fseek fsetpos ftell fwrite getc getchar gets - perror printf putc putchar puts remove rename rewind - scanf setbuf setvbuf sprintf sscanf tmpfile tmpnam - ungetc vfprintf vprintf vsprintf)]; - -$H{stdlib_h} = [qw(EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX NULL RAND_MAX - abort abs atexit atof atoi atol bsearch calloc div exit - free getenv labs ldiv malloc mblen mbstowcs mbtowc - qsort rand realloc srand strtod strtol stroul system - wcstombs wctomb)]; - -$H{string_h} = [qw(NULL memchr memcmp memcpy memmove memset strcat - strchr strcmp strcoll strcpy strcspn strerror strlen - strncat strncmp strncpy strpbrk strrchr strspn strstr - strtok strxfrm)]; - -$H{sys_stat_h} = [qw(S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU - S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG - S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR - chmod fstat mkdir mkfifo stat umask)]; - -$H{sys_times_h} = [qw(times)]; - -$H{sys_types_h} = [qw()]; - -$H{sys_utsname_h} = [qw(uname)]; - -$H{sys_wait_h} = [qw(WEXITSTATUS WIFEXITED WIFSIGNALED WIFSTOPPED - WNOHANG WSTOPSIG WTERMSIG WUNTRACED wait waitpid)]; - -$H{termios_h} = [qw( B0 B110 B1200 B134 B150 B1800 B19200 B200 B2400 - B300 B38400 B4800 B50 B600 B75 B9600 BRKINT CLOCAL - CREAD CS5 CS6 CS7 CS8 CSIZE CSTOPB ECHO ECHOE ECHOK - ECHONL HUPCL ICANON ICRNL IEXTEN IGNBRK IGNCR IGNPAR - INLCR INPCK ISIG ISTRIP IXOFF IXON NCCS NOFLSH OPOST - PARENB PARMRK PARODD TCIFLUSH TCIOFF TCIOFLUSH TCION - TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW - TOSTOP VEOF VEOL VERASE VINTR VKILL VMIN VQUIT VSTART - VSTOP VSUSP VTIME - cfgetispeed cfgetospeed cfsetispeed cfsetospeed tcdrain - tcflow tcflush tcgetattr tcsendbreak tcsetattr )]; - -$H{time_h} = [qw(CLK_TCK CLOCKS_PER_SEC NULL asctime clock ctime - difftime gmtime localtime mktime strftime time tzset tzname)]; - -$H{unistd_h} = [qw(F_OK NULL R_OK SEEK_CUR SEEK_END SEEK_SET - STRERR_FILENO STDIN_FILENO STDOUT_FILENO W_OK X_OK - _PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON - _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX - _PC_PIPE_BUF _PC_VDISABLE _POSIX_CHOWN_RESTRICTED - _POSIX_JOB_CONTROL _POSIX_NO_TRUNC _POSIX_SAVED_IDS - _POSIX_VDISABLE _POSIX_VERSION _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 - _exit access alarm chdir chown close ctermid cuserid - dup2 dup execl execle execlp execv execve execvp fork - fpathconf getcwd getegid geteuid getgid getgroups - getlogin getpgrp getpid getppid getuid isatty link - lseek pathconf pause pipe read rmdir setgid setpgid - setsid setuid sleep sysconf tcgetpgrp tcsetpgrp ttyname - unlink write)]; - -$H{utime_h} = [qw(utime)]; - -sub expand { - local (@mylist); - foreach $entry (@_) { - if ($H{$entry}) { - push(@mylist, @{$H{$entry}}); - } - else { - push(@mylist, $entry); - } - } - @mylist; -} - -@EXPORT = expand qw(assert_h ctype_h dirent_h errno_h fcntl_h float_h - grp_h limits_h locale_h math_h pwd_h setjmp_h signal_h - stdarg_h stddef_h stdio_h stdlib_h string_h sys_stat_h - sys_times_h sys_types_h sys_utsname_h sys_wait_h - termios_h time_h unistd_h utime_h); - -sub import { - my $this = shift; - my @list = expand @_; - local $Exporter::ExportLevel = 1; - Exporter::import($this,@list); -} - -sub AUTOLOAD { - if ($AUTOLOAD =~ /::(_?[a-z])/) { - $AutoLoader::AUTOLOAD = $AUTOLOAD; - goto &AutoLoader::AUTOLOAD - } - local $constname = $AUTOLOAD; - $constname =~ s/.*:://; - $val = constant($constname, $_[0]); - if ($! != 0) { - ($pack,$file,$line) = caller; - if ($! =~ /Invalid/) { - die "$constname is not a valid POSIX macro at $file line $line.\n"; - } - else { - die "Your vendor has not defined POSIX macro $constname, used at $file line $line.\n"; - } - } - eval "sub $AUTOLOAD { $val }"; - goto &$AUTOLOAD; -} - -bootstrap POSIX; - -sub usage { - local ($mess, $pack, $file, $line) = @_; - die "Usage: POSIX::$mess at $file line $line\n"; -} - -sub unimpl { - local ($mess, $pack, $file, $line) = @_; - $mess =~ s/xxx//; - die "Unimplemented: POSIX::$mess at $file line $line\n"; -} - -$gensym = "SYM000"; - -sub gensym { - $gensym++; -} - -sub ungensym { - delete $_POSIX{$_[0]}; -} - -1; - -package POSIX::SigAction; - -sub new { - bless {HANDLER => $_[1], MASK => $_[2], FLAGS => $_[3]}; -} -__END__ - -sub assert { - usage "assert(expr)", caller if @_ != 1; - if (!$_[0]) { - local ($pack,$file,$line) = caller; - die "Assertion failed at $file line $line\n"; - } -} - -sub tolower { - usage "tolower(string)", caller if @_ != 1; - lc($_[0]); -} - -sub toupper { - usage "toupper(string)", caller if @_ != 1; - uc($_[0]); -} - -sub closedir { - usage "closedir(dirhandle)", caller if @_ != 1; - closedir($_[0]); - ungensym($_[0]); -} - -sub opendir { - usage "opendir(directory)", caller if @_ != 1; - local($dirhandle) = &gensym; - opendir($dirhandle, $_[0]) - ? $dirhandle - : (ungensym($dirhandle), undef); -} - -sub readdir { - usage "readdir(dirhandle)", caller if @_ != 1; - readdir($_[0]); -} - -sub rewinddir { - usage "rewinddir(dirhandle)", caller if @_ != 1; - rewinddir($_[0]); -} - -sub errno { - usage "errno()", caller if @_ != 0; - $! + 0; -} - -sub creat { - usage "creat(filename, mode)", caller if @_ != 2; - &open($_[0], &O_WRONLY | &O_CREAT | &O_TRUNC, $_[2]); -} - -sub fcntl { - usage "fcntl(filehandle, cmd, arg)", caller if @_ != 3; - fcntl($_[0], $_[1], $_[2]); -} - -sub getgrgid { - usage "getgrgid(gid)", caller if @_ != 1; - getgrgid($_[0]); -} - -sub getgrnam { - usage "getgrnam(name)", caller if @_ != 1; - getgrnam($_[0]); -} - -sub atan2 { - usage "atan2(x,y)", caller if @_ != 2; - atan2($_[0], $_[1]); -} - -sub cos { - usage "cos(x)", caller if @_ != 1; - cos($_[0]); -} - -sub exp { - usage "exp(x)", caller if @_ != 1; - exp($_[0]); -} - -sub fabs { - usage "fabs(x)", caller if @_ != 1; - abs($_[0]); -} - -sub log { - usage "log(x)", caller if @_ != 1; - log($_[0]); -} - -sub pow { - usage "pow(x,exponent)", caller if @_ != 2; - $_[0] ** $_[1]; -} - -sub sin { - usage "sin(x)", caller if @_ != 1; - sin($_[0]); -} - -sub sqrt { - usage "sqrt(x)", caller if @_ != 1; - sqrt($_[0]); -} - -sub tan { - usage "tan(x)", caller if @_ != 1; - tan($_[0]); -} - -sub getpwnam { - usage "getpwnam(name)", caller if @_ != 1; - getpwnam($_[0]); -} - -sub getpwuid { - usage "getpwuid(uid)", caller if @_ != 1; - getpwuid($_[0]); -} - -sub longjmp { - unimpl "longjmp() is C-specific: use die instead", caller; -} - -sub setjmp { - unimpl "setjmp() is C-specific: use eval {} instead", caller; -} - -sub siglongjmp { - unimpl "siglongjmp() is C-specific: use die instead", caller; -} - -sub sigsetjmp { - unimpl "sigsetjmp() is C-specific: use eval {} instead", caller; -} - -sub kill { - usage "kill(pid, sig)", caller if @_ != 2; - kill $_[1], $_[0]; -} - -sub raise { - usage "raise(sig)", caller if @_ != 1; - kill $$, $_[0]; # Is this good enough? -} - -sub offsetof { - unimpl "offsetof() is C-specific, stopped", caller; -} - -sub clearerr { - usage "clearerr(filehandle)", caller if @_ != 1; - seek($_[0], 0, 1); -} - -sub fclose { - unimpl "fclose() is C-specific--use close instead", caller; -} - -sub feof { - usage "feof(filehandle)", caller if @_ != 1; - eof($_[0]); -} - -sub fgetc { - usage "fgetc(filehandle)", caller if @_ != 1; - getc($_[0]); -} - -sub fgetpos { - unimpl "fgetpos(xxx)", caller if @_ != 123; - fgetpos($_[0]); -} - -sub fgets { - usage "fgets(filehandle)", caller if @_ != 1; - local($handle) = @_; - scalar <$handle>; -} - -sub fileno { - usage "fileno(filehandle)", caller if @_ != 1; - fileno($_[0]); -} - -sub fopen { - unimpl "fopen() is C-specific--use open instead", caller; -} - -sub fprintf { - unimpl "fprintf() is C-specific--use printf instead", caller; -} - -sub fputc { - unimpl "fputc() is C-specific--use print instead", caller; -} - -sub fputs { - unimpl "fputs() is C-specific--use print instead", caller; - usage "fputs(string, handle)", caller if @_ != 2; - local($handle) = pop; - print $handle @_; -} - -sub fread { - unimpl "fread() is C-specific--use read instead", caller; - unimpl "fread(xxx)", caller if @_ != 123; - fread($_[0]); -} - -sub freopen { - unimpl "freopen() is C-specific--use open instead", caller; - unimpl "freopen(xxx)", caller if @_ != 123; - freopen($_[0]); -} - -sub fscanf { - unimpl "fscanf() is C-specific--use <> and regular expressions instead", caller; - unimpl "fscanf(xxx)", caller if @_ != 123; - fscanf($_[0]); -} - -sub fseek { - unimpl "fseek() is C-specific--use seek instead", caller; - unimpl "fseek(xxx)", caller if @_ != 123; - fseek($_[0]); -} - -sub fsetpos { - unimpl "fsetpos() is C-specific--use seek instead", caller; - unimpl "fsetpos(xxx)", caller if @_ != 123; - fsetpos($_[0]); -} - -sub ftell { - unimpl "ftell() is C-specific--use tell instead", caller; - unimpl "ftell(xxx)", caller if @_ != 123; - ftell($_[0]); -} - -sub fwrite { - unimpl "fwrite() is C-specific--use print instead", caller; - unimpl "fwrite(xxx)", caller if @_ != 123; - fwrite($_[0]); -} - -sub getc { - usage "getc(handle)", caller if @_ != 1; - getc($_[0]); -} - -sub getchar { - usage "getchar()", caller if @_ != 0; - getc(STDIN); -} - -sub gets { - usage "gets(handle)", caller if @_ != 1; - local($handle) = shift; - scalar <$handle>; -} - -sub perror { - unimpl "perror() is C-specific--print $! instead", caller; - unimpl "perror(xxx)", caller if @_ != 123; - perror($_[0]); -} - -sub printf { - usage "printf(pattern, args...)", caller if @_ < 1; - printf STDOUT @_; -} - -sub putc { - unimpl "putc() is C-specific--use print instead", caller; - unimpl "putc(xxx)", caller if @_ != 123; - putc($_[0]); -} - -sub putchar { - unimpl "putchar() is C-specific--use print instead", caller; - unimpl "putchar(xxx)", caller if @_ != 123; - putchar($_[0]); -} - -sub puts { - unimpl "puts() is C-specific--use print instead", caller; - unimpl "puts(xxx)", caller if @_ != 123; - puts($_[0]); -} - -sub remove { - unimpl "remove(xxx)", caller if @_ != 123; - remove($_[0]); -} - -sub rename { - usage "rename(oldfilename, newfilename)", caller if @_ != 2; - rename($_[0], $_[1]); -} - -sub rewind { - unimpl "rewind(xxx)", caller if @_ != 123; - rewind($_[0]); -} - -sub scanf { - unimpl "scanf(xxx)", caller if @_ != 123; - scanf($_[0]); -} - -sub setbuf { - unimpl "setbuf(xxx)", caller if @_ != 123; - setbuf($_[0]); -} - -sub setvbuf { - unimpl "setvbuf(xxx)", caller if @_ != 123; - setvbuf($_[0]); -} - -sub sprintf { - unimpl "sprintf(xxx)", caller if @_ != 123; - sprintf($_[0]); -} - -sub sscanf { - unimpl "sscanf(xxx)", caller if @_ != 123; - sscanf($_[0]); -} - -sub tmpfile { - unimpl "tmpfile(xxx)", caller if @_ != 123; - tmpfile($_[0]); -} - -sub tmpnam { - unimpl "tmpnam(xxx)", caller if @_ != 123; - tmpnam($_[0]); -} - -sub ungetc { - unimpl "ungetc(xxx)", caller if @_ != 123; - ungetc($_[0]); -} - -sub vfprintf { - unimpl "vfprintf(xxx)", caller if @_ != 123; - vfprintf($_[0]); -} - -sub vprintf { - unimpl "vprintf(xxx)", caller if @_ != 123; - vprintf($_[0]); -} - -sub vsprintf { - unimpl "vsprintf(xxx)", caller if @_ != 123; - vsprintf($_[0]); -} - -sub abort { - unimpl "abort(xxx)", caller if @_ != 123; - abort($_[0]); -} - -sub abs { - usage "abs(x)", caller if @_ != 1; - abs($_[0]); -} - -sub atexit { - unimpl "atexit() is C-specific: use END {} instead", caller; -} - -sub atof { - unimpl "atof() is C-specific, stopped", caller; -} - -sub atoi { - unimpl "atoi() is C-specific, stopped", caller; -} - -sub atol { - unimpl "atol() is C-specific, stopped", caller; -} - -sub bsearch { - unimpl "bsearch(xxx)", caller if @_ != 123; - bsearch($_[0]); -} - -sub calloc { - unimpl "calloc(xxx)", caller if @_ != 123; - calloc($_[0]); -} - -sub div { - unimpl "div(xxx)", caller if @_ != 123; - div($_[0]); -} - -sub exit { - unimpl "exit(xxx)", caller if @_ != 123; - exit($_[0]); -} - -sub free { - unimpl "free(xxx)", caller if @_ != 123; - free($_[0]); -} - -sub getenv { - unimpl "getenv(xxx)", caller if @_ != 123; - getenv($_[0]); -} - -sub labs { - unimpl "labs(xxx)", caller if @_ != 123; - labs($_[0]); -} - -sub ldiv { - unimpl "ldiv(xxx)", caller if @_ != 123; - ldiv($_[0]); -} - -sub malloc { - unimpl "malloc(xxx)", caller if @_ != 123; - malloc($_[0]); -} - -sub mblen { - unimpl "mblen(xxx)", caller if @_ != 123; - mblen($_[0]); -} - -sub mbstowcs { - unimpl "mbstowcs(xxx)", caller if @_ != 123; - mbstowcs($_[0]); -} - -sub mbtowc { - unimpl "mbtowc(xxx)", caller if @_ != 123; - mbtowc($_[0]); -} - -sub qsort { - unimpl "qsort(xxx)", caller if @_ != 123; - qsort($_[0]); -} - -sub rand { - unimpl "rand(xxx)", caller if @_ != 123; - rand($_[0]); -} - -sub realloc { - unimpl "realloc(xxx)", caller if @_ != 123; - realloc($_[0]); -} - -sub srand { - unimpl "srand(xxx)", caller if @_ != 123; - srand($_[0]); -} - -sub strtod { - unimpl "strtod(xxx)", caller if @_ != 123; - strtod($_[0]); -} - -sub strtol { - unimpl "strtol(xxx)", caller if @_ != 123; - strtol($_[0]); -} - -sub stroul { - unimpl "stroul(xxx)", caller if @_ != 123; - stroul($_[0]); -} - -sub system { - usage "system(command)", caller if @_ != 1; - system($_[0]); -} - -sub wcstombs { - unimpl "wcstombs(xxx)", caller if @_ != 123; - wcstombs($_[0]); -} - -sub wctomb { - unimpl "wctomb(xxx)", caller if @_ != 123; - wctomb($_[0]); -} - -sub memchr { - unimpl "memchr(xxx)", caller if @_ != 123; - memchr($_[0]); -} - -sub memcmp { - unimpl "memcmp(xxx)", caller if @_ != 123; - memcmp($_[0]); -} - -sub memcpy { - unimpl "memcpy(xxx)", caller if @_ != 123; - memcpy($_[0]); -} - -sub memmove { - unimpl "memmove(xxx)", caller if @_ != 123; - memmove($_[0]); -} - -sub memset { - unimpl "memset(xxx)", caller if @_ != 123; - memset($_[0]); -} - -sub strcat { - unimpl "strcat(xxx)", caller if @_ != 123; - strcat($_[0]); -} - -sub strchr { - unimpl "strchr(xxx)", caller if @_ != 123; - strchr($_[0]); -} - -sub strcmp { - unimpl "strcmp(xxx)", caller if @_ != 123; - strcmp($_[0]); -} - -sub strcoll { - unimpl "strcoll(xxx)", caller if @_ != 123; - strcoll($_[0]); -} - -sub strcpy { - unimpl "strcpy(xxx)", caller if @_ != 123; - strcpy($_[0]); -} - -sub strcspn { - unimpl "strcspn(xxx)", caller if @_ != 123; - strcspn($_[0]); -} - -sub strerror { - unimpl "strerror(xxx)", caller if @_ != 123; - strerror($_[0]); -} - -sub strlen { - unimpl "strlen(xxx)", caller if @_ != 123; - strlen($_[0]); -} - -sub strncat { - unimpl "strncat(xxx)", caller if @_ != 123; - strncat($_[0]); -} - -sub strncmp { - unimpl "strncmp(xxx)", caller if @_ != 123; - strncmp($_[0]); -} - -sub strncpy { - unimpl "strncpy(xxx)", caller if @_ != 123; - strncpy($_[0]); -} - -sub strpbrk { - unimpl "strpbrk(xxx)", caller if @_ != 123; - strpbrk($_[0]); -} - -sub strrchr { - unimpl "strrchr(xxx)", caller if @_ != 123; - strrchr($_[0]); -} - -sub strspn { - unimpl "strspn(xxx)", caller if @_ != 123; - strspn($_[0]); -} - -sub strstr { - unimpl "strstr(xxx)", caller if @_ != 123; - strstr($_[0]); -} - -sub strtok { - unimpl "strtok(xxx)", caller if @_ != 123; - strtok($_[0]); -} - -sub strxfrm { - unimpl "strxfrm(xxx)", caller if @_ != 123; - strxfrm($_[0]); -} - -sub chmod { - usage "chmod(filename, mode)", caller if @_ != 2; - chmod($_[0], $_[1]); -} - -sub fstat { - usage "fstat(fd)", caller if @_ != 1; - local(*TMP); - open(TMP, "<&$_[0]"); # Gross. - local(@l) = stat(TMP); - close(TMP); - @l; -} - -sub mkdir { - usage "mkdir(directoryname, mode)", caller if @_ != 2; - mkdir($_[0], $_[1]); -} - -sub mkfifo { - unimpl "mkfifo(xxx)", caller if @_ != 123; - mkfifo($_[0]); -} - -sub stat { - usage "stat(filename)", caller if @_ != 1; - stat($_[0]); -} - -sub umask { - usage "umask(mask)", caller if @_ != 1; - umask($_[0]); -} - -sub times { - usage "times()", caller if @_ != 0; - times(); -} - -sub wait { - usage "wait(statusvariable)", caller if @_ != 1; - local $result = wait(); - $_[0] = $?; - $result; -} - -sub waitpid { - usage "waitpid(pid, statusvariable, options)", caller if @_ != 3; - local $result = waitpid($_[0], $_[2]); - $_[1] = $?; - $result; -} - -sub cfgetispeed { - unimpl "cfgetispeed(xxx)", caller if @_ != 123; - cfgetispeed($_[0]); -} - -sub cfgetospeed { - unimpl "cfgetospeed(xxx)", caller if @_ != 123; - cfgetospeed($_[0]); -} - -sub cfsetispeed { - unimpl "cfsetispeed(xxx)", caller if @_ != 123; - cfsetispeed($_[0]); -} - -sub cfsetospeed { - unimpl "cfsetospeed(xxx)", caller if @_ != 123; - cfsetospeed($_[0]); -} - -sub tcdrain { - unimpl "tcdrain(xxx)", caller if @_ != 123; - tcdrain($_[0]); -} - -sub tcflow { - unimpl "tcflow(xxx)", caller if @_ != 123; - tcflow($_[0]); -} - -sub tcflush { - unimpl "tcflush(xxx)", caller if @_ != 123; - tcflush($_[0]); -} - -sub tcgetattr { - unimpl "tcgetattr(xxx)", caller if @_ != 123; - tcgetattr($_[0]); -} - -sub tcsendbreak { - unimpl "tcsendbreak(xxx)", caller if @_ != 123; - tcsendbreak($_[0]); -} - -sub tcsetattr { - unimpl "tcsetattr(xxx)", caller if @_ != 123; - tcsetattr($_[0]); -} - -sub asctime { - unimpl "asctime(xxx)", caller if @_ != 123; - asctime($_[0]); -} - -sub clock { - unimpl "clock(xxx)", caller if @_ != 123; - clock($_[0]); -} - -sub ctime { - unimpl "ctime(xxx)", caller if @_ != 123; - ctime($_[0]); -} - -sub difftime { - unimpl "difftime(xxx)", caller if @_ != 123; - difftime($_[0]); -} - -sub gmtime { - unimpl "gmtime(xxx)", caller if @_ != 123; - gmtime($_[0]); -} - -sub localtime { - unimpl "localtime(xxx)", caller if @_ != 123; - localtime($_[0]); -} - -sub mktime { - unimpl "mktime(xxx)", caller if @_ != 123; - mktime($_[0]); -} - -sub strftime { - unimpl "strftime(xxx)", caller if @_ != 123; - strftime($_[0]); -} - -sub time { - unimpl "time(xxx)", caller if @_ != 123; - time($_[0]); -} - -sub tzset { - unimpl "tzset(xxx)", caller if @_ != 123; - tzset($_[0]); -} - -sub tzname { - unimpl "tzname(xxx)", caller if @_ != 123; - tzname($_[0]); -} - -sub _exit { - unimpl "_exit(xxx)", caller if @_ != 123; - _exit($_[0]); -} - -sub access { - unimpl "access(xxx)", caller if @_ != 123; - access($_[0]); -} - -sub alarm { - unimpl "alarm(xxx)", caller if @_ != 123; - alarm($_[0]); -} - -sub chdir { - unimpl "chdir(xxx)", caller if @_ != 123; - chdir($_[0]); -} - -sub chown { - usage "chown(filename, uid, gid)", caller if @_ != 3; - chown($_[0], $_[1], $_[2]); -} - -sub close { - unimpl "close(xxx)", caller if @_ != 123; - close($_[0]); -} - -sub ctermid { - unimpl "ctermid(xxx)", caller if @_ != 123; - ctermid($_[0]); -} - -sub cuserid { - unimpl "cuserid(xxx)", caller if @_ != 123; - cuserid($_[0]); -} - -sub dup2 { - unimpl "dup2(xxx)", caller if @_ != 123; - dup2($_[0]); -} - -sub dup { - unimpl "dup(xxx)", caller if @_ != 123; - dup($_[0]); -} - -sub execl { - unimpl "execl(xxx)", caller if @_ != 123; - execl($_[0]); -} - -sub execle { - unimpl "execle(xxx)", caller if @_ != 123; - execle($_[0]); -} - -sub execlp { - unimpl "execlp(xxx)", caller if @_ != 123; - execlp($_[0]); -} - -sub execv { - unimpl "execv(xxx)", caller if @_ != 123; - execv($_[0]); -} - -sub execve { - unimpl "execve(xxx)", caller if @_ != 123; - execve($_[0]); -} - -sub execvp { - unimpl "execvp(xxx)", caller if @_ != 123; - execvp($_[0]); -} - -sub fork { - usage "fork()", caller if @_ != 0; - fork; -} - -sub fpathconf { - unimpl "fpathconf(xxx)", caller if @_ != 123; - fpathconf($_[0]); -} - -sub getcwd { - unimpl "getcwd(xxx)", caller if @_ != 123; - getcwd($_[0]); -} - -sub getegid { - usage "getegid()", caller if @_ != 0; - $) + 0; -} - -sub geteuid { - usage "geteuid()", caller if @_ != 0; - $> + 0; -} - -sub getgid { - usage "getgid()", caller if @_ != 0; - $( + 0; -} - -sub getgroups { - usage "getgroups()", caller if @_ != 0; - local(%seen) = (); - grep(!%seen{$_}++, split(' ', $) )); -} - -sub getlogin { - usage "getlogin(xxx)", caller if @_ != 0; - getlogin(); -} - -sub getpgrp { - usage "getpgrp()", caller if @_ != 0; - getpgrp($_[0]); -} - -sub getpid { - usage "getpid()", caller if @_ != 0; - $$; -} - -sub getppid { - usage "getppid()", caller if @_ != 0; - getppid; -} - -sub getuid { - usage "getuid()", caller if @_ != 0; - $<; -} - -sub isatty { - unimpl "isatty(xxx)", caller if @_ != 123; - isatty($_[0]); -} - -sub link { - usage "link(oldfilename, newfilename)", caller if @_ != 2; - link($_[0], $_[1]); -} - -sub lseek { - unimpl "lseek(xxx)", caller if @_ != 123; - lseek($_[0]); -} - -sub pathconf { - unimpl "pathconf(xxx)", caller if @_ != 123; - pathconf($_[0]); -} - -sub pause { - unimpl "pause(xxx)", caller if @_ != 123; - pause($_[0]); -} - -sub pipe { - unimpl "pipe(xxx)", caller if @_ != 123; - pipe($_[0]); -} - -sub read { - unimpl "read(xxx)", caller if @_ != 123; - read($_[0]); -} - -sub rmdir { - usage "rmdir(directoryname)", caller if @_ != 1; - rmdir($_[0]); -} - -sub setgid { - unimpl "setgid(xxx)", caller if @_ != 123; - setgid($_[0]); -} - -sub setpgid { - unimpl "setpgid(xxx)", caller if @_ != 123; - setpgid($_[0]); -} - -sub setsid { - unimpl "setsid(xxx)", caller if @_ != 123; - setsid($_[0]); -} - -sub setuid { - unimpl "setuid(xxx)", caller if @_ != 123; - setuid($_[0]); -} - -sub sleep { - unimpl "sleep(xxx)", caller if @_ != 123; - sleep($_[0]); -} - -sub sysconf { - unimpl "sysconf(xxx)", caller if @_ != 123; - sysconf($_[0]); -} - -sub tcgetpgrp { - unimpl "tcgetpgrp(xxx)", caller if @_ != 123; - tcgetpgrp($_[0]); -} - -sub tcsetpgrp { - unimpl "tcsetpgrp(xxx)", caller if @_ != 123; - tcsetpgrp($_[0]); -} - -sub ttyname { - unimpl "ttyname(xxx)", caller if @_ != 123; - ttyname($_[0]); -} - -sub unlink { - usage "unlink(filename)", caller if @_ != 1; - unlink($_[0]); -} - -sub write { - unimpl "write(xxx)", caller if @_ != 123; - write($_[0]); -} - -sub utime { - usage "utime(filename, atime, mtime)", caller if @_ != 3; - utime($_[1], $_[2], $_[0]); -} - |