so_splice
struct so_splice *sp;
sp = so->so_splice;
struct so_splice *sp;
static struct so_splice *
struct so_splice *sp;
so_splice_free(struct so_splice *sp)
struct so_splice *sp;
struct so_splice *sp;
else if (so->so_splice != NULL)
so->so_splice = sp;
struct so_splice *sp;
sp = so->so_splice;
so->so_splice = NULL;
KASSERT(so->so_splice == NULL && so->so_splice_back == NULL,
STAILQ_HEAD(, so_splice) head;
static void so_splice_xfer(struct so_splice *s);
struct so_splice *s, *s_temp;
STAILQ_HEAD(, so_splice) local_head;
error = so_splice(so, so2, &splice);
so_splice_dispatch_async(struct so_splice *sp)
so_splice_dispatch(struct so_splice *sp)
struct so_splice *s;
s = (struct so_splice *)mem;
struct so_splice *s;
s = (struct so_splice *)mem;
splice_zone = uma_zcreate("splice", sizeof(struct so_splice), NULL,
xso->so_splice_so = (uintptr_t)so->so_splice->dst;
so_splice_xfer(struct so_splice *sp)
struct so_splice *so_splice; /* (b) splice state for sink */
struct so_splice *so_splice_back; /* (b) splice state for source */
#define isspliced(so) ((so->so_splice != NULL && \
so->so_splice->src != NULL))
void so_splice_dispatch(struct so_splice *sp);
STAILQ_ENTRY(so_splice) next;