1 /*
2  * ng_h4_prse.h
3  */
4 
5 /*-
6  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
7  *
8  * Copyright (c) 2001 Maksim Yevmenkin <[email protected]>
9  * All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  * 1. Redistributions of source code must retain the above copyright
15  *    notice, this list of conditions and the following disclaimer.
16  * 2. Redistributions in binary form must reproduce the above copyright
17  *    notice, this list of conditions and the following disclaimer in the
18  *    documentation and/or other materials provided with the distribution.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
21  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
24  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30  * SUCH DAMAGE.
31  *
32  * $Id: ng_h4_prse.h,v 1.4 2005/10/31 17:57:43 max Exp $
33  * $FreeBSD$
34  */
35 
36 /***************************************************************************
37  ***************************************************************************
38  **                  ng_parse definitions for the H4 node
39  ***************************************************************************
40  ***************************************************************************/
41 
42 #ifndef _NETGRAPH_H4_PRSE_H_
43 #define _NETGRAPH_H4_PRSE_H_
44 
45 /*
46  * H4 node command list
47  */
48 
49 /* Stat info */
50 static const struct ng_parse_struct_field	ng_h4_stat_type_fields[] =
51 {
52 	{ "pckts_recv",	&ng_parse_uint32_type, },
53 	{ "bytes_recv",	&ng_parse_uint32_type, },
54 	{ "pckts_sent",	&ng_parse_uint32_type, },
55 	{ "bytes_sent",	&ng_parse_uint32_type, },
56 	{ "oerrors",	&ng_parse_uint32_type, },
57 	{ "ierrors",	&ng_parse_uint32_type, },
58 	{ NULL, }
59 };
60 static const struct ng_parse_type		ng_h4_stat_type = {
61 	&ng_parse_struct_type,
62 	&ng_h4_stat_type_fields
63 };
64 
65 static const struct ng_cmdlist	ng_h4_cmdlist[] = {
66 	{
67 		NGM_H4_COOKIE,
68 		NGM_H4_NODE_RESET,
69 		"reset",
70 		NULL,
71 		NULL
72 	},
73 	{
74 		NGM_H4_COOKIE,
75 		NGM_H4_NODE_GET_STATE,
76 		"get_state",
77 		NULL,
78 		&ng_parse_uint16_type
79 	},
80 	{
81 		NGM_H4_COOKIE,
82 		NGM_H4_NODE_GET_DEBUG,
83 		"get_debug",
84 		NULL,
85 		&ng_parse_uint16_type
86 	},
87 	{
88 		NGM_H4_COOKIE,
89 		NGM_H4_NODE_SET_DEBUG,
90 		"set_debug",
91 		&ng_parse_uint16_type,
92 		NULL
93 	},
94 	{
95 		NGM_H4_COOKIE,
96 		NGM_H4_NODE_GET_QLEN,
97 		"get_qlen",
98 		NULL,
99 		&ng_parse_int32_type
100 	},
101 	{
102 		NGM_H4_COOKIE,
103 		NGM_H4_NODE_SET_QLEN,
104 		"set_qlen",
105 		&ng_parse_int32_type,
106 		NULL
107 	},
108 	{
109 		NGM_H4_COOKIE,
110 		NGM_H4_NODE_GET_STAT,
111 		"get_stat",
112 		NULL,
113 		&ng_h4_stat_type
114 	},
115 	{
116 		NGM_H4_COOKIE,
117 		NGM_H4_NODE_RESET_STAT,
118 		"reset_stat",
119 		NULL,
120 		NULL
121 	},
122 	{ 0, }
123 };
124 
125 #endif /* ndef _NETGRAPH_H4_PRSE_H_ */
126