Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/iocall.cfa

    r0a92c78 r5877b3e  
    108108
    109109        extern ssize_t read (int fd, void *buf, size_t count);
    110 
    111         extern ssize_t splice(int fd_in, loff_t *off_in, int fd_out, loff_t *off_out, size_t len, unsigned int flags);
    112         extern ssize_t tee(int fd_in, int fd_out, size_t len, unsigned int flags);
    113110}
    114111
     
    332329}
    333330
     331
    334332ssize_t cfa_read(int fd, void *buf, size_t count) {
    335333        #if !defined(HAVE_LINUX_IO_URING_H) || !defined(IORING_OP_READ)
     
    351349
    352350                (*sqe){ IORING_OP_WRITE, fd, buf, count, 0 };
    353 
    354                 __submit_wait
    355         #endif
    356 }
    357 
    358 ssize_t cfa_splice(int fd_in, loff_t *off_in, int fd_out, loff_t *off_out, size_t len, unsigned int flags) {
    359         #if !defined(HAVE_LINUX_IO_URING_H) || !defined(IORING_OP_SPLICE)
    360                 return splice( fd_in, off_in, fd_out, off_out, len, flags );
    361         #else
    362                 __submit_prelude
    363 
    364                 (*sqe){ IORING_OP_SPLICE, fd_out, 0p, len, off_out };
    365                 sqe->splice_fd_in  = fd_in;
    366                 sqe->splice_off_in = off_in;
    367                 sqe->splice_flags  = flags;
    368 
    369                 __submit_wait
    370         #endif
    371 }
    372 
    373 ssize_t cfa_tee(int fd_in, int fd_out, size_t len, unsigned int flags) {
    374         #if !defined(HAVE_LINUX_IO_URING_H) || !defined(IORING_OP_TEE)
    375                 return tee( fd_in, fd_out, len, flags );
    376         #else
    377                 __submit_prelude
    378 
    379                 (*sqe){ IORING_OP_TEE, fd_out, 0p, len, 0 };
    380                 sqe->splice_fd_in = fd_in;
    381                 sqe->splice_flags = flags;
    382351
    383352                __submit_wait
     
    484453                        #define _CFA_IO_FEATURE_IORING_OP_WRITE ,
    485454                        return IS_DEFINED(IORING_OP_WRITE);
    486 
    487                 if( /*func == (fptr_t)splice || */
    488                         func == (fptr_t)cfa_splice )
    489                         #define _CFA_IO_FEATURE_IORING_OP_SPLICE ,
    490                         return IS_DEFINED(IORING_OP_SPLICE);
    491 
    492                 if( /*func == (fptr_t)tee || */
    493                         func == (fptr_t)cfa_tee )
    494                         #define _CFA_IO_FEATURE_IORING_OP_TEE ,
    495                         return IS_DEFINED(IORING_OP_TEE);
    496455        #endif
    497456
Note: See TracChangeset for help on using the changeset viewer.