… | |
… | |
97 | REQ_OPEN, REQ_CLOSE, |
97 | REQ_OPEN, REQ_CLOSE, |
98 | REQ_READ, REQ_WRITE, REQ_READAHEAD, |
98 | REQ_READ, REQ_WRITE, REQ_READAHEAD, |
99 | REQ_SENDFILE, |
99 | REQ_SENDFILE, |
100 | REQ_STAT, REQ_LSTAT, REQ_FSTAT, |
100 | REQ_STAT, REQ_LSTAT, REQ_FSTAT, |
101 | REQ_FSYNC, REQ_FDATASYNC, |
101 | REQ_FSYNC, REQ_FDATASYNC, |
102 | REQ_UNLINK, REQ_RMDIR, REQ_RENAME, |
102 | REQ_UNLINK, REQ_RMDIR, REQ_MKDIR, REQ_RENAME, |
103 | REQ_MKNOD, REQ_READDIR, |
103 | REQ_MKNOD, REQ_READDIR, |
104 | REQ_LINK, REQ_SYMLINK, REQ_READLINK, |
104 | REQ_LINK, REQ_SYMLINK, REQ_READLINK, |
105 | REQ_GROUP, REQ_NOP, |
105 | REQ_GROUP, REQ_NOP, |
106 | REQ_BUSY, |
106 | REQ_BUSY, |
107 | }; |
107 | }; |
… | |
… | |
1171 | |
1171 | |
1172 | case REQ_OPEN: req->result = open (req->ptr1, req->int1, req->mode); break; |
1172 | case REQ_OPEN: req->result = open (req->ptr1, req->int1, req->mode); break; |
1173 | case REQ_CLOSE: req->result = close (req->int1); break; |
1173 | case REQ_CLOSE: req->result = close (req->int1); break; |
1174 | case REQ_UNLINK: req->result = unlink (req->ptr1); break; |
1174 | case REQ_UNLINK: req->result = unlink (req->ptr1); break; |
1175 | case REQ_RMDIR: req->result = rmdir (req->ptr1); break; |
1175 | case REQ_RMDIR: req->result = rmdir (req->ptr1); break; |
|
|
1176 | case REQ_MKDIR: req->result = mkdir (req->ptr1, req->mode); break; |
1176 | case REQ_RENAME: req->result = rename (req->ptr2, req->ptr1); break; |
1177 | case REQ_RENAME: req->result = rename (req->ptr2, req->ptr1); break; |
1177 | case REQ_LINK: req->result = link (req->ptr2, req->ptr1); break; |
1178 | case REQ_LINK: req->result = link (req->ptr2, req->ptr1); break; |
1178 | case REQ_SYMLINK: req->result = symlink (req->ptr2, req->ptr1); break; |
1179 | case REQ_SYMLINK: req->result = symlink (req->ptr2, req->ptr1); break; |
1179 | case REQ_MKNOD: req->result = mknod (req->ptr2, req->mode, (dev_t)req->offs); break; |
1180 | case REQ_MKNOD: req->result = mknod (req->ptr2, req->mode, (dev_t)req->offs); break; |
1180 | case REQ_READLINK: req->result = readlink (req->ptr2, req->ptr1, NAME_MAX); break; |
1181 | case REQ_READLINK: req->result = readlink (req->ptr2, req->ptr1, NAME_MAX); break; |
… | |
… | |
1596 | |
1597 | |
1597 | REQ_SEND; |
1598 | REQ_SEND; |
1598 | } |
1599 | } |
1599 | |
1600 | |
1600 | void |
1601 | void |
|
|
1602 | aio_mkdir (pathname,mode,callback=&PL_sv_undef) |
|
|
1603 | SV8 * pathname |
|
|
1604 | UV mode |
|
|
1605 | SV * callback |
|
|
1606 | PPCODE: |
|
|
1607 | { |
|
|
1608 | dREQ; |
|
|
1609 | |
|
|
1610 | req->type = REQ_MKDIR; |
|
|
1611 | req->sv1 = newSVsv (pathname); |
|
|
1612 | req->ptr1 = SvPVbyte_nolen (req->sv1); |
|
|
1613 | req->mode = mode; |
|
|
1614 | |
|
|
1615 | REQ_SEND; |
|
|
1616 | } |
|
|
1617 | |
|
|
1618 | void |
1601 | aio_link (oldpath,newpath,callback=&PL_sv_undef) |
1619 | aio_link (oldpath,newpath,callback=&PL_sv_undef) |
1602 | SV8 * oldpath |
1620 | SV8 * oldpath |
1603 | SV8 * newpath |
1621 | SV8 * newpath |
1604 | SV * callback |
1622 | SV * callback |
1605 | ALIAS: |
1623 | ALIAS: |
… | |
… | |
1620 | } |
1638 | } |
1621 | |
1639 | |
1622 | void |
1640 | void |
1623 | aio_mknod (pathname,mode,dev,callback=&PL_sv_undef) |
1641 | aio_mknod (pathname,mode,dev,callback=&PL_sv_undef) |
1624 | SV8 * pathname |
1642 | SV8 * pathname |
1625 | SV * callback |
|
|
1626 | UV mode |
1643 | UV mode |
1627 | UV dev |
1644 | UV dev |
|
|
1645 | SV * callback |
1628 | PPCODE: |
1646 | PPCODE: |
1629 | { |
1647 | { |
1630 | dREQ; |
1648 | dREQ; |
1631 | |
1649 | |
1632 | req->type = REQ_MKNOD; |
1650 | req->type = REQ_MKNOD; |