The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/netgraph/atm/ng_ccatm.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 2001-2002
    3  *      Fraunhofer Institute for Open Communication Systems (FhG Fokus).
    4  *      All rights reserved.
    5  * Copyright (c) 2003-2004
    6  *      Hartmut Brandt
    7  *      All rights reserved.
    8  *
    9  * Author: Harti Brandt <harti@freebsd.org>
   10  *
   11  * Redistribution of this software and documentation and use in source and
   12  * binary forms, with or without modification, are permitted provided that
   13  * the following conditions are met:
   14  *
   15  * 1. Redistributions of source code or documentation must retain the above
   16  *    copyright notice, this list of conditions and the following disclaimer.
   17  * 2. Redistributions in binary form must reproduce the above copyright
   18  *    notice, this list of conditions and the following disclaimer in the
   19  *    documentation and/or other materials provided with the distribution.
   20  *
   21  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   22  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   24  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   25  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   26  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   27  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   28  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   29  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   30  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   31  * SUCH DAMAGE.
   32  *
   33  * $FreeBSD: releng/8.4/sys/netgraph/atm/ng_ccatm.h 189315 2009-03-03 18:47:33Z ed $
   34  */
   35 
   36 /*
   37  * Interface to ng_ccatm
   38  */
   39 #ifndef _NETGRAPH_ATM_NG_CCATM_H_
   40 #define _NETGRAPH_ATM_NG_CCATM_H_
   41 
   42 #define NG_CCATM_NODE_TYPE      "ccatm"
   43 #define NGM_CCATM_COOKIE        984046139
   44 
   45 enum {
   46         NGM_CCATM_DUMP,                 /* dump internal status */
   47         NGM_CCATM_STOP,                 /* stop all processing, close all */
   48         NGM_CCATM_START,                /* start processing */
   49         NGM_CCATM_CLEAR,                /* clear prefix/address table */
   50         NGM_CCATM_GET_ADDRESSES,        /* get list of all addresses */
   51         NGM_CCATM_ADDRESS_REGISTERED,   /* registration ok */
   52         NGM_CCATM_ADDRESS_UNREGISTERED, /* unregistration ok */
   53         NGM_CCATM_SET_PORT_PARAM,       /* set port parameters */
   54         NGM_CCATM_GET_PORT_PARAM,       /* get port parameters */
   55         NGM_CCATM_GET_PORTLIST,         /* get list of port numbers */
   56         NGM_CCATM_GETSTATE,             /* get port status */
   57         NGM_CCATM_SETLOG,               /* set/get loglevel */
   58         NGM_CCATM_RESET,                /* reset everything */
   59         NGM_CCATM_GET_EXSTAT,           /* get extended status */
   60 };
   61 
   62 /*
   63  * This must be synchronized with unistruct.h::struct uni_addr
   64  */
   65 #define NGM_CCATM_ADDR_ARRAY_INFO                               \
   66         {                                                       \
   67           &ng_parse_hint8_type,                                 \
   68           UNI_ADDR_MAXLEN                                       \
   69         }
   70 
   71 #define NGM_CCATM_UNI_ADDR_INFO                                 \
   72         {                                                       \
   73           { "type",     &ng_parse_uint32_type },                \
   74           { "plan",     &ng_parse_uint32_type },                \
   75           { "len",      &ng_parse_uint32_type },                \
   76           { "addr",     &ng_ccatm_addr_array_type },            \
   77           { NULL }                                              \
   78         }
   79 
   80 /*
   81  * Address request
   82  */
   83 struct ngm_ccatm_addr_req {
   84         uint32_t        port;
   85         struct uni_addr addr;
   86 };
   87 #define NGM_CCATM_ADDR_REQ_INFO                                 \
   88         {                                                       \
   89           { "port",     &ng_parse_uint32_type },                \
   90           { "addr",     &ng_ccatm_uni_addr_type },              \
   91           { NULL },                                             \
   92         }
   93 
   94 /*
   95  * Get current address list
   96  */
   97 struct ngm_ccatm_get_addresses {
   98         uint32_t        count;
   99         struct ngm_ccatm_addr_req addr[];
  100 };
  101 #define NGM_CCATM_ADDR_REQ_ARRAY_INFO                           \
  102         {                                                       \
  103           &ng_ccatm_addr_req_type,                              \
  104           ng_ccatm_addr_req_array_getlen                        \
  105         }
  106 #define NGM_CCATM_GET_ADDRESSES_INFO                            \
  107         {                                                       \
  108           { "count",    &ng_parse_uint32_type },                \
  109           { "addr",     &ng_ccatm_addr_req_array_type },        \
  110           { NULL }                                              \
  111         }
  112 
  113 /*
  114  * Port as parameter
  115  */
  116 struct ngm_ccatm_port {
  117         uint32_t        port;
  118 };
  119 #define NGM_CCATM_PORT_INFO                                     \
  120         {                                                       \
  121           { "port",     &ng_parse_uint32_type },                \
  122           { NULL }                                              \
  123         }
  124 
  125 /*
  126  * Port parameters.
  127  * This must be synchronized with atmapi.h::struct atm_port_info.
  128  */
  129 #define NGM_CCATM_ESI_INFO                                              \
  130         {                                                               \
  131           &ng_parse_hint8_type,                                         \
  132           6                                                             \
  133         }
  134 #define NGM_CCATM_ATM_PORT_INFO                                         \
  135         {                                                               \
  136           { "port",             &ng_parse_uint32_type },                \
  137           { "pcr",              &ng_parse_uint32_type },                \
  138           { "max_vpi_bits",     &ng_parse_uint32_type },                \
  139           { "max_vci_bits",     &ng_parse_uint32_type },                \
  140           { "max_svpc_vpi",     &ng_parse_uint32_type },                \
  141           { "max_svcc_vpi",     &ng_parse_uint32_type },                \
  142           { "min_svcc_vci",     &ng_parse_uint32_type },                \
  143           { "esi",              &ng_ccatm_esi_type },                   \
  144           { "num_addr",         &ng_parse_uint32_type },                \
  145           { NULL }                                                      \
  146         }
  147 
  148 /*
  149  * List of port numbers
  150  */
  151 struct ngm_ccatm_portlist {
  152         uint32_t        nports;
  153         uint32_t        ports[];
  154 };
  155 #define NGM_CCATM_PORT_ARRAY_INFO                                       \
  156         {                                                               \
  157           &ng_parse_uint32_type,                                        \
  158           ng_ccatm_port_array_getlen                                    \
  159         }
  160 #define NGM_CCATM_PORTLIST_INFO                                         \
  161         {                                                               \
  162           { "nports",   &ng_parse_uint32_type },                        \
  163           { "ports",    &ng_ccatm_port_array_type },                    \
  164           { NULL }                                                      \
  165         }
  166 
  167 struct ccatm_op {
  168         uint32_t        op;     /* request code */
  169 };
  170 
  171 #endif

Cache object: eb742c97aab8c7131412a7eff2e5418f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.