… | |
… | |
265 | |
265 | |
266 | $fh = IO::AIO::pidfd_open $pid[, $flags] |
266 | $fh = IO::AIO::pidfd_open $pid[, $flags] |
267 | $status = IO::AIO::pidfd_send_signal $pidfh, $signal[, $siginfo[, $flags]] |
267 | $status = IO::AIO::pidfd_send_signal $pidfh, $signal[, $siginfo[, $flags]] |
268 | $fh = IO::AIO::pidfd_getfd $pidfh, $targetfd[, $flags] |
268 | $fh = IO::AIO::pidfd_getfd $pidfh, $targetfd[, $flags] |
269 | |
269 | |
|
|
270 | $retval = IO::AIO::mount $special, $path, $fstype, $flags = 0, $data = undef |
|
|
271 | $retval = IO::AIO::umount $path, $flags = 0 |
|
|
272 | |
270 | API NOTES |
273 | API NOTES |
271 | All the "aio_*" calls are more or less thin wrappers around the syscall |
274 | All the "aio_*" calls are more or less thin wrappers around the syscall |
272 | with the same name (sans "aio_"). The arguments are similar or |
275 | with the same name (sans "aio_"). The arguments are similar or |
273 | identical, and they all accept an additional (and optional) $callback |
276 | identical, and they all accept an additional (and optional) $callback |
274 | argument which must be a code reference. This code reference will be |
277 | argument which must be a code reference. This code reference will be |
… | |
… | |
951 | "FS_XFLAG_NODUMP", "FS_XFLAG_RTINHERIT", "FS_XFLAG_PROJINHERIT", |
954 | "FS_XFLAG_NODUMP", "FS_XFLAG_RTINHERIT", "FS_XFLAG_PROJINHERIT", |
952 | "FS_XFLAG_NOSYMLINKS", "FS_XFLAG_EXTSIZE", "FS_XFLAG_EXTSZINHERIT", |
955 | "FS_XFLAG_NOSYMLINKS", "FS_XFLAG_EXTSIZE", "FS_XFLAG_EXTSZINHERIT", |
953 | "FS_XFLAG_NODEFRAG", "FS_XFLAG_FILESTREAM", "FS_XFLAG_DAX", |
956 | "FS_XFLAG_NODEFRAG", "FS_XFLAG_FILESTREAM", "FS_XFLAG_DAX", |
954 | "FS_XFLAG_HASATTR", |
957 | "FS_XFLAG_HASATTR", |
955 | |
958 | |
|
|
959 | "BLKROSET", "BLKROGET", "BLKRRPART", "BLKGETSIZE", "BLKFLSBUF", |
|
|
960 | "BLKRASET", "BLKRAGET", "BLKFRASET", "BLKFRAGET", "BLKSECTSET", |
|
|
961 | "BLKSECTGET", "BLKSSZGET", "BLKBSZGET", "BLKBSZSET", "BLKGETSIZE64", |
|
|
962 | |
956 | aio_sync $callback->($status) |
963 | aio_sync $callback->($status) |
957 | Asynchronously call sync and call the callback when finished. |
964 | Asynchronously call sync and call the callback when finished. |
958 | |
965 | |
959 | aio_fsync $fh, $callback->($status) |
966 | aio_fsync $fh, $callback->($status) |
960 | Asynchronously call fsync on the given filehandle and call the |
967 | Asynchronously call fsync on the given filehandle and call the |
… | |
… | |
1742 | $retval = IO::AIO::fexecve $fh, $argv, $envp |
1749 | $retval = IO::AIO::fexecve $fh, $argv, $envp |
1743 | A more-or-less direct equivalent to the POSIX "fexecve" functions, |
1750 | A more-or-less direct equivalent to the POSIX "fexecve" functions, |
1744 | which allows you to specify the program to be executed via a file |
1751 | which allows you to specify the program to be executed via a file |
1745 | descriptor (or handle). Returns -1 and sets errno to "ENOSYS" if not |
1752 | descriptor (or handle). Returns -1 and sets errno to "ENOSYS" if not |
1746 | available. |
1753 | available. |
|
|
1754 | |
|
|
1755 | $retval = IO::AIO::mount $special, $path, $fstype, $flags = 0, $data = |
|
|
1756 | undef |
|
|
1757 | Calls the GNU/Linux mount syscall with the given arguments. All |
|
|
1758 | except $flags are strings, and if $data is "undef", a "NULL" will be |
|
|
1759 | passed. |
|
|
1760 | |
|
|
1761 | The following values for $flags are available: |
|
|
1762 | |
|
|
1763 | "IO::AIO::MS_RDONLY", "IO::AIO::MS_NOSUID", "IO::AIO::MS_NODEV", |
|
|
1764 | "IO::AIO::MS_NOEXEC", "IO::AIO::MS_SYNCHRONOUS", |
|
|
1765 | "IO::AIO::MS_REMOUNT", "IO::AIO::MS_MANDLOCK", |
|
|
1766 | "IO::AIO::MS_DIRSYNC", "IO::AIO::MS_NOATIME", |
|
|
1767 | "IO::AIO::MS_NODIRATIME", "IO::AIO::MS_BIND", "IO::AIO::MS_MOVE", |
|
|
1768 | "IO::AIO::MS_REC", "IO::AIO::MS_SILENT", "IO::AIO::MS_POSIXACL", |
|
|
1769 | "IO::AIO::MS_UNBINDABLE", "IO::AIO::MS_PRIVATE", |
|
|
1770 | "IO::AIO::MS_SLAVE", "IO::AIO::MS_SHARED", "IO::AIO::MS_RELATIME", |
|
|
1771 | "IO::AIO::MS_KERNMOUNT", "IO::AIO::MS_I_VERSION", |
|
|
1772 | "IO::AIO::MS_STRICTATIME", "IO::AIO::MS_LAZYTIME", |
|
|
1773 | "IO::AIO::MS_ACTIVE", "IO::AIO::MS_NOUSER", "IO::AIO::MS_RMT_MASK", |
|
|
1774 | "IO::AIO::MS_MGC_VAL" and "IO::AIO::MS_MGC_MSK". |
|
|
1775 | |
|
|
1776 | $retval = IO::AIO::umount $path, $flags = 0 |
|
|
1777 | Invokes the GNU/Linux "umount" or "umount2" syscalls. Always calls |
|
|
1778 | "umount" if $flags is 0, otherwqise always tries to call "umount2". |
|
|
1779 | |
|
|
1780 | The following $flags are available: |
|
|
1781 | |
|
|
1782 | "IO::AIO::MNT_FORCE", "IO::AIO::MNT_DETACH", "IO::AIO::MNT_EXPIRE" |
|
|
1783 | and "IO::AIO::UMOUNT_NOFOLLOW". |
1747 | |
1784 | |
1748 | $numfd = IO::AIO::get_fdlimit |
1785 | $numfd = IO::AIO::get_fdlimit |
1749 | Tries to find the current file descriptor limit and returns it, or |
1786 | Tries to find the current file descriptor limit and returns it, or |
1750 | "undef" and sets $! in case of an error. The limit is one larger |
1787 | "undef" and sets $! in case of an error. The limit is one larger |
1751 | than the highest valid file descriptor number. |
1788 | than the highest valid file descriptor number. |