Lines Matching refs:aiocb
740 * aiocb's to satisfy request.
894 void *aiocb,
939 * skip aiocb copyin.
957 if (copyin(aiocb, cbplist, ssize)) {
1145 * Associate an aiocb with a port.
1181 * Asynchronous list IO. A chain of aiocb's are copied in
1182 * one at a time. If the aiocb is invalid, it is skipped.
1183 * For each aiocb, the appropriate driver entry point is
1209 aiocb_t *aiocb = &cb;
1309 * Prepare data to send when list of aiocb's
1325 if (cbp == NULL || copyin(cbp, aiocb, sizeof (*aiocb))) {
1335 /* skip if opcode for aiocb is LIO_NOP */
1336 mode = aiocb->aio_lio_opcode;
1349 if ((fp = getf(aiocb->aio_fildes)) == NULL) {
1365 releasef(aiocb->aio_fildes);
1387 releasef(aiocb->aio_fildes);
1403 error = aio_req_setup(&reqp, aiop, aiocb,
1406 releasef(aiocb->aio_fildes);
1431 aio_port = (aiocb->aio_sigevent.sigev_notify == SIGEV_PORT);
1432 aio_thread = (aiocb->aio_sigevent.sigev_notify == SIGEV_THREAD);
1436 * Prepare data to send with each aiocb completed.
1440 aiocb->aio_sigevent.sigev_value.sival_ptr;
1445 aiocb->aio_sigevent.sigev_signo;
1447 aiocb->aio_sigevent.sigev_value.sival_ptr;
1473 if (aiocb->aio_nbytes == 0) {
1474 clear_active_fd(aiocb->aio_fildes);
1487 releasef(aiocb->aio_fildes);
1501 clear_active_fd(aiocb->aio_fildes);
1553 void *aiocb,
1595 if (copyin(aiocb, cbplist, ssize)) {
1602 * list of aiocb structs, find the request
1613 * as well as for largefile aiocb.
1707 * aiocb.
1952 aiocb_t aiocb;
1980 aiocb.aio_fildes = fdes;
1981 aiocb.aio_buf = bufp;
1982 aiocb.aio_nbytes = bufsize;
1983 aiocb.aio_offset = offset;
1984 aiocb.aio_sigevent.sigev_notify = 0;
1985 error = aio_req_setup(&reqp, aiop, &aiocb, resultp, vp, 1);
2050 aiocb_t aiocb;
2071 if (copyin(aiocb_arg, &aiocb, sizeof (aiocb_t)))
2073 bufsize = aiocb.aio_nbytes;
2075 if ((fp = getf(fd = aiocb.aio_fildes)) == NULL) {
2078 sigev = &aiocb.aio_sigevent;
2102 pntfy.portnfy_port = aiocb.aio_sigevent.sigev_signo;
2104 aiocb.aio_sigevent.sigev_value.sival_ptr;
2116 aiocb_32ton(&aiocb32, &aiocb);
2131 aiocb_LFton(&aiocb64, &aiocb);
2177 error = aio_req_setup(&reqp, aiop, &aiocb, resultp, vp, 0);
2911 aiocb64_32_t *aiocb = &cb64;
3018 * Prepare data to send when list of aiocb's
3034 if (cbp == NULL || copyin(cbp, aiocb, sizeof (*aiocb))) {
3044 /* skip if opcode for aiocb is LIO_NOP */
3045 mode = aiocb->aio_lio_opcode;
3058 if ((fp = getf(aiocb->aio_fildes)) == NULL) {
3074 releasef(aiocb->aio_fildes);
3096 releasef(aiocb->aio_fildes);
3113 aiocb_LFton(aiocb, &aiocb_n);
3117 error = aio_req_setupLF(&reqp, aiop, aiocb,
3121 releasef(aiocb->aio_fildes);
3146 aio_port = (aiocb->aio_sigevent.sigev_notify == SIGEV_PORT);
3147 aio_thread = (aiocb->aio_sigevent.sigev_notify == SIGEV_THREAD);
3151 * Prepare data to send with each aiocb completed.
3155 aiocb->aio_sigevent.sigev_value.sival_ptr;
3160 aiocb->aio_sigevent.sigev_signo;
3162 aiocb->aio_sigevent.sigev_value.sival_ptr;
3188 if (aiocb->aio_nbytes == 0) {
3189 clear_active_fd(aiocb->aio_fildes);
3202 releasef(aiocb->aio_fildes);
3216 clear_active_fd(aiocb->aio_fildes);
3386 aiocb_t *aiocb = &cb;
3503 * Prepare data to send when list of aiocb's has
3523 if (cbp == NULL || copyin(cbp, aiocb, sizeof (*aiocb)))
3538 aiocb_32ton(aiocb32, aiocb);
3541 /* skip if opcode for aiocb is LIO_NOP */
3542 mode = aiocb->aio_lio_opcode;
3555 if ((fp = getf(aiocb->aio_fildes)) == NULL) {
3571 releasef(aiocb->aio_fildes);
3593 releasef(aiocb->aio_fildes);
3609 error = aio_req_setup(&reqp, aiop, aiocb,
3612 releasef(aiocb->aio_fildes);
3637 aio_port = (aiocb->aio_sigevent.sigev_notify == SIGEV_PORT);
3638 aio_thread = (aiocb->aio_sigevent.sigev_notify == SIGEV_THREAD);
3642 * Prepare data to send with each aiocb completed.
3659 aiocb->aio_sigevent.sigev_value.sival_ptr;
3664 aiocb->aio_sigevent.sigev_signo;
3666 aiocb->aio_sigevent.sigev_value.sival_ptr;
3693 if (aiocb->aio_nbytes == 0) {
3694 clear_active_fd(aiocb->aio_fildes);
3707 releasef(aiocb->aio_fildes);
3721 clear_active_fd(aiocb->aio_fildes);
3797 * The aiocb pointer is the object element of the port_kevent_t structure.