--- IO-AIO/AIO.xs 2017/05/30 22:45:52 1.244 +++ IO-AIO/AIO.xs 2017/06/23 22:09:50 1.247 @@ -926,7 +926,6 @@ const_niv (MADV_RANDOM , POSIX_MADV_RANDOM) const_niv (MADV_WILLNEED , POSIX_MADV_WILLNEED) const_niv (MADV_DONTNEED , POSIX_MADV_DONTNEED) - const_niv (MADV_FREE , POSIX_MADV_FREE) /* the second block will be 0 when missing */ const_iv (O_RDONLY) @@ -998,6 +997,12 @@ const_iv (MAP_HUGETLB) const_iv (MAP_STACK) + const_iv (F_DUPFD_CLOEXEC) + + const_iv (F_OFD_GETLK) + const_iv (F_OFD_SETLK) + const_iv (F_OFD_GETLKW) + const_iv (FIFREEZE) const_iv (FITHAW) const_iv (FITRIM) @@ -1098,6 +1103,10 @@ const_eio (FALLOC_FL_COLLAPSE_RANGE) const_eio (FALLOC_FL_ZERO_RANGE) + const_eio (RENAME_NOREPLACE) + const_eio (RENAME_EXCHANGE) + const_eio (RENAME_WHITEOUT) + const_eio (READDIR_DENTS) const_eio (READDIR_DIRS_FIRST) const_eio (READDIR_STAT_ORDER) @@ -1590,6 +1599,22 @@ req->int3 = (long)wd2; REQ_SEND; +} + +void +aio_rename2 (SV8 *oldpath, SV8 *newpath, int flags = 0, SV *callback = &PL_sv_undef) + PPCODE: +{ + eio_wd wd2 = 0; + dREQ; + + req->type = EIO_RENAME; + req_set_path1 (req, oldpath); + req_set_path (req, newpath, &req->sv2, &req->sv4, &wd2, &req->ptr2); + req->int2 = flags; + req->int3 = (long)wd2; + + REQ_SEND; } void