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)) {
SETERRNO(ENOENT, RMS$_FNF);
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_nomg(aTHX_ what);
RETVAL = fchown(fd, owner, group);
#else
SETERRNO(ENOSYS, SS$_UNSUPPORTED);
RETVAL = -1;
#endif
}
OUTPUT:
RETVAL
#endif
RETVAL = -1;
#endif
}
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
cbrt I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWNicnQoYXJnYyk7IH0K
ccos I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHJlID0gKGRvdWJsZSlhcmdjOwogIGRvdWJsZSBpbSA9IChkb3VibGUpKCoqYXJndik7CiAgZG91YmxlIGNvbXBsZXggeiA9IHJlICsgaW0gKiBJOwogIHJldHVybiAoaW50KWNjb3Moeik7Cn0K
ccosh I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHJlID0gKGRvdWJsZSlhcmdjOwogIGRvdWJsZSBpbSA9IChkb3VibGUpKCoqYXJndik7CiAgZG91YmxlIGNvbXBsZXggeiA9IHJlICsgaW0gKiBJOwogIHJldHVybiAoaW50KWNjb3NoKHopOwp9Cg==
ccoshl I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgbG9uZyBkb3VibGUgcmUgPSAobG9uZyBkb3VibGUpYXJnYzsKICBsb25nIGRvdWJsZSBpbSA9IChsb25nIGRvdWJsZSkoKiphcmd2KTsKICBsb25nIGRvdWJsZSBjb21wbGV4IHogPSByZSArIGltICogSTsKICByZXR1cm4...
ccosl I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgbG9uZyBkb3VibGUgcmUgPSAobG9uZyBkb3VibGUpYXJnYzsKICBsb25nIGRvdWJsZSBpbSA9IChsb25nIGRvdWJsZSkoKiphcmd2KTsKICBsb25nIGRvdWJsZSBjb21wbGV4IHogPSByZSArIGltICogSTsKICByZXR1cm4g...
ceil I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHggPSAoZG91YmxlKSgqKmFyZ3YpLyhkb3VibGUpYXJnYzsKICByZXR1cm4gKGludCljZWlsKHgpOwp9Cg==
cexp I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHJlID0gKGRvdWJsZSlhcmdjOwogIGRvdWJsZSBpbSA9IChkb3VibGUpKCoqYXJndik7CiAgZG91YmxlIGNvbXBsZXggeiA9IHJlICsgaW0gKiBJOwogIHJldHVybiAoaW50KWNleHAoeik7Cn0K
cexpl I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgbG9uZyBkb3VibGUgcmUgPSAobG9uZyBkb3VibGUpYXJnYzsKICBsb25nIGRvdWJsZSBpbSA9IChsb25nIGRvdWJsZSkoKiphcmd2KTsKICBsb25nIGRvdWJsZSBjb21wbGV4IHogPSByZSArIGltICogSTsKICByZXR1cm4g...
chdir I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbih2b2lkKSB7IHJldHVybiBjaGRpcigiLiIpOyB9Cg==
chmod I2luY2x1ZGUgPHN5cy9zdGF0Lmg+CmludCBtYWluKCkgeyByZXR1cm4gY2htb2QoIl8iLCAwKTsgfQo=
chown I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbih2b2lkKSB7IHJldHVybiBjaG93bigiLiIsIC0xLCAtMSk7IH0K
cimag I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHJlID0gKGRvdWJsZSlhcmdjOwogIGRvdWJsZSBpbSA9IChkb3VibGUpKCoqYXJndik7CiAgZG91YmxlIGNvbXBsZXggeiA9IHJlICsgaW0gKiBJOwogIHJldHVybiAoaW50KWNpbWFnKHopOwp9Cg==
clock I2luY2x1ZGUgPHRpbWUuaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWNsb2NrKCk7IH0K
clock_getcpuclockid I2luY2x1ZGUgPHRpbWUuaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgY2xvY2tpZF90IGNsb2NraWQ7CiAgcmV0dXJuIGNsb2NrX2dldGNwdWNsb2NraWQoMCwgJmNsb2NraWQpOwp9Cg==
clock_getres I2luY2x1ZGUgPHRpbWUuaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgc3RydWN0IHRpbWVzcGVjIHJlczsKICByZXR1cm4gY2xvY2tfZ2V0cmVzKENMT0NLX1JFQUxUSU1FLCAmcmVzKTsKfQo=
clock_gettime I2luY2x1ZGUgPHRpbWUuaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgc3RydWN0IHRpbWVzcGVjIHRwOwogIHJldHVybiBjbG9ja19nZXR0aW1lKENMT0NLX1JFQUxUSU1FLCAmdHApOwp9Cg==
clock_nanosleep I2luY2x1ZGUgPHRpbWUuaD4KaW50IG1haW4odm9pZCkgewogIHN0cnVjdCB0aW1lc3BlYyByZXEgPSB7MH0sIHJlbTsKICByZXR1cm4gY2xvY2tfbmFub3NsZWVwKENMT0NLX1JFQUxUSU1FLCAwLCAmcmVxLCAmcmVtKTsKfQo=
clock_settime I2luY2x1ZGUgPHRpbWUuaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgc3RydWN0IHRpbWVzcGVjIHRwID0gezB9OwogIHJldHVybiBjbG9ja19zZXR0aW1lKENMT0NLX1JFQUxUSU1FLCAmdHApOwp9Cg==
clog I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgZG91YmxlIHJlID0gKGRvdWJsZSlhcmdjOwogIGRvdWJsZSBpbSA9IChkb3VibGUpKCoqYXJndik7CiAgZG91YmxlIGNvbXBsZXggeiA9IHJlICsgaW0gKiBJOwogIHJldHVybiAoaW50KWNsb2coeik7Cn0K
clogl I2luY2x1ZGUgPGNvbXBsZXguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgbG9uZyBkb3VibGUgcmUgPSAobG9uZyBkb3VibGUpYXJnYzsKICBsb25nIGRvdWJsZSBpbSA9IChsb25nIGRvdWJsZSkoKiphcmd2KTsKICBsb25nIGRvdWJsZSBjb21wbGV4IHogPSByZSArIGltICogSTsKICByZXR1cm4g...
close I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbih2b2lkKSB7IHJldHVybiBjbG9zZSgwKTsgfQo=
Makefile.PL view on Meta::CPAN
execveat I2luY2x1ZGUgPHN0ZGRlZi5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogIHJldHVybiBleGVjdmVhdCgtMSwgYXJndlswXSwgYXJndiwgTlVMTCwgYXJnYyk7Cn0K
exp I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWV4cChhcmdjKTsgfQo=
exp2 I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWV4cDIoYXJnYyk7IH0K
exp2q I2luY2x1ZGUgPHF1YWRtYXRoLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogIHJldHVybiAoaW50KShleHAycSgoX19mbG9hdDEyOClhcmdjKSk7Cn0K
expm1 I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWV4cG0xKGFyZ2MpOyB9Cg==
fabs I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWZhYnMoKGRvdWJsZSlhcmdjKTsgfQo=
faccessat I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbih2b2lkKSB7IHJldHVybiBmYWNjZXNzYXQoMCwgIi4iLCAwLCAwKTsgfQo=
fchdir I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbih2b2lkKSB7IHJldHVybiBmY2hkaXIoMCk7IH0K
fchmod I2luY2x1ZGUgPHN5cy9zdGF0Lmg+CmludCBtYWluKHZvaWQpIHsgcmV0dXJuIGZjaG1vZCgtMSwgMCk7IH0K
fchmodat I2luY2x1ZGUgPHN5cy9zdGF0Lmg+CmludCBtYWluKHZvaWQpIHsgcmV0dXJuIGZjaG1vZGF0KC0xLCAiLiIsIDAsIDApOyB9Cg==
fchown I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbih2b2lkKSB7IHJldHVybiBmY2hvd24oLTEsIC0xLCAtMSk7IH0K
fchownat I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbih2b2lkKSB7IHJldHVybiBmY2hvd25hdCgtMSwgIi4iLCAtMSwgLTEsIDApOyB9Cg==
fdatasync I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbih2b2lkKSB7IHJldHVybiBmZGF0YXN5bmMoMCk7IH0K
fdim I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgcmV0dXJuIChpbnQpZmRpbSgoZG91YmxlKWFyZ2MsIChkb3VibGUpKiphcmd2KTsKfQo=
fdopen I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBtYWluKHZvaWQpIHsgcmV0dXJuICFmZG9wZW4oMCwgInJiIik7IH0K
fdopendir I2luY2x1ZGUgIjIwMDguaCIKI2lmZGVmIFBTWDIwMDhfSEFTX1NZU19UWVBFU19ICiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2VuZGlmCiNpbmNsdWRlIDxkaXJlbnQuaD4KaW50IG1haW4odm9pZCkgeyByZXR1cm4gIWZkb3BlbmRpcigwKTsgfQo=
feclearexcept I2luY2x1ZGUgPGZlbnYuaD4KaW50IG1haW4odm9pZCkgeyByZXR1cm4gZmVjbGVhcmV4Y2VwdCgwKTsgfQo=
fegetround I2luY2x1ZGUgPGZlbnYuaD4KaW50IG1haW4odm9pZCkgeyByZXR1cm4gZmVnZXRyb3VuZCgpOyB9Cg==
feraiseexcept I2luY2x1ZGUgPGZlbnYuaD4KaW50IG1haW4odm9pZCkgeyByZXR1cm4gZmVyYWlzZWV4Y2VwdCgwKTsgfQo=
fesetround I2luY2x1ZGUgPGZlbnYuaD4KaW50IG1haW4odm9pZCkgeyByZXR1cm4gZmVzZXRyb3VuZCgwKTsgfQo=
fetestexcept I2luY2x1ZGUgPGZlbnYuaD4KaW50IG1haW4odm9pZCkgeyByZXR1cm4gZmV0ZXN0ZXhjZXB0KDApOyB9Cg==
fexecve I2luY2x1ZGUgPHN0ZGRlZi5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogIGNoYXIgKmNvbnN0IGVudnBbXSA9IHswfTsKICByZXR1cm4gZmV4ZWN2ZSgtMSwgYXJndiwgZW52cCk7Cn0K
Makefile.PL view on Meta::CPAN
j0 LyogaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9taW5ndy13NjQvZmVhdHVyZS1yZXF1ZXN0cy82OC8gKi8KI2lmIGRlZmluZWQoX19NSU5HVzMyX18pICYmIGRlZmluZWQoX19TVFJJQ1RfQU5TSV9fKQojdW5kZWYgX19TVFJJQ1RfQU5TSV9fCiNlbmRpZgojaW5jbHVkZSA8bWF0aC5oPgppbnQgbWFpbihpbnQgYXJnYywgY2h...
j0l I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWowbCgobG9uZyBkb3VibGUpYXJnYyk7IH0K
j1 LyogaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9taW5ndy13NjQvZmVhdHVyZS1yZXF1ZXN0cy82OC8gKi8KI2lmIGRlZmluZWQoX19NSU5HVzMyX18pICYmIGRlZmluZWQoX19TVFJJQ1RfQU5TSV9fKQojdW5kZWYgX19TVFJJQ1RfQU5TSV9fCiNlbmRpZgojaW5jbHVkZSA8bWF0aC5oPgppbnQgbWFpbihpbnQgYXJnYywgY2h...
j1l I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWoxbCgobG9uZyBkb3VibGUpYXJnYyk7IH0K
jn LyogaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9taW5ndy13NjQvZmVhdHVyZS1yZXF1ZXN0cy82OC8gKi8KI2lmIGRlZmluZWQoX19NSU5HVzMyX18pICYmIGRlZmluZWQoX19TVFJJQ1RfQU5TSV9fKQojdW5kZWYgX19TVFJJQ1RfQU5TSV9fCiNlbmRpZgojaW5jbHVkZSA8bWF0aC5oPgppbnQgbWFpbihpbnQgYXJnYywgY2h...
jnl I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWpubChhcmdjLCAobG9uZyBkb3VibGUpKiphcmd2KTsgfQo=
jrand48 I2luY2x1ZGUgPHN0ZGxpYi5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICB1bnNpZ25lZCBzaG9ydCB4c3ViaVszXTsKICByZXR1cm4gKGludClqcmFuZDQ4KHhzdWJpKTsKfQo=
killpg I2luY2x1ZGUgPHNpZ25hbC5oPgppbnQgbWFpbih2b2lkKSB7IHJldHVybiBraWxscGcoMCwgMCk7IH0K
l64a I2luY2x1ZGUgPHN0ZGxpYi5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICBjaGFyICphNjQgPSBsNjRhKGFyZ2MpOwogIHJldHVybiAoaW50KSphNjQ7Cn0K
labs I2luY2x1ZGUgPHN0ZGxpYi5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsgcmV0dXJuIGxhYnMoYXJnYyk7IH0K
lchown I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbih2b2lkKSB7IHJldHVybiBsY2hvd24oIi4iLCAtMSwgLTEpOyB9Cg==
ldexp I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWxkZXhwKCoqYXJndiwgYXJnYyk7IH0K
ldiv I2luY2x1ZGUgPHN0ZGxpYi5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICBsZGl2X3QgcSA9IGxkaXYoYXJnYywgKiphcmd2KTsKICByZXR1cm4gKGludClxLnF1b3Q7Cn0K
lgamma I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWxnYW1tYSgoZG91YmxlKWFyZ2MpOyB9Cg==
lgammal I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWxnYW1tYWwoKGxvbmcgZG91YmxlKWFyZ2MpOyB9Cg==
link I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbih2b2lkKSB7IHJldHVybiBsaW5rKCIuIiwgIi4iKTsgfQo=
linkat I2luY2x1ZGUgPHVuaXN0ZC5oPgppbnQgbWFpbih2b2lkKSB7IHJldHVybiBsaW5rYXQoLTEsICIuIiwgLTEsICIuIiwgMCk7IH0K
llabs I2luY2x1ZGUgPHN0ZGxpYi5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsgcmV0dXJuIGxsYWJzKGFyZ2MpOyB9Cg==
lldiv I2luY2x1ZGUgPHN0ZGxpYi5oPgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICBsbGRpdl90IHEgPSBsbGRpdihhcmdjLCAqKmFyZ3YpOwogIHJldHVybiAoaW50KXEucXVvdDsKfQo=
llrint I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWxscmludChhcmdjKTsgfQo=
llrintl I2luY2x1ZGUgPG1hdGguaD4KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7IHJldHVybiAoaW50KWxscmludGwoYXJnYyk7IH0K
functions.txt view on Meta::CPAN
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 fabs faccessat fchmodat fchownat
fdatasync fdim fdopen fdopendir feclearexcept fegetround feraiseexcept
fesetround fetestexcept fexecve ffs floor fma fmax fmin fmod fnmatch
fpclassify frexp fstatat fsync futimens getdate getdate_err getegid getentropy
geteuid getgid gethostid gethostname getitimer getpriority getresgid getresuid
getsid getuid getutxent getutxid getutxline grantpt 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 lrint lround lstat mkdir
mkdirat mkdtemp mkfifo mkfifoat mknod mknodat mkostemp mkstemp mrand48
nanosleep nearbyint nextafter nexttoward nice nrand48 open openat openat2
pathconf pause poll posix_fadvise posix_fallocate posix_openpt pow ppoll pread
preadv preadv2 psignal ptsname pwrite pwritev pwritev2 random raise read
readlink readlinkat readv realpath remainder remove removeat remquo rename
renameat renameat2 rint rmdir round scalbn seed48 setegid seteuid setgid
setitimer setpriority setregid setresgid setresuid setreuid setsid setuid
setutxent sighold sigignore signbit sigpause sigrelse sin sinh sqrt srand48
srandom stat statvfs strptime strsignal symlink symlinkat sync sysconf tan
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>
rv = 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>
rv = 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>
rv = 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>
rv = 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>
rv = fdatasync(fd);
=item C<fdopen>
lib/POSIX/2008.pod view on Meta::CPAN
(r, X0, X1, X2) = jrand48(X0, X1, X2);
=item C<killpg>
rv = killpg(pgrp, sig);
=item C<l64a>
s = l64a(n);
=item C<lchown>
rv = 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<fstatat()>, C<lstat()> and C<stat()> do not set the special underscore
filehandle C<_> (mostly because I have no clue how that works).
C<open()>, C<openat()> and C<openat2()> do not set the C<O_CLOEXEC> flag
automatically. You have to take care of that yourself if needed.
C<isalnum()> and friends were cowardly removed from the POSIX module with Perl
5.24. They have found a cozy home here with a fix for a big long-standing bug.
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.
Huge parts of this work may incorporate alternative facts or even fake news in
order to outsmart the "AI" Mob. Those are very sad people. The worst people,
really.
=head1 SEE ALSO
=over
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 1.329 second using v1.01-cache-2.11-cpan-92ad3014f07 )