47#include <sys/kernel.h>
48#include <sys/malloc.h>
105 priv = malloc(
sizeof(*
priv), M_NETGRAPH, M_WAITOK | M_ZERO);
121 priv->downlink = hook;
143 if (lasthook ==
priv->downlink) {
149 if (
priv->downlink) {
160#define MAX_ENCAPS_HDR 1
161#define ERROUT(x) do { error = (x); goto done; } while (0)
175 if (hook ==
priv->downlink) {
181 ptr = start = mtod(m, u_char *);
187 m_adj(m, ptr - start);
189 }
else if (hook ==
priv->uplink) {
190 M_PREPEND(m, 1, M_NOWAIT);
193 mtod(m, u_char *)[0] =
HDLC_UI;
196 panic(
"%s", __func__);
214 free(
priv, M_NETGRAPH);
228 if (hook ==
priv->downlink)
229 priv->downlink = NULL;
230 else if (hook ==
priv->uplink)
233 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_NODE_IS_VALID(node)
#define NG_NODE_UNREF(node)
int ng_rmnode_self(node_p here)
#define NG_FWD_NEW_DATA(error, item, hook, m)
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 NG_NODE_NUMHOOKS(node)
#define NG_NODE_PRIVATE(node)
int ng_newhook_t(node_p node, hook_p hook, const char *name)
static ng_constructor_t ng_UI_constructor
static ng_disconnect_t ng_UI_disconnect
struct ng_UI_private * priv_p
NETGRAPH_INIT(UI, &typestruct)
static ng_newhook_t ng_UI_newhook
static ng_rcvmsg_t ng_UI_rcvmsg
static struct ng_type typestruct
static ng_rcvdata_t ng_UI_rcvdata
static ng_shutdown_t ng_UI_shutdown
#define NG_UI_HOOK_DOWNSTREAM
#define NG_UI_HOOK_UPSTREAM
struct ng_mesg::ng_msghdr header