… | |
… | |
1195 | const_iv (MAP_STACK) |
1195 | const_iv (MAP_STACK) |
1196 | |
1196 | |
1197 | const_iv (MREMAP_MAYMOVE) |
1197 | const_iv (MREMAP_MAYMOVE) |
1198 | const_iv (MREMAP_FIXED) |
1198 | const_iv (MREMAP_FIXED) |
1199 | |
1199 | |
1200 | const_iv (F_DUPFD_CLOEXEC) |
|
|
1201 | |
|
|
1202 | const_iv (MSG_CMSG_CLOEXEC) |
1200 | const_iv (MSG_CMSG_CLOEXEC) |
1203 | const_iv (SOCK_CLOEXEC) |
1201 | const_iv (SOCK_CLOEXEC) |
|
|
1202 | |
|
|
1203 | const_iv (F_DUPFD_CLOEXEC) |
|
|
1204 | |
|
|
1205 | const_iv (F_ADD_SEALS) |
|
|
1206 | const_iv (F_GET_SEALS) |
|
|
1207 | const_iv (F_SEAL_SEAL) |
|
|
1208 | const_iv (F_SEAL_SHRINK) |
|
|
1209 | const_iv (F_SEAL_GROW) |
|
|
1210 | const_iv (F_SEAL_WRITE) |
1204 | |
1211 | |
1205 | const_iv (F_OFD_GETLK) |
1212 | const_iv (F_OFD_GETLK) |
1206 | const_iv (F_OFD_SETLK) |
1213 | const_iv (F_OFD_SETLK) |
1207 | const_iv (F_OFD_GETLKW) |
1214 | const_iv (F_OFD_GETLKW) |
1208 | |
1215 | |
… | |
… | |
2488 | RETVAL = 0; |
2495 | RETVAL = 0; |
2489 | #endif |
2496 | #endif |
2490 | OUTPUT: |
2497 | OUTPUT: |
2491 | RETVAL |
2498 | RETVAL |
2492 | |
2499 | |
|
|
2500 | void |
|
|
2501 | accept4 (aio_rfd rfh, SV *sockaddr, int salen, int flags) |
|
|
2502 | PPCODE: |
|
|
2503 | { |
|
|
2504 | SV *retval; |
|
|
2505 | #if HAVE_ACCEPT4 |
|
|
2506 | socklen_t salen_ = salen ? salen + 1 : 0; |
|
|
2507 | |
|
|
2508 | if (salen) |
|
|
2509 | { |
|
|
2510 | sv_upgrade (sockaddr, SVt_PV); |
|
|
2511 | sv_grow (sockaddr, salen_); |
|
|
2512 | } |
|
|
2513 | |
|
|
2514 | int res = accept4 (rfh, salen ? (struct sockaddr *)SvPVX (sockaddr) : 0, salen ? &salen_ : 0, flags); |
|
|
2515 | |
|
|
2516 | retval = newmortalFH (res, O_RDWR); |
|
|
2517 | sv_dump(retval); |
|
|
2518 | |
|
|
2519 | if (res >= 0 && salen > 0) |
|
|
2520 | { |
|
|
2521 | if (salen_ > salen + 1) |
|
|
2522 | salen_ = salen + 1; |
|
|
2523 | |
|
|
2524 | SvPOK_only (sockaddr); |
|
|
2525 | SvCUR_set (sockaddr, salen_); |
|
|
2526 | } |
|
|
2527 | #else |
|
|
2528 | errno = ENOSYS; |
|
|
2529 | retval = &PL_sv_undef; |
|
|
2530 | #endif |
|
|
2531 | XPUSHs (retval); |
|
|
2532 | } |
|
|
2533 | |
2493 | int |
2534 | int |
2494 | splice (aio_rfd rfh, SV *off_in, aio_wfd wfh, SV *off_out, size_t length, unsigned int flags) |
2535 | splice (aio_rfd rfh, SV *off_in, aio_wfd wfh, SV *off_out, size_t length, unsigned int flags) |
2495 | CODE: |
2536 | CODE: |
2496 | { |
2537 | { |
2497 | #if HAVE_LINUX_SPLICE |
2538 | #if HAVE_LINUX_SPLICE |