Lines Matching refs:pipe_buffer
507 cnt = cpipe->pipe_buffer.cnt;
517 if ((cpipe->pipe_buffer.buffer == NULL) &&
523 if (cpipe->pipe_buffer.buffer == NULL) {
535 if (cpipe->pipe_buffer.in <= cpipe->pipe_buffer.out) {
536 firstseg = cpipe->pipe_buffer.size - cpipe->pipe_buffer.out;
537 bcopy(&cpipe->pipe_buffer.buffer[cpipe->pipe_buffer.out],
540 bcopy(cpipe->pipe_buffer.buffer, &buffer[firstseg],
541 cpipe->pipe_buffer.in);
543 bcopy(&cpipe->pipe_buffer.buffer[cpipe->pipe_buffer.out],
548 cpipe->pipe_buffer.buffer = buffer;
549 cpipe->pipe_buffer.size = size;
550 cpipe->pipe_buffer.in = cnt;
551 cpipe->pipe_buffer.out = 0;
552 cpipe->pipe_buffer.cnt = cnt;
553 atomic_add_long(&amountpipekva, cpipe->pipe_buffer.size);
683 (rpipe->pipe_buffer.size > SMALL_PIPE_SIZE) &&
684 (rpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE) &&
696 if (rpipe->pipe_buffer.cnt > 0) {
697 size = rpipe->pipe_buffer.size - rpipe->pipe_buffer.out;
698 if (size > rpipe->pipe_buffer.cnt)
699 size = rpipe->pipe_buffer.cnt;
705 &rpipe->pipe_buffer.buffer[rpipe->pipe_buffer.out],
711 rpipe->pipe_buffer.out += size;
712 if (rpipe->pipe_buffer.out >= rpipe->pipe_buffer.size)
713 rpipe->pipe_buffer.out = 0;
715 rpipe->pipe_buffer.cnt -= size;
722 if (rpipe->pipe_buffer.cnt == 0) {
723 rpipe->pipe_buffer.in = 0;
724 rpipe->pipe_buffer.out = 0;
813 } else if (rpipe->pipe_buffer.cnt < MINPIPESIZE) {
823 if ((rpipe->pipe_buffer.size - rpipe->pipe_buffer.cnt) >= PIPE_BUF)
847 if (uio->uio_iov->iov_len > wpipe->pipe_buffer.size)
848 size = wpipe->pipe_buffer.size;
916 wpipe->pipe_buffer.in = size;
917 wpipe->pipe_buffer.out = 0;
918 wpipe->pipe_buffer.cnt = size;
921 iov.iov_base = wpipe->pipe_buffer.buffer;
975 if (wpipe->pipe_buffer.cnt > 0) {
1082 desiredsize = max(SMALL_PIPE_SIZE, wpipe->pipe_buffer.size);
1083 while (desiredsize < wpipe->pipe_buffer.cnt + uio->uio_resid) {
1095 (wpipe->pipe_buffer.size > SMALL_PIPE_SIZE) &&
1096 (wpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE) &&
1101 if ((desiredsize != wpipe->pipe_buffer.size) &&
1107 if (wpipe->pipe_buffer.size == 0) {
1144 wpipe->pipe_buffer.size >= PIPE_MINDIRECT &&
1177 space = wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt;
1202 segsize = wpipe->pipe_buffer.size -
1203 wpipe->pipe_buffer.in;
1210 error = uiomove(&wpipe->pipe_buffer.buffer[wpipe->pipe_buffer.in],
1215 KASSERT(wpipe->pipe_buffer.in + segsize ==
1216 wpipe->pipe_buffer.size,
1226 &wpipe->pipe_buffer.buffer[0],
1231 wpipe->pipe_buffer.in += size;
1232 if (wpipe->pipe_buffer.in >=
1233 wpipe->pipe_buffer.size) {
1234 KASSERT(wpipe->pipe_buffer.in ==
1236 wpipe->pipe_buffer.size,
1238 wpipe->pipe_buffer.in = size - segsize;
1241 wpipe->pipe_buffer.cnt += size;
1242 KASSERT(wpipe->pipe_buffer.cnt <=
1243 wpipe->pipe_buffer.size,
1288 } else if (wpipe->pipe_buffer.cnt > 0) {
1315 if (wpipe->pipe_buffer.cnt)
1389 *(int *)data = mpipe->pipe_buffer.cnt;
1446 (rpipe->pipe_buffer.cnt > 0))
1453 ((wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt) >= PIPE_BUF ||
1454 wpipe->pipe_buffer.size == 0)))
1551 ub->st_size = pipe->pipe_buffer.cnt;
1625 kif->kf_un.kf_pipe.kf_pipe_buffer_cnt = pi->pipe_buffer.cnt; in pipe_fill_kinfo()
1637 if (cpipe->pipe_buffer.buffer != NULL) {
1638 atomic_subtract_long(&amountpipekva, cpipe->pipe_buffer.size);
1640 (vm_offset_t)cpipe->pipe_buffer.buffer,
1641 (vm_offset_t)cpipe->pipe_buffer.buffer + cpipe->pipe_buffer.size);
1642 cpipe->pipe_buffer.buffer = NULL;
1797 kn->kn_data = rpipe->pipe_buffer.cnt; in filt_piperead()
1829 kn->kn_data = (wpipe->pipe_buffer.size > 0) ? in filt_pipewrite()
1830 (wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt) : PIPE_BUF; in filt_pipewrite()