cpipe 169 kern/sys_pipe.c pipespace(struct pipe *cpipe, u_int size)
cpipe 179 kern/sys_pipe.c pipe_free_kmem(cpipe);
cpipe 180 kern/sys_pipe.c cpipe->pipe_buffer.buffer = buffer;
cpipe 181 kern/sys_pipe.c cpipe->pipe_buffer.size = size;
cpipe 182 kern/sys_pipe.c cpipe->pipe_buffer.in = 0;
cpipe 183 kern/sys_pipe.c cpipe->pipe_buffer.out = 0;
cpipe 184 kern/sys_pipe.c cpipe->pipe_buffer.cnt = 0;
cpipe 186 kern/sys_pipe.c amountpipekva += cpipe->pipe_buffer.size;
cpipe 195 kern/sys_pipe.c pipe_create(struct pipe *cpipe)
cpipe 200 kern/sys_pipe.c cpipe->pipe_buffer.buffer = NULL;
cpipe 205 kern/sys_pipe.c bzero(&cpipe->pipe_sel, sizeof cpipe->pipe_sel);
cpipe 206 kern/sys_pipe.c cpipe->pipe_state = 0;
cpipe 207 kern/sys_pipe.c cpipe->pipe_peer = NULL;
cpipe 208 kern/sys_pipe.c cpipe->pipe_busy = 0;
cpipe 210 kern/sys_pipe.c error = pipespace(cpipe, PIPE_SIZE);
cpipe 214 kern/sys_pipe.c nanotime(&cpipe->pipe_ctime);
cpipe 215 kern/sys_pipe.c cpipe->pipe_atime = cpipe->pipe_ctime;
cpipe 216 kern/sys_pipe.c cpipe->pipe_mtime = cpipe->pipe_ctime;
cpipe 217 kern/sys_pipe.c cpipe->pipe_pgid = NO_PID;
cpipe 227 kern/sys_pipe.c pipelock(struct pipe *cpipe)
cpipe 230 kern/sys_pipe.c while (cpipe->pipe_state & PIPE_LOCK) {
cpipe 231 kern/sys_pipe.c cpipe->pipe_state |= PIPE_LWANT;
cpipe 232 kern/sys_pipe.c if ((error = tsleep(cpipe, PRIBIO|PCATCH, "pipelk", 0)))
cpipe 235 kern/sys_pipe.c cpipe->pipe_state |= PIPE_LOCK;
cpipe 243 kern/sys_pipe.c pipeunlock(struct pipe *cpipe)
cpipe 245 kern/sys_pipe.c cpipe->pipe_state &= ~PIPE_LOCK;
cpipe 246 kern/sys_pipe.c if (cpipe->pipe_state & PIPE_LWANT) {
cpipe 247 kern/sys_pipe.c cpipe->pipe_state &= ~PIPE_LWANT;
cpipe 248 kern/sys_pipe.c wakeup(cpipe);
cpipe 253 kern/sys_pipe.c pipeselwakeup(struct pipe *cpipe)
cpipe 255 kern/sys_pipe.c if (cpipe->pipe_state & PIPE_SEL) {
cpipe 256 kern/sys_pipe.c cpipe->pipe_state &= ~PIPE_SEL;
cpipe 257 kern/sys_pipe.c selwakeup(&cpipe->pipe_sel);
cpipe 259 kern/sys_pipe.c if ((cpipe->pipe_state & PIPE_ASYNC) && cpipe->pipe_pgid != NO_PID)
cpipe 260 kern/sys_pipe.c gsignal(cpipe->pipe_pgid, SIGIO);
cpipe 261 kern/sys_pipe.c KNOTE(&cpipe->pipe_sel.si_note, 0);
cpipe 702 kern/sys_pipe.c struct pipe *cpipe = (struct pipe *)fp->f_data;
cpipe 706 kern/sys_pipe.c pipeclose(cpipe);
cpipe 711 kern/sys_pipe.c pipe_free_kmem(struct pipe *cpipe)
cpipe 713 kern/sys_pipe.c if (cpipe->pipe_buffer.buffer != NULL) {
cpipe 714 kern/sys_pipe.c if (cpipe->pipe_buffer.size > PIPE_SIZE)
cpipe 716 kern/sys_pipe.c amountpipekva -= cpipe->pipe_buffer.size;
cpipe 717 kern/sys_pipe.c uvm_km_free(kernel_map, (vaddr_t)cpipe->pipe_buffer.buffer,
cpipe 718 kern/sys_pipe.c cpipe->pipe_buffer.size);
cpipe 719 kern/sys_pipe.c cpipe->pipe_buffer.buffer = NULL;
cpipe 727 kern/sys_pipe.c pipeclose(struct pipe *cpipe)
cpipe 730 kern/sys_pipe.c if (cpipe) {
cpipe 732 kern/sys_pipe.c pipeselwakeup(cpipe);
cpipe 738 kern/sys_pipe.c cpipe->pipe_state |= PIPE_EOF;
cpipe 739 kern/sys_pipe.c while (cpipe->pipe_busy) {
cpipe 740 kern/sys_pipe.c wakeup(cpipe);
cpipe 741 kern/sys_pipe.c cpipe->pipe_state |= PIPE_WANT;
cpipe 742 kern/sys_pipe.c tsleep(cpipe, PRIBIO, "pipecl", 0);
cpipe 748 kern/sys_pipe.c if ((ppipe = cpipe->pipe_peer) != NULL) {
cpipe 760 kern/sys_pipe.c pipe_free_kmem(cpipe);
cpipe 761 kern/sys_pipe.c pool_put(&pipe_pool, cpipe);