81#include <sys/kernel.h>
82#include <sys/malloc.h>
86#include <sys/socket.h>
93#ifdef NG_SEPARATE_MALLOC
95 "netgraph gif demux node");
97#define M_NETGRAPH_GIF_DEMUX M_NETGRAPH
116#define NUM_FAMILIES nitems(gFamilies)
193 if (
priv->hooks[k] == hook)
258 hookptr = &
priv->gif;
262 return (EPFNOSUPPORT);
265 if (*hookptr != NULL)
318 if (hook ==
priv->gif) {
323 if (m->m_pkthdr.len <
sizeof(sa_family_t)) {
328 if (m->m_len <
sizeof(sa_family_t)
329 && (m = m_pullup(m,
sizeof(sa_family_t))) == NULL) {
340 m_adj(m,
sizeof(sa_family_t));
388 if (hook ==
priv->gif)
393 panic(
"%s", __func__);
#define NG_HOOK_NODE(hook)
int ng_rcvmsg_t(node_p node, item_p item, hook_p lasthook)
#define NG_FWD_ITEM_HOOK(error, item, hook)
int ng_disconnect_t(hook_p hook)
#define NG_NODE_SET_PRIVATE(node, val)
#define NG_RESPOND_MSG(error, here, item, resp)
#define NG_NODE_UNREF(node)
int ng_rcvdata_t(hook_p hook, item_p item)
int ng_shutdown_t(node_p node)
#define NG_FREE_ITEM(item)
int ng_constructor_t(node_p node)
#define NGI_GET_MSG(i, m)
#define NG_NODE_PRIVATE(node)
int ng_newhook_t(node_p node, hook_p hook, const char *name)
MALLOC_DEFINE(M_NG_CCATM, "ng_ccatm", "netgraph uni api node")
static ng_shutdown_t ng_gif_demux_shutdown
const struct iffam * iffam_p
static iffam_p get_iffam_from_af(sa_family_t family)
static const struct iffam gFamilies[]
static ng_newhook_t ng_gif_demux_newhook
static const struct ng_cmdlist ng_gif_demux_cmdlist[]
static ng_rcvmsg_t ng_gif_demux_rcvmsg
static hook_p * get_hook_from_iffam(priv_p priv, iffam_p iffam)
static iffam_p get_iffam_from_hook(priv_p priv, hook_p hook)
NETGRAPH_INIT(gif_demux, &ng_gif_demux_typestruct)
static ng_disconnect_t ng_gif_demux_disconnect
static struct ng_type ng_gif_demux_typestruct
static ng_rcvdata_t ng_gif_demux_rcvdata
static ng_constructor_t ng_gif_demux_constructor
struct ng_gif_demux_private * priv_p
#define M_NETGRAPH_GIF_DEMUX
static iffam_p get_iffam_from_name(const char *name)
#define NG_GIF_DEMUX_HOOK_GIF
#define NGM_GIF_DEMUX_COOKIE
#define NG_GIF_DEMUX_HOOK_INET6
#define NG_GIF_DEMUX_HOOK_NATM
#define NG_GIF_DEMUX_HOOK_ATALK
#define NG_GIF_DEMUX_HOOK_ATM
#define NG_GIF_DEMUX_NODE_TYPE
#define NG_GIF_DEMUX_HOOK_INET
#define NG_GIF_DEMUX_HOOK_IPX
hook_p hooks[NUM_FAMILIES]
struct ng_mesg::ng_msghdr header