1107120Sjulian/*
2107120Sjulian * ng_h4_prse.h
3139823Simp */
4139823Simp
5139823Simp/*-
6107120Sjulian * Copyright (c) 2001 Maksim Yevmenkin <m_evmenkin@yahoo.com>
7107120Sjulian * All rights reserved.
8107120Sjulian *
9107120Sjulian * Redistribution and use in source and binary forms, with or without
10107120Sjulian * modification, are permitted provided that the following conditions
11107120Sjulian * are met:
12107120Sjulian * 1. Redistributions of source code must retain the above copyright
13107120Sjulian *    notice, this list of conditions and the following disclaimer.
14107120Sjulian * 2. Redistributions in binary form must reproduce the above copyright
15107120Sjulian *    notice, this list of conditions and the following disclaimer in the
16107120Sjulian *    documentation and/or other materials provided with the distribution.
17107120Sjulian *
18107120Sjulian * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19107120Sjulian * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20107120Sjulian * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21107120Sjulian * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22107120Sjulian * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23107120Sjulian * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24107120Sjulian * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25107120Sjulian * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26107120Sjulian * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27107120Sjulian * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28107120Sjulian * SUCH DAMAGE.
29107120Sjulian *
30171818Semax * $Id: ng_h4_prse.h,v 1.4 2005/10/31 17:57:43 max Exp $
31107120Sjulian * $FreeBSD$
32107120Sjulian */
33107120Sjulian
34107120Sjulian/***************************************************************************
35107120Sjulian ***************************************************************************
36107120Sjulian **                  ng_parse definitions for the H4 node
37107120Sjulian ***************************************************************************
38107120Sjulian ***************************************************************************/
39107120Sjulian
40107120Sjulian#ifndef _NETGRAPH_H4_PRSE_H_
41122634Semax#define _NETGRAPH_H4_PRSE_H_
42107120Sjulian
43107120Sjulian/*
44107120Sjulian * H4 node command list
45107120Sjulian */
46107120Sjulian
47107120Sjulian/* Stat info */
48107120Sjulianstatic const struct ng_parse_struct_field	ng_h4_stat_type_fields[] =
49107120Sjulian{
50107120Sjulian	{ "pckts_recv",	&ng_parse_uint32_type, },
51107120Sjulian	{ "bytes_recv",	&ng_parse_uint32_type, },
52107120Sjulian	{ "pckts_sent",	&ng_parse_uint32_type, },
53107120Sjulian	{ "bytes_sent",	&ng_parse_uint32_type, },
54107120Sjulian	{ "oerrors",	&ng_parse_uint32_type, },
55107120Sjulian	{ "ierrors",	&ng_parse_uint32_type, },
56107120Sjulian	{ NULL, }
57107120Sjulian};
58107120Sjulianstatic const struct ng_parse_type		ng_h4_stat_type = {
59107120Sjulian	&ng_parse_struct_type,
60107120Sjulian	&ng_h4_stat_type_fields
61107120Sjulian};
62107120Sjulian
63107120Sjulianstatic const struct ng_cmdlist	ng_h4_cmdlist[] = {
64107120Sjulian	{
65107120Sjulian		NGM_H4_COOKIE,
66107120Sjulian		NGM_H4_NODE_RESET,
67107120Sjulian		"reset",
68107120Sjulian		NULL,
69107120Sjulian		NULL
70107120Sjulian	},
71107120Sjulian	{
72107120Sjulian		NGM_H4_COOKIE,
73107120Sjulian		NGM_H4_NODE_GET_STATE,
74107120Sjulian		"get_state",
75107120Sjulian		NULL,
76107120Sjulian		&ng_parse_uint16_type
77107120Sjulian	},
78107120Sjulian	{
79107120Sjulian		NGM_H4_COOKIE,
80107120Sjulian		NGM_H4_NODE_GET_DEBUG,
81107120Sjulian		"get_debug",
82107120Sjulian		NULL,
83107120Sjulian		&ng_parse_uint16_type
84107120Sjulian	},
85107120Sjulian	{
86107120Sjulian		NGM_H4_COOKIE,
87107120Sjulian		NGM_H4_NODE_SET_DEBUG,
88107120Sjulian		"set_debug",
89107120Sjulian		&ng_parse_uint16_type,
90107120Sjulian		NULL
91107120Sjulian	},
92107120Sjulian	{
93107120Sjulian		NGM_H4_COOKIE,
94107120Sjulian		NGM_H4_NODE_GET_QLEN,
95107120Sjulian		"get_qlen",
96107120Sjulian		NULL,
97107120Sjulian		&ng_parse_int32_type
98107120Sjulian	},
99107120Sjulian	{
100107120Sjulian		NGM_H4_COOKIE,
101107120Sjulian		NGM_H4_NODE_SET_QLEN,
102107120Sjulian		"set_qlen",
103107120Sjulian		&ng_parse_int32_type,
104107120Sjulian		NULL
105107120Sjulian	},
106107120Sjulian	{
107107120Sjulian		NGM_H4_COOKIE,
108107120Sjulian		NGM_H4_NODE_GET_STAT,
109107120Sjulian		"get_stat",
110107120Sjulian		NULL,
111107120Sjulian		&ng_h4_stat_type
112107120Sjulian	},
113107120Sjulian	{
114107120Sjulian		NGM_H4_COOKIE,
115107120Sjulian		NGM_H4_NODE_RESET_STAT,
116107120Sjulian		"reset_stat",
117107120Sjulian		NULL,
118107120Sjulian		NULL
119107120Sjulian	},
120107120Sjulian	{ 0, }
121107120Sjulian};
122107120Sjulian
123107120Sjulian#endif /* ndef _NETGRAPH_H4_PRSE_H_ */
124107120Sjulian
125