POSIX-2008
view release on metacpan or search on metacpan
#undef fstat
#undef lstat
#undef readlink
# if !defined(_WIN32) || defined(__CYGWIN__)
#undef abort
#undef access
#undef chdir
#undef fchdir
#undef chmod
#undef fchmod
#undef chown
#undef fchown
#undef fdopen
#undef fdopendir
#undef getegid
#undef geteuid
#undef getgid
#undef gethostname
#undef getuid
#undef isatty
#undef killpg
#undef link
RETVAL = -1;
#endif
}
OUTPUT:
RETVAL
#endif
#ifdef PSX2008_HAS_CHOWN
SysRetTrue
chown(SV *what, uid_t owner, gid_t group);
CODE:
SvGETMAGIC(what);
if (!SvOK(what)) {
errno = ENOENT;
RETVAL = -1;
}
else if (SvPOK(what)) {
const char *path = SvPV_nomg_const_nolen(what);
RETVAL = chown(path, owner, group);
}
else {
#ifdef PSX2008_HAS_FCHOWN
int fd = _psx_fileno(aTHX_ what);
RETVAL = fchown(fd, owner, group);
#else
errno = ENOSYS;
RETVAL = -1;
#endif
}
OUTPUT:
RETVAL
#endif
else
RETVAL = NULL;
}
OUTPUT:
RETVAL
#endif
#ifdef PSX2008_HAS_LCHOWN
SysRetTrue
lchown(const char *path, uid_t owner, gid_t group);
#endif
#ifdef PSX2008_HAS_ACCESS
SysRetTrue
access(const char *path, int mode);
#endif
#ifdef PSX2008_HAS_FDATASYNC
#endif
#ifdef PSX2008_HAS_FCHMODAT
SysRetTrue
fchmodat(psx_fd_t dirfd, const char *path, mode_t mode, int flags=0);
#endif
#ifdef PSX2008_HAS_FCHOWNAT
SysRetTrue
fchownat(psx_fd_t dirfd, \
const char *path, uid_t owner, gid_t group, int flags=0);
#endif
#ifdef PSX2008_HAS_FSTATAT
void
fstatat(psx_fd_t dirfd, const char *path, int flags=0);
INIT:
int rv;
struct stat buf;
- Fixed catclose(), dlclose(), killpg(), set*gid(), set*uid(), sig*()
to return "0 but true" on success and undef on error as documented.
- Forbid negative byte counts in read*(), pread*(), write(), pwrite().
- Added home-grown non-standard removeat().
- Added creat(), execveat(), fexecve(), raise().
- Added pathconf(), sysconf() and tons of _CS_, _PC_, _SC_ constants.
- Added :confstr, :pathconf, :sysconf export tags.
- Added some non-standard constants.
- Added t/06_exec.t.
- Made timer_create()'s "signal" argument optional.
- Made lchown(), log10(), nexttoward(), posix_f*() exportable.
- Bless returned file handles into IO::Dir/File to make handle methods work.
- t/02_fs.t: Skip dev/ino/rdev stat() checks on Windows w/ Perl 5.34+ to
fake cpantesters green lights (see perl5340delta).
- POD updates.
0.21 2023-11-16
- Replaced FMT_UINT macro by function.
- Replaced safesysfree() by free() in realpath() (closes RT#149058).
- Added non-standard renameat2(), RENAME_* constants.
- POD fixes.
0.19 2023-07-07
- Updated ppport.h to version 3.71
- Replaced av_len()+1 by av_count() in (p)readv() and (p)writev().
- Removed "extern int getdate_err" because it's already in time.h.
- Try to get a green light from dubious cpantesters reports for old Perls.
- Added LICENSE to WriteMakefile().
- Added stat_h export tag and some constants.
- Added exp(), isascii(), rmdir(), setsid(), sin(), ttyname().
- Made casin(), isalnum(), log() exportable.
- chdir(), chmod(), chown(), truncate() and stat() now also accept
a file handle or a file descriptor.
- Deprecated atol(), atoll(), ldiv(), fchdir(), fchmod(), fchown(), ftruncate().
- Pimped atoi(), div(), lround().
- Figure out what's available by compiling some C code.
- Added some tests.
- Small POD fixes.
0.18 2023-06-01
- Updated ppport.h to version 3.68
- Fixed size checking in readlink().
- Fixed error handling of psx_fileno():
Check for -1 instead of < 0 to make AT_FDCWD work (which is negative).
0.10 2017-09-02
- Added more detailed checks for availability of complex functions.
- NetBSD seems a bit special about struct stat.
0.09 2017-09-01
- Added some cheats to make some red lights turn to green on cpantesters.
- Fixed a POD typo.
0.08 2017-08-31
- Added writev(), pwritev(), lchown(), lround(), clock(), access().
0.07 2017-08-27
- Call croak_xs_usage() only if available.
- Really let all I/O functions accept file handles.
- Try to reduce compiler errors on non-Linux systems.
0.06 2017-08-26
- Fixed an fd leak in fdopendir() and openat() (see Ye Olde Perl #59268).
XS docs are really poor.
- Cleaned up openat().
Makefile.PL view on Meta::CPAN
catclose I2luY2x1ZGUgPG5sX3R5cGVzLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeyByZXR1cm4gY2F0Y2xvc2UoKG5sX2NhdGQpYXJndik7IH0K
catgets I2luY2x1ZGUgPG5sX3R5cGVzLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogIGNoYXIgKm1zZyA9IGNhdGdldHMoKG5sX2NhdGQpYXJndiwgMCwgMCwgIiIpOwogIHJldHVybiBtc2cgPyAwIDogLTE7Cn0K
catopen I2luY2x1ZGUgPG5sX3R5cGVzLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogIG5sX2NhdGQgY2F0ZCA9IGNhdG9wZW4oYXJndlswXSwgMCk7CiAgcmV0dXJuIGNhdGQgPyAwIDogLTE7Cn0K
cbrt I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKWFyZ2M7CiAgcmV0dXJuIChpbnQpY2JydCh4KTsKfQo=
ccos I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHJlID0gKGRvdWJsZSlhcmdjOwogIGRvdWJsZSBpbSA9IChkb3VibGUpKGFyZ3ZbMF1bMF0pOwogIGRvdWJsZSBjb21wbGV4IHogPSByZSArIGltICogSTsKICByZXR1cm4gKGludCljY29zKHopOwp9Cg==
ccosh I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHJlID0gKGRvdWJsZSlhcmdjOwogIGRvdWJsZSBpbSA9IChkb3VibGUpKGFyZ3ZbMF1bMF0pOwogIGRvdWJsZSBjb21wbGV4IHogPSByZSArIGltICogSTsKICByZXR1cm4gKGludCljY29zaCh6KTsKfQo=
ceil I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKShhcmd2WzBdWzBdKS8oZG91YmxlKWFyZ2M7CiAgcmV0dXJuIChpbnQpY2VpbCh4KTsKfQo=
cexp I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHJlID0gKGRvdWJsZSlhcmdjOwogIGRvdWJsZSBpbSA9IChkb3VibGUpKGFyZ3ZbMF1bMF0pOwogIGRvdWJsZSBjb21wbGV4IHogPSByZSArIGltICogSTsKICByZXR1cm4gKGludCljZXhwKHopOwp9Cg==
chdir I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsgcmV0dXJuIGNoZGlyKGFyZ3ZbMV0pOyB9Cg==
chmod I2luY2x1ZGUgPHN5cy9zdGF0Lmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeyByZXR1cm4gY2htb2QoYXJndlsxXSwgYXJnYyk7IH0K
chown I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsgcmV0dXJuIGNob3duKGFyZ3ZbMV0sIGFyZ2MsIGFyZ2MpOyB9Cg==
cimag I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHJlID0gKGRvdWJsZSlhcmdjOwogIGRvdWJsZSBpbSA9IChkb3VibGUpKGFyZ3ZbMF1bMF0pOwogIGRvdWJsZSBjb21wbGV4IHogPSByZSArIGltICogSTsKICByZXR1cm4gKGludCljaW1hZyh6KTsKfQo=
clock I2luY2x1ZGUgPHRpbWUuaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWNsb2NrKCk7IH0K
clock_getcpuclockid I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8dGltZS5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICBjbG9ja2lkX3QgY2xvY2tpZDsKICByZXR1cm4gY2xvY2tfZ2V0Y3B1Y2xvY2tpZCgwLCAmY2xvY2tpZCk7Cn0K
clock_getres I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8dGltZS5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICBzdHJ1Y3QgdGltZXNwZWMgcmVzOwogIHJldHVybiBjbG9ja19nZXRyZXMoQ0xPQ0tfUkVBTFRJTUUsICZyZXMpOwp9Cg==
clock_gettime I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8dGltZS5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICBzdHJ1Y3QgdGltZXNwZWMgcmVzOwogIHJldHVybiBjbG9ja19nZXR0aW1lKENMT0NLX1JFQUxUSU1FLCAmcmVzKTsKfQo=
clock_nanosleep I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8dGltZS5oPgppbnQgbWFpbigpIHsKICBzdHJ1Y3QgdGltZXNwZWMgcmVxID0gezB9OwogIHN0cnVjdCB0aW1lc3BlYyByZW07CiAgcmV0dXJuIGNsb2NrX25hbm9zbGVlcChDTE9DS19SRUFMVElNRSwgMCwgJn...
clock_settime I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8dGltZS5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICBzdHJ1Y3QgdGltZXNwZWMgcmVzID0geyAudHZfc2VjID0gMCwgLnR2X25zZWMgPSAwIH07CiAgcmV0dXJuIGNsb2NrX3NldHRpbWUo...
clog I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHJlID0gKGRvdWJsZSlhcmdjOwogIGRvdWJsZSBpbSA9IChkb3VibGUpKGFyZ3ZbMF1bMF0pOwogIGRvdWJsZSBjb21wbGV4IHogPSByZSArIGltICogSTsKICByZXR1cm4gKGludCljbG9nKHopOwp9Cg==
close I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbigpIHsgcmV0dXJuIGNsb3NlKDApOyB9Cg==
confstr I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICBjaGFyIGJ1ZlsxNl07CiAgcmV0dXJuIChpbnQpY29uZnN0cihfQ1NfUEFUSCwgYnVmLCBzaXplb2YoYnVmKSk7Cn0K
Makefile.PL view on Meta::CPAN
erf I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKWFyZ2M7CiAgcmV0dXJuIChpbnQpZXJmKHgpOwp9Cg==
erfc I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKWFyZ2M7CiAgcmV0dXJuIChpbnQpZXJmYyh4KTsKfQo=
execveat I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8dW5pc3RkLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogIGNoYXIgKmNvbnN0IGVudnBbXSA9IHsgTlVMTCB9OwogIGNvbnN0IGNoYXIgKnBhdGggPSBhcmd2WzBdOwogIHdoaWxlICgqcGF0aCA9P...
exp I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKWFyZ2M7CiAgcmV0dXJuIChpbnQpZXhwKHgpOwp9Cg==
exp2 I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKWFyZ2M7CiAgcmV0dXJuIChpbnQpZXhwMih4KTsKfQo=
expm1 I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKWFyZ2M7CiAgcmV0dXJuIChpbnQpZXhwbTEoeCk7Cn0K
faccessat I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8ZmNudGwuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICByZXR1cm4gZmFjY2Vzc2F0KEFUX0ZEQ1dELCBhcmd2WzBdLCBYX09LLCAwKTsKfQo=
fchdir I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8dW5pc3RkLmg+CmludCBtYWluKCkgeyByZXR1cm4gZmNoZGlyKC0xKTsgfQo=
fchmod I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8c3lzL3N0YXQuaD4KaW50IG1haW4oKSB7IHJldHVybiBmY2htb2QoLTEsIDApOyB9Cg==
fchmodat I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8ZmNudGwuaD4KI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogIHJldHVybiBmY2htb2RhdChBVF9GRENXRCwgYXJndlsxXSwgMCwgQVRfU1lNTElOS19OT0ZPTExPV...
fchown I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8dW5pc3RkLmg+CmludCBtYWluKCkgeyByZXR1cm4gZmNob3duKC0xLCAtMSwgLTEpOyB9Cg==
fchownat I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8ZmNudGwuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICByZXR1cm4gZmNob3duYXQoQVRfRkRDV0QsIGFyZ3ZbMV0sIC0xLCAtMSwgQVRfU1lNTElOS19OT0ZPT...
fdatasync I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8dW5pc3RkLmg+CmludCBtYWluKCkgeyByZXR1cm4gZmRhdGFzeW5jKDApOyB9Cg==
fdim I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgcmV0dXJuIChpbnQpZmRpbSgoZG91YmxlKWFyZ2MsIChkb3VibGUpYXJndlswXVswXSk7Cn0K
fdopen I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8c3RkaW8uaD4KaW50IG1haW4oKSB7IHJldHVybiBmZG9wZW4oMCwgInJiIikgPyAwIDogMTsgfQo=
fdopendir I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxkaXJlbnQuaD4KaW50IG1haW4oKSB7IHJldHVybiBmZG9wZW5kaXIoMCkgPyAwIDogMTsgfQo=
feclearexcept I2luY2x1ZGUgPGZlbnYuaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiBmZWNsZWFyZXhjZXB0KGFyZ2MpOyB9Cg==
fegetround I2luY2x1ZGUgPGZlbnYuaD4KaW50IG1haW4oKSB7IHJldHVybiBmZWdldHJvdW5kKCk7IH0K
feraiseexcept I2luY2x1ZGUgPGZlbnYuaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiBmZXJhaXNlZXhjZXB0KGFyZ2MpOyB9Cg==
fesetround I2luY2x1ZGUgPGZlbnYuaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiBmZXNldHJvdW5kKGFyZ2MpOyB9Cg==
fetestexcept I2luY2x1ZGUgPGZlbnYuaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiBmZXRlc3RleGNlcHQoYXJnYyk7IH0K
fexecve I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8dW5pc3RkLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogIGNoYXIgKmNvbnN0IGVudnBbXSA9IHsgTlVMTCB9OwogIHJldHVybiBmZXhlY3ZlKGFyZ2MsIGFyZ3YsIGVudnApOwp9Cg==
Makefile.PL view on Meta::CPAN
isunordered I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8bWF0aC5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsgcmV0dXJuIGlzdW5vcmRlcmVkKChkb3VibGUpYXJnYywgKGRvdWJsZSlhcmdjKTsgfQo=
isupper I2luY2x1ZGUgPGN0eXBlLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeyByZXR1cm4gaXN1cHBlcihhcmdjKTsgfQo=
isxdigit I2luY2x1ZGUgPGN0eXBlLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeyByZXR1cm4gaXN4ZGlnaXQoYXJnYyk7IH0K
j0 I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKWFyZ2M7CiAgcmV0dXJuIChpbnQpajAoeCk7Cn0K
j1 I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKWFyZ2M7CiAgcmV0dXJuIChpbnQpajEoeCk7Cn0K
jn I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKShhcmd2WzBdWzBdKTsKICByZXR1cm4gKGludClqbihhcmdjLCB4KTsKfQo=
jrand48 I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8c3RkbGliLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogIHVuc2lnbmVkIHNob3J0IHhzdWJpWzNdOwogIHJldHVybiAoaW50KWpyYW5kNDgoeHN1YmkpOwp9Cg==
killpg I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8c2lnbmFsLmg+CmludCBtYWluKCkgeyByZXR1cm4ga2lsbHBnKDAsIDE1KTsgfQo=
l64a I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8c3RkbGliLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogIGNoYXIgKmE2NCA9IGw2NGEoKGxvbmcpYXJnYyk7CiAgcmV0dXJuIChpbnQpYTY0WzBdOwp9Cg==
labs I2luY2x1ZGUgPHN0ZGxpYi5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsgcmV0dXJuIGxhYnMoYXJnYyk7IH0K
lchown I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8dW5pc3RkLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogIHJldHVybiBsY2hvd24oYXJndlswXSwgKHVpZF90KWFyZ2MsIChnaWRfdClhcmdjKTsKfQo=
ldexp I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKShhcmd2WzBdWzBdKTsKICByZXR1cm4gKGludClsZGV4cCh4LCBhcmdjKTsKfQo=
ldiv I2luY2x1ZGUgPHN0ZGxpYi5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICBsb25nIG51bSA9IChsb25nKWFyZ2M7CiAgbG9uZyBkZW5vbSA9IChsb25nKShhcmd2WzBdWzBdKTsKICBsZGl2X3QgcSA9IGxkaXYobnVtLCBkZW5vbSk7CiAgcmV0dXJuIChpbnQpcS5xdW90Owp9Cg==
lgamma I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKWFyZ2M7CiAgcmV0dXJuIChpbnQpbGdhbW1hKHgpOwp9Cg==
link I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICByZXR1cm4gbGluayhhcmd2WzBdLCBhcmd2WzBdKTsKfQo=
linkat I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8ZmNudGwuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICByZXR1cm4gbGlua2F0KEFUX0ZEQ1dELCBhcmd2WzBdLCBBVF9GRENXRCwgYXJndlswXSwgMCk7Cn0K
llabs I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8c3RkbGliLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeyByZXR1cm4gbGxhYnMoYXJnYyk7IH0K
lldiv I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8c3RkbGliLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogIGxvbmcgbG9uZyBudW0gPSAobG9uZyBsb25nKWFyZ2M7CiAgbG9uZyBsb25nIGRlbm9tID0gKGxvbmcgbG9uZykoYXJndlswXVswXSk7CiAg...
llround I2lmbmRlZiBfR05VX1NPVVJDRQojZGVmaW5lIF9HTlVfU09VUkNFCiNlbmRpZgojaW5jbHVkZSA8bWF0aC5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICByZXR1cm4gKGludClsbHJvdW5kKChkb3VibGUpYXJnYyk7Cn0K
log I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKWFyZ2M7CiAgcmV0dXJuIChpbnQpbG9nKHgpOwp9Cg==
log10 I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKWFyZ2M7CiAgcmV0dXJuIChpbnQpbG9nMTAoeCk7Cn0K
lib/POSIX/2008.pm view on Meta::CPAN
require Exporter;
our $VERSION = '0.26';
our $XS_VERSION = $VERSION;
$VERSION = eval $VERSION; # so "use Module 0.002" won't warn on underscore
our @_functions = qw(
a64l abort abs access acos acosh alarm asin asinh atan atan2 atanh atof atoi
basename cabs cacos cacosh carg casin casinh catan catanh catclose catgets
catopen cbrt ccos ccosh ceil cexp chdir chmod chown cimag clock
clock_getcpuclockid clock_getres clock_gettime clock_nanosleep clock_settime
clog close confstr conj copysign cos cosh cpow cproj creal creat csin csinh
csqrt ctan ctanh dirname div dlclose dlerror dlopen dlsym drand48 endutxent
erand48 erf erfc execveat exp exp2 expm1 faccessat fchmodat fchownat fdatasync
fdim fdopen fdopendir feclearexcept fegetround feraiseexcept fesetround
fetestexcept fexecve ffs floor fma fmax fmin fmod fnmatch fpclassify fstatat
fsync futimens getdate getdate_err getegid geteuid getgid gethostid
gethostname getitimer getpriority getsid getuid getutxent getutxid getutxline
hypot ilogb isalnum isalpha isascii isatty isblank iscntrl isdigit isfinite
isgraph isgreaterequal isinf isless islessequal islessgreater islower isnan
isnormal isprint ispunct isspace isunordered isupper isxdigit j0 j1 jn jrand48
killpg l64a lchown ldexp lgamma link linkat log log10 log1p log2 logb lrand48
lround lstat mkdir mkdirat mkdtemp mkfifo mkfifoat mknod mknodat mkstemp
mrand48 nanosleep nearbyint nextafter nexttoward nice nrand48 open openat
openat2 pathconf poll posix_fadvise posix_fallocate pread preadv preadv2
psignal ptsname pwrite pwritev pwritev2 random raise read readlink readlinkat
readv realpath remainder remove removeat remquo rename renameat renameat2
rmdir round scalbn seed48 setegid seteuid setgid setitimer setpriority
setregid setreuid setsid setuid setutxent sighold sigignore signbit sigpause
sigrelse sin sinh srand48 srandom stat statvfs strptime strsignal symlink
symlinkat sync sysconf tan tanh tgamma timer_create timer_delete
timer_getoverrun timer_gettime timer_settime trunc truncate ttyname unlink
lib/POSIX/2008.pm view on Meta::CPAN
'sysconf' => ['sysconf', grep /^_SC_/, @_constants],
);
my %deprecated = (
atol => 'atoi',
atoll => 'atoi',
ldiv => 'div',
lldiv => 'div',
fchdir => 'chdir',
fchmod => 'chmod',
fchown => 'chown',
ftruncate => 'truncate',
);
my %deprecated_warned;
push @EXPORT_OK, keys %deprecated;
our $AUTOLOAD;
sub AUTOLOAD {
my ($func) = ($AUTOLOAD =~ /.*::(.*)/);
die "POSIX::2008.xs has failed to load\n" if $func eq 'constant';
lib/POSIX/2008.pod view on Meta::CPAN
=item C<chmod>
ret = chmod(what, mode);
C<what> can be a path, a Perl file or directory handle (see L</"NOTES">), or a
file descriptor.
I<Changed in version 0.19:> Deprecated I<fchmod> now covered by I<chmod>.
=item C<chown>
ret = chown(what, uid, gid);
C<what> can be a path, a Perl file or directory handle (see L</"NOTES">), or a
file descriptor.
I<Changed in version 0.19:> Deprecated I<fchown> now covered by I<chown>.
=item C<cimag>
im = cimag(re, im);
=item C<clock>
t = clock()
I<New in version 0.08.>
lib/POSIX/2008.pod view on Meta::CPAN
I<flags> is the bitwise OR of zero or more of C<AT_EACCESS>,
C<AT_SYMLINK_NOFOLLOW>.
=item C<fchmodat>
ret = fchmodat(dirfd, path, mode, flags=0);
I<flags> can be 0 or C<AT_SYMLINK_NOFOLLOW>. Your system might support a
different set of flags.
=item C<fchownat>
ret = fchownat(dirfd, path, uid, gid, flags=0);
I<flags> can be 0 or C<AT_SYMLINK_NOFOLLOW>. Your system might support a
different set of flags.
=item C<fdatasync>
ret = fdatasync(fd);
=item C<fdopen>
lib/POSIX/2008.pod view on Meta::CPAN
(r, X0, X1, X2) = jrand48(X0, X1, X2);
=item C<killpg>
ret = killpg(pgrp, sig);
=item C<l64a>
s = l64a(n);
=item C<lchown>
ret = lchown(path, uid, gid);
I<New in version 0.08.>
=item C<ldexp>
y = ldexp(x, exp);
=item C<lgamma>
y = lgamma(x);
lib/POSIX/2008.pod view on Meta::CPAN
C<isalnum()> and friends were cowardly removed from the POSIX module with Perl
5.24.0. They have found a cozy home here with a fix for a long-standing bug.
C<SEEK_DATA> and C<SEEK_HOLE> were added to C<unistd.h> in
L<POSIX.1-2024|https://pubs.opengroup.org/onlinepubs/9799919799/> (Issue
8). Before that, they were nonstandard extensions present in Linux, Solaris,
FreeBSD, and DragonFly BSD.
For some inexplicable reason, Perl forbids you to use the built-in C<chmod()>
and C<chown()> on an C<opendir()> handle and to use C<readdir()> and
C<rewinddir()> on a C<sysopen()> handle (provided it refers to a directory).
Needless to say that C<chmod()> and C<chown()> from POSIX::2008 happily work
with C<opendir()> handles, and of course you can use C<readdir()> and
C<rewinddir()> on an C<openat()> handle that refers to a directory.
=head1 AUTHOR
Initially hacked together by Carsten Gaebler.
=head1 LICENSE
This library is free software. You can redistribute and/or modify it under the
KEY_binmode|5.003007||Viu
KEY_bless|5.003007||Viu
KEY_break|5.027008||Viu
KEY_caller|5.003007||Viu
KEY_catch|5.033007||Viu
KEY_chdir|5.003007||Viu
KEY_CHECK|5.006000||Viu
KEY_chmod|5.003007||Viu
KEY_chomp|5.003007||Viu
KEY_chop|5.003007||Viu
KEY_chown|5.003007||Viu
KEY_chr|5.003007||Viu
KEY_chroot|5.003007||Viu
KEY_close|5.003007||Viu
KEY_closedir|5.003007||Viu
KEY_cmp|5.003007||Viu
KEY_connect|5.003007||Viu
KEY_continue|5.003007||Viu
KEY_cos|5.003007||Viu
KEY_crypt|5.003007||Viu
KEY___DATA|5.003007||Viu
Perl_isnan|5.006001|5.006001|n
PERL_IS_SUBWORD_ADDR|5.027007||Viu
PERL_IS_UTF8_CHAR_DFA|5.035004||Viu
PERL_JNP_TO_DECIMAL|5.033001||Viu
Perl_langinfo|5.027004|5.027004|n
PERL_LANGINFO_H|5.027004||Viu
PERL_LAST_5_18_0_INTERP_MEMBER|5.017009||Viu
Perl_ldexp|5.021003|5.021003|n
PerlLIO_access|5.005000||Viu
PerlLIO_chmod|5.005000||Viu
PerlLIO_chown|5.005000||Viu
PerlLIO_chsize|5.005000||Viu
PerlLIO_close|5.005000||Viu
PerlLIO_dup2|5.005000||Viu
PerlLIO_dup2_cloexec|5.027008||Viu
PerlLIO_dup|5.005000||Viu
PerlLIO_dup_cloexec|5.027008||Viu
PerlLIO_flock|5.005000||Viu
PerlLIO_fstat|5.005000||Viu
PerlLIO_ioctl|5.005000||Viu
PerlLIO_isatty|5.005000||Viu
( run in 0.749 second using v1.01-cache-2.11-cpan-5511b514fd6 )