xref: /trueos/sys/netgraph/atm/ng_sscfu.h (revision a50ffc29129a52835a39bf4868cd5facdc7dce30)
1 /*-
2  * Copyright (c) 2001-2003
3  *	Fraunhofer Institute for Open Communication Systems (FhG Fokus).
4  * 	All rights reserved.
5  *
6  * Author: Harti Brandt <harti@freebsd.org>
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 1. Redistributions of source code must retain the above copyright
12  *    notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  *    notice, this list of conditions and the following disclaimer in the
15  *    documentation and/or other materials provided with the distribution.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27  * SUCH DAMAGE.
28  *
29  * $FreeBSD$
30  *
31  * Netgraph module for ITU-T Q.2120 UNI SSCF.
32  */
33 #ifndef _NETGRAPH_ATM_NG_SSCFU_H_
34 #define	_NETGRAPH_ATM_NG_SSCFU_H_
35 
36 #define NG_SSCFU_NODE_TYPE "sscfu"
37 #define NGM_SSCFU_COOKIE	980517963
38 
39 /* Netgraph control messages */
40 enum {
41 	NGM_SSCFU_GETDEFPARAM = 1,	/* get default SSCOP parameters */
42 	NGM_SSCFU_ENABLE,		/* enable processing */
43 	NGM_SSCFU_DISABLE,		/* disable processing */
44 	NGM_SSCFU_GETDEBUG,		/* get debug flags */
45 	NGM_SSCFU_SETDEBUG,		/* set debug flags */
46 	NGM_SSCFU_GETSTATE,		/* get current state */
47 };
48 
49 /* getdefparam return */
50 struct ng_sscfu_getdefparam {
51 	struct sscop_param	param;
52 	uint32_t		mask;
53 };
54 #define NG_SSCFU_GETDEFPARAM_INFO 				\
55 	{							\
56 	  { "param",		&ng_sscop_param_type },		\
57 	  { "mask",		&ng_parse_uint32_type },	\
58 	  { NULL }						\
59 	}
60 
61 /*
62  * Upper interface
63  */
64 struct sscfu_arg {
65 	uint32_t	sig;
66 	u_char		data[];
67 };
68 #endif
69