FreeBSD/sys/net/bpf.c
/*
 * If the buffer mechanism has a way to decide that a held buffer can be made
 * free, then it is exposed via the bpf_canfreebuf() interface.  (1) is
 * returned if the buffer can be discarded, (0) is returned if it cannot.
 */
If the buffer mechanism has a way to decide that a held buffer can be made
free, then it is exposed via the bpf_canfreebuf() interface.  (1) is
returned if the buffer can be discarded, (0) is returned if it cannot.
If the buffer mechanism has a way to decide that a held buffer can be made free then it is exposed via the bpf_canfreebuf () interface . ( 1 ) is returned if the buffer can be discarded ( 0 ) is returned if it cannot .
static int
bpf_canfreebuf(struct bpf_d *d)
{
	BPFD_LOCK_ASSERT(d);
	switch (d->bd_bufmode) {
	case BPF_BUFMODE_ZBUF:
		return (bpf_zerocopy_canfreebuf(d));
	}
	return (0);
}
static int bpf_canfreebuf ( struct bpf_d * d ) { BPFD_LOCK_ASSERT ( d ) ; switch ( d -> bd_bufmode ) { case BPF_BUFMODE_ZBUF : return ( bpf_zerocopy_canfreebuf ( d ) ) ; } return ( 0 ) ; }
If the buffer mechanism has a way to decide that a held buffer can be made
 free, then it is exposed via the bpf_canfreebuf() interface.
If the buffer mechanism has a way to decide that a held buffer can be made free then it is exposed via the bpf_canfreebuf () interface .