1139823Simp/*- 2122219Sharti * Copyright (c) 2001-2003 3122219Sharti * Fraunhofer Institute for Open Communication Systems (FhG Fokus). 4122219Sharti * All rights reserved. 5122219Sharti * 6122219Sharti * Author: Hartmut Brandt <harti@freebsd.org> 7122219Sharti * 8122219Sharti * Redistribution and use in source and binary forms, with or without 9122219Sharti * modification, are permitted provided that the following conditions 10122219Sharti * are met: 11122219Sharti * 1. Redistributions of source code must retain the above copyright 12122219Sharti * notice, this list of conditions and the following disclaimer. 13122219Sharti * 2. Redistributions in binary form must reproduce the above copyright 14122219Sharti * notice, this list of conditions and the following disclaimer in the 15122219Sharti * documentation and/or other materials provided with the distribution. 16122219Sharti * 17122219Sharti * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 18122219Sharti * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19122219Sharti * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20122219Sharti * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 21122219Sharti * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22122219Sharti * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23122219Sharti * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24122219Sharti * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25122219Sharti * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26122219Sharti * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27122219Sharti * SUCH DAMAGE. 28122219Sharti * 29122219Sharti * $FreeBSD$ 30122219Sharti * 31122219Sharti * Netgraph module for UNI 4.0 32122219Sharti */ 33122219Sharti#ifndef _NETGRAPH_ATM_NG_UNI_H_ 34122219Sharti#define _NETGRAPH_ATM_NG_UNI_H_ 35122219Sharti 36122219Sharti#define NG_UNI_NODE_TYPE "uni" 37122219Sharti#define NGM_UNI_COOKIE 981112392 38122219Sharti 39122219Shartienum { 40122219Sharti NGM_UNI_GETDEBUG, /* get debug flags */ 41122219Sharti NGM_UNI_SETDEBUG, /* set debug flags */ 42122219Sharti NGM_UNI_GET_CONFIG, /* get configuration */ 43122219Sharti NGM_UNI_SET_CONFIG, /* set configuration */ 44122219Sharti NGM_UNI_ENABLE, /* enable processing */ 45122219Sharti NGM_UNI_DISABLE, /* free resources and disable */ 46122219Sharti NGM_UNI_GETSTATE, /* retrieve coord state */ 47122219Sharti}; 48122219Sharti 49122219Shartistruct ngm_uni_debug { 50122219Sharti uint32_t level[UNI_MAXFACILITY]; 51122219Sharti}; 52122219Sharti#define NGM_UNI_DEBUGLEVEL_INFO { \ 53122219Sharti &ng_parse_uint32_type, \ 54122219Sharti UNI_MAXFACILITY \ 55122219Sharti} 56122219Sharti#define NGM_UNI_DEBUG_INFO \ 57122219Sharti { \ 58122219Sharti { "level", &ng_uni_debuglevel_type }, \ 59122219Sharti { NULL } \ 60122219Sharti } 61122219Sharti 62122219Sharti#define NGM_UNI_CONFIG_INFO \ 63122219Sharti { \ 64122219Sharti { "proto", &ng_parse_uint32_type }, \ 65122219Sharti { "popt", &ng_parse_uint32_type }, \ 66122219Sharti { "option", &ng_parse_uint32_type }, \ 67122219Sharti { "timer301", &ng_parse_uint32_type }, \ 68122219Sharti { "timer303", &ng_parse_uint32_type }, \ 69122219Sharti { "init303", &ng_parse_uint32_type }, \ 70122219Sharti { "timer308", &ng_parse_uint32_type }, \ 71122219Sharti { "init308", &ng_parse_uint32_type }, \ 72122219Sharti { "timer309", &ng_parse_uint32_type }, \ 73122219Sharti { "timer310", &ng_parse_uint32_type }, \ 74122219Sharti { "timer313", &ng_parse_uint32_type }, \ 75122219Sharti { "timer316", &ng_parse_uint32_type }, \ 76122219Sharti { "init316", &ng_parse_uint32_type }, \ 77122219Sharti { "timer317", &ng_parse_uint32_type }, \ 78122219Sharti { "timer322", &ng_parse_uint32_type }, \ 79122219Sharti { "init322", &ng_parse_uint32_type }, \ 80122219Sharti { "timer397", &ng_parse_uint32_type }, \ 81122219Sharti { "timer398", &ng_parse_uint32_type }, \ 82122219Sharti { "timer399", &ng_parse_uint32_type }, \ 83122219Sharti { NULL } \ 84122219Sharti } 85122219Sharti 86122219Shartistruct ngm_uni_config_mask { 87122219Sharti uint32_t mask; 88122219Sharti uint32_t popt_mask; 89122219Sharti uint32_t option_mask; 90122219Sharti}; 91122219Sharti#define NGM_UNI_CONFIG_MASK_INFO \ 92122219Sharti { \ 93122219Sharti { "mask", &ng_parse_hint32_type }, \ 94122219Sharti { "popt_mask", &ng_parse_hint32_type }, \ 95122219Sharti { "option_mask", &ng_parse_hint32_type }, \ 96122219Sharti { NULL } \ 97122219Sharti } 98122219Sharti 99122219Shartistruct ngm_uni_set_config { 100122219Sharti struct uni_config config; 101122219Sharti struct ngm_uni_config_mask mask; 102122219Sharti}; 103122219Sharti#define NGM_UNI_SET_CONFIG_INFO \ 104122219Sharti { \ 105122219Sharti { "config", &ng_uni_config_type }, \ 106122219Sharti { "mask", &ng_uni_config_mask_type }, \ 107122219Sharti { NULL } \ 108122219Sharti } 109122219Sharti 110122219Sharti/* 111122219Sharti * API message 112122219Sharti */ 113122219Shartistruct uni_arg { 114122219Sharti uint32_t sig; 115122219Sharti uint32_t cookie; 116122219Sharti u_char data[]; 117122219Sharti}; 118122219Sharti 119122219Sharti#endif 120