Lines Matching defs:aiocbp
317 (void)copyout(&a_job->aiocbp, a_job->aiocb_uptr,
333 aio_sendsig(p, &a_job->aiocbp.aio_sigevent);
352 struct aiocb *aiocbp = &a_job->aiocbp;
354 int fd = aiocbp->aio_fildes;
363 if (aiocbp->aio_nbytes > SSIZE_MAX) {
374 aiov.iov_base = (void *)(uintptr_t)aiocbp->aio_buf;
375 aiov.iov_len = aiocbp->aio_nbytes;
378 auio.uio_resid = aiocbp->aio_nbytes;
393 error = (*fp->f_ops->fo_read)(fp, &aiocbp->aio_offset,
407 error = (*fp->f_ops->fo_write)(fp, &aiocbp->aio_offset,
413 a_job->aiocbp.aio_nbytes -= auio.uio_resid;
414 a_job->aiocbp._retval = (error == 0) ?
415 a_job->aiocbp.aio_nbytes : -1;
445 a_job->aiocbp._retval = (error == 0) ? 0 : -1;
452 a_job->aiocbp._errno = error;
453 a_job->aiocbp._state = JOB_DONE;
485 struct aiocb aiocbp;
494 error = copyin(aiocb_uptr, &aiocbp, sizeof(struct aiocb));
499 sig = &aiocbp.aio_sigevent;
506 if (aiocbp.aio_buf == NULL || aiocbp.aio_nbytes > SSIZE_MAX)
512 if (aiocbp.aio_lio_opcode == LIO_WRITE)
514 else if (aiocbp.aio_lio_opcode == LIO_READ)
517 return (aiocbp.aio_lio_opcode == LIO_NOP) ? 0 :
553 aiocbp._state = JOB_WIP;
554 aiocbp._errno = SET_ERROR(EINPROGRESS);
555 aiocbp._retval = -1;
556 error = copyout(&aiocbp, aiocb_uptr, sizeof(struct aiocb));
568 memcpy(&a_job->aiocbp, &aiocbp, sizeof(struct aiocb));
613 syscallarg(struct aiocb *) aiocbp;
641 aiocbp_ptr = (struct aiocb *)SCARG(uap, aiocbp);
652 if (fildes != a_job->aiocbp.aio_fildes) {
656 } else if (a_job->aiocbp.aio_fildes != fildes)
680 if (a_job && ((a_job->aiocbp.aio_fildes == fildes) ||
692 a_job->aiocbp._errno = SET_ERROR(ECANCELED);
693 a_job->aiocbp._state = JOB_DONE;
694 if (copyout(&a_job->aiocbp, a_job->aiocb_uptr,
698 aio_sendsig(p, &a_job->aiocbp.aio_sigevent);
722 syscallarg(const struct aiocb *) aiocbp;
726 struct aiocb aiocbp;
732 error = copyin(SCARG(uap, aiocbp), &aiocbp, sizeof(struct aiocb));
736 if (aiocbp._state == JOB_NONE)
739 *retval = aiocbp._errno;
750 syscallarg(struct aiocb *) aiocbp;
759 return aio_enqueue_job(op, SCARG(uap, aiocbp), NULL);
767 syscallarg(struct aiocb *) aiocbp;
770 return aio_enqueue_job(AIO_READ, SCARG(uap, aiocbp), NULL);
778 syscallarg(struct aiocb *) aiocbp;
782 struct aiocb aiocbp;
788 error = copyin(SCARG(uap, aiocbp), &aiocbp, sizeof(struct aiocb));
792 if (aiocbp._errno == EINPROGRESS || aiocbp._state != JOB_DONE)
795 *retval = aiocbp._retval;
798 aiocbp._errno = 0;
799 aiocbp._retval = -1;
800 aiocbp._state = JOB_NONE;
801 error = copyout(&aiocbp, SCARG(uap, aiocbp), sizeof(struct aiocb));
884 struct aiocb aiocbp;
889 error = copyin(aiocbp_list[i], &aiocbp,
891 if (error == 0 && aiocbp._state != JOB_DONE) {
916 syscallarg(struct aiocb *) aiocbp;
919 return aio_enqueue_job(AIO_WRITE, SCARG(uap, aiocbp), NULL);
1134 struct aiocb *aiocbp;
1155 a_job->aio_op, a_job->aiocbp._errno,
1156 a_job->aiocbp._state, a_job->aiocb_uptr);
1157 aiocbp = &a_job->aiocbp;
1159 aiocbp->aio_fildes, aiocbp->aio_offset,
1160 aiocbp->aio_buf, aiocbp->aio_nbytes);
1166 a_job->aio_op, a_job->aiocbp._errno,
1167 a_job->aiocbp._state, a_job->aiocb_uptr);
1168 aiocbp = &a_job->aiocbp;
1170 aiocbp->aio_fildes, aiocbp->aio_offset,
1171 aiocbp->aio_buf, aiocbp->aio_nbytes);