… | |
… | |
87 | self->dbuf = aio_buf = malloc (AIO_BUFSIZE); \ |
87 | self->dbuf = aio_buf = malloc (AIO_BUFSIZE); \ |
88 | UNLOCK (wrklock); \ |
88 | UNLOCK (wrklock); \ |
89 | if (!aio_buf) \ |
89 | if (!aio_buf) \ |
90 | return -1; |
90 | return -1; |
91 | |
91 | |
|
|
92 | typedef SV SV8; /* byte-sv, used for argument-checking */ |
|
|
93 | |
92 | enum { |
94 | enum { |
93 | REQ_QUIT, |
95 | REQ_QUIT, |
94 | REQ_OPEN, REQ_CLOSE, |
96 | REQ_OPEN, REQ_CLOSE, |
95 | REQ_READ, REQ_WRITE, REQ_READAHEAD, |
97 | REQ_READ, REQ_WRITE, REQ_READAHEAD, |
96 | REQ_SENDFILE, |
98 | REQ_SENDFILE, |
… | |
… | |
1309 | OUTPUT: |
1311 | OUTPUT: |
1310 | RETVAL |
1312 | RETVAL |
1311 | |
1313 | |
1312 | void |
1314 | void |
1313 | aio_open (pathname,flags,mode,callback=&PL_sv_undef) |
1315 | aio_open (pathname,flags,mode,callback=&PL_sv_undef) |
1314 | SV * pathname |
1316 | SV8 * pathname |
1315 | int flags |
1317 | int flags |
1316 | int mode |
1318 | int mode |
1317 | SV * callback |
1319 | SV * callback |
1318 | PROTOTYPE: $$$;$ |
1320 | PROTOTYPE: $$$;$ |
1319 | PPCODE: |
1321 | PPCODE: |
… | |
… | |
1352 | void |
1354 | void |
1353 | aio_read (fh,offset,length,data,dataoffset,callback=&PL_sv_undef) |
1355 | aio_read (fh,offset,length,data,dataoffset,callback=&PL_sv_undef) |
1354 | SV * fh |
1356 | SV * fh |
1355 | UV offset |
1357 | UV offset |
1356 | UV length |
1358 | UV length |
1357 | SV * data |
1359 | SV8 * data |
1358 | UV dataoffset |
1360 | UV dataoffset |
1359 | SV * callback |
1361 | SV * callback |
1360 | ALIAS: |
1362 | ALIAS: |
1361 | aio_read = REQ_READ |
1363 | aio_read = REQ_READ |
1362 | aio_write = REQ_WRITE |
1364 | aio_write = REQ_WRITE |
… | |
… | |
1413 | } |
1415 | } |
1414 | } |
1416 | } |
1415 | |
1417 | |
1416 | void |
1418 | void |
1417 | aio_readlink (path,callback=&PL_sv_undef) |
1419 | aio_readlink (path,callback=&PL_sv_undef) |
1418 | SV * path |
1420 | SV8 * path |
1419 | SV * callback |
1421 | SV * callback |
1420 | PROTOTYPE: $$;$ |
1422 | PROTOTYPE: $$;$ |
1421 | PPCODE: |
1423 | PPCODE: |
1422 | { |
1424 | { |
1423 | SV *data; |
1425 | SV *data; |
… | |
… | |
1478 | REQ_SEND; |
1480 | REQ_SEND; |
1479 | } |
1481 | } |
1480 | |
1482 | |
1481 | void |
1483 | void |
1482 | aio_stat (fh_or_path,callback=&PL_sv_undef) |
1484 | aio_stat (fh_or_path,callback=&PL_sv_undef) |
1483 | SV * fh_or_path |
1485 | SV8 * fh_or_path |
1484 | SV * callback |
1486 | SV * callback |
1485 | ALIAS: |
1487 | ALIAS: |
1486 | aio_stat = REQ_STAT |
1488 | aio_stat = REQ_STAT |
1487 | aio_lstat = REQ_LSTAT |
1489 | aio_lstat = REQ_LSTAT |
1488 | PPCODE: |
1490 | PPCODE: |
… | |
… | |
1514 | REQ_SEND; |
1516 | REQ_SEND; |
1515 | } |
1517 | } |
1516 | |
1518 | |
1517 | void |
1519 | void |
1518 | aio_unlink (pathname,callback=&PL_sv_undef) |
1520 | aio_unlink (pathname,callback=&PL_sv_undef) |
1519 | SV * pathname |
1521 | SV8 * pathname |
1520 | SV * callback |
1522 | SV * callback |
1521 | ALIAS: |
1523 | ALIAS: |
1522 | aio_unlink = REQ_UNLINK |
1524 | aio_unlink = REQ_UNLINK |
1523 | aio_rmdir = REQ_RMDIR |
1525 | aio_rmdir = REQ_RMDIR |
1524 | aio_readdir = REQ_READDIR |
1526 | aio_readdir = REQ_READDIR |
… | |
… | |
1533 | REQ_SEND; |
1535 | REQ_SEND; |
1534 | } |
1536 | } |
1535 | |
1537 | |
1536 | void |
1538 | void |
1537 | aio_link (oldpath,newpath,callback=&PL_sv_undef) |
1539 | aio_link (oldpath,newpath,callback=&PL_sv_undef) |
1538 | SV * oldpath |
1540 | SV8 * oldpath |
1539 | SV * newpath |
1541 | SV8 * newpath |
1540 | SV * callback |
1542 | SV * callback |
1541 | ALIAS: |
1543 | ALIAS: |
1542 | aio_link = REQ_LINK |
1544 | aio_link = REQ_LINK |
1543 | aio_symlink = REQ_SYMLINK |
1545 | aio_symlink = REQ_SYMLINK |
1544 | aio_rename = REQ_RENAME |
1546 | aio_rename = REQ_RENAME |
… | |
… | |
1555 | REQ_SEND; |
1557 | REQ_SEND; |
1556 | } |
1558 | } |
1557 | |
1559 | |
1558 | void |
1560 | void |
1559 | aio_mknod (pathname,mode,dev,callback=&PL_sv_undef) |
1561 | aio_mknod (pathname,mode,dev,callback=&PL_sv_undef) |
1560 | SV * pathname |
1562 | SV8 * pathname |
1561 | SV * callback |
1563 | SV * callback |
1562 | UV mode |
1564 | UV mode |
1563 | UV dev |
1565 | UV dev |
1564 | PPCODE: |
1566 | PPCODE: |
1565 | { |
1567 | { |