Lines Matching full:left
199 * A structure representing a spliced pair of connections. left[1] is
203 int left[2]; member
217 tcp4_socketpair(sc->left); in splice_conn_init_limits()
219 splice_pair(sc->left[1], sc->right[0], max, tv); in splice_conn_init_limits()
233 data = fionread(sc->left[0]); in splice_conn_check_empty()
234 ATF_REQUIRE_MSG(data == 0, "unexpected data on left[0]: %d", data); in splice_conn_check_empty()
235 data = fionread(sc->left[1]); in splice_conn_check_empty()
236 ATF_REQUIRE_MSG(data == 0, "unexpected data on left[1]: %d", data); in splice_conn_check_empty()
246 checked_close(sc->left[0]); in splice_conn_fini()
247 checked_close(sc->left[1]); in splice_conn_fini()
255 noblocking(sc->left[0]); in splice_conn_noblocking()
256 noblocking(sc->left[1]); in splice_conn_noblocking()
271 check_nspliced(sc.left[1], 0); in ATF_TC_BODY()
274 /* Left-to-right. */ in ATF_TC_BODY()
276 n = write(sc.left[0], &c, 1); in ATF_TC_BODY()
281 check_nspliced(sc.left[1], 1); in ATF_TC_BODY()
284 /* Right-to-left. */ in ATF_TC_BODY()
288 n = read(sc.left[0], &c, 1); in ATF_TC_BODY()
291 check_nspliced(sc.left[1], 1); in ATF_TC_BODY()
295 unsplice(sc.left[1]); in ATF_TC_BODY()
297 check_nspliced(sc.left[1], 1); in ATF_TC_BODY()
327 int error, left[2], right[2]; in ATF_TC_BODY() local
329 tcp4_socketpair(left); in ATF_TC_BODY()
335 remove_rights(left[1], cap_rights_init(&rights, CAP_RECV)); in ATF_TC_BODY()
337 error = setsockopt(left[1], SOL_SOCKET, SO_SPLICE, &sp, sizeof(sp)); in ATF_TC_BODY()
340 /* Make sure we can still splice left[1] in the other direction. */ in ATF_TC_BODY()
341 splice_init(&sp, left[1], 0, NULL); in ATF_TC_BODY()
349 * Now remove send rights from left[1] and verify that splicing is no in ATF_TC_BODY()
352 remove_rights(left[1], cap_rights_init(&rights, CAP_SEND)); in ATF_TC_BODY()
353 splice_init(&sp, left[1], 0, NULL); in ATF_TC_BODY()
361 error = getsockopt(left[1], SOL_SOCKET, SO_SPLICE, &n, in ATF_TC_BODY()
370 splice_pair(left[0], right[1], 0, NULL); in ATF_TC_BODY()
371 error = cap_rights_limit(left[0], in ATF_TC_BODY()
375 unsplice(left[0]); in ATF_TC_BODY()
377 checked_close(left[0]); in ATF_TC_BODY()
378 checked_close(left[1]); in ATF_TC_BODY()
395 tcp4_socketpair(sc.left); in ATF_TC_BODY()
400 error = setsockopt(sc.left[1], SOL_SOCKET, SO_SPLICE, &sp, sizeof(sp)); in ATF_TC_BODY()
405 error = setsockopt(sc.left[1], SOL_SOCKET, SO_SPLICE, &sp, sizeof(sp)); in ATF_TC_BODY()
410 error = setsockopt(sc.left[1], SOL_SOCKET, SO_SPLICE, &sp, sizeof(sp)); in ATF_TC_BODY()
412 unsplice(sc.left[1]); in ATF_TC_BODY()
414 error = setsockopt(sc.left[1], SOL_SOCKET, SO_SPLICE, &sp, sizeof(sp)); in ATF_TC_BODY()
419 error = setsockopt(sc.left[1], SOL_SOCKET, SO_SPLICE, &sp, sizeof(sp)); in ATF_TC_BODY()
422 error = setsockopt(sc.left[1], SOL_SOCKET, SO_SPLICE, &sp, sizeof(sp)); in ATF_TC_BODY()
425 error = setsockopt(sc.left[0], SOL_SOCKET, SO_SPLICE, &sp, sizeof(sp)); in ATF_TC_BODY()
428 error = setsockopt(sc.left[1], SOL_SOCKET, SO_SPLICE, &sp, sizeof(sp)); in ATF_TC_BODY()
435 error = setsockopt(sc.left[1], SOL_SOCKET, SO_SPLICE, &sp, sizeof(sp)); in ATF_TC_BODY()
441 error = setsockopt(sc.left[1], SOL_SOCKET, SO_SPLICE, &sp, sizeof(sp)); in ATF_TC_BODY()
448 error = setsockopt(sc.left[1], SOL_SOCKET, SO_SPLICE, &sp, sizeof(sp)); in ATF_TC_BODY()
459 error = setsockopt(sc.left[1], SOL_SOCKET, SO_SPLICE, &sp, sizeof(sp)); in ATF_TC_BODY()
486 EV_SET(&kev, sc.left[1], EVFILT_READ, EV_ADD, 0, 0, NULL); in ATF_TC_BODY()
496 n = write(sc.left[0], &b, 1); in ATF_TC_BODY()
509 n = read(sc.left[0], &b, 1); in ATF_TC_BODY()
531 n = write(sc.left[0], buf, total); in ATF_TC_BODY()
539 check_nspliced(sc.left[1], sizeof(buf)); in ATF_TC_BODY()
544 n = write(sc.left[0], &b, 1); in ATF_TC_BODY()
555 n = write(sc.left[0], &b, 1); in ATF_TC_BODY()
557 n = read(sc.left[1], &b, 1); in ATF_TC_BODY()
583 n = write(sc.left[0], buf, total); in ATF_TC_BODY()
591 check_nspliced(sc.left[1], sizeof(buf)); in ATF_TC_BODY()
603 n = write(sc.left[0], &b, 1); in ATF_TC_BODY()
605 n = read(sc.left[1], &b, 1); in ATF_TC_BODY()
628 error = listen(sc.left[1], 1); in ATF_TC_BODY()
734 n = write(sc.left[0], buf, sizeof(buf)); in ATF_TC_BODY()
766 /* Left-to-right. */ in ATF_TC_BODY()
768 n = write(sc.left[0], &c, 1); in ATF_TC_BODY()
773 check_nspliced(sc.left[1], 1); in ATF_TC_BODY()
776 /* Right-to-left. */ in ATF_TC_BODY()
780 n = read(sc.left[0], &c, 1); in ATF_TC_BODY()
783 check_nspliced(sc.left[1], 1); in ATF_TC_BODY()
787 unsplice(sc.left[1]); in ATF_TC_BODY()
789 check_nspliced(sc.left[1], 1); in ATF_TC_BODY()
793 splice_pair(sc.left[1], sc.right[0], 0, NULL); in ATF_TC_BODY()
794 check_nspliced(sc.left[1], 0); in ATF_TC_BODY()
797 /* Left-to-right. */ in ATF_TC_BODY()
799 n = write(sc.left[0], &c, 1); in ATF_TC_BODY()
804 check_nspliced(sc.left[1], 1); in ATF_TC_BODY()
807 /* Right-to-left. */ in ATF_TC_BODY()
811 n = read(sc.left[0], &c, 1); in ATF_TC_BODY()
814 check_nspliced(sc.left[1], 1); in ATF_TC_BODY()
894 .fd = sc.left[0] in ATF_TC_BODY()