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/i386/include/i4b_debug.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) 1997, 1999 Hellmuth Michaelis. All rights reserved.
    3  *
    4  * Redistribution and use in source and binary forms, with or without
    5  * modification, are permitted provided that the following conditions
    6  * are met:
    7  * 1. Redistributions of source code must retain the above copyright
    8  *    notice, this list of conditions and the following disclaimer.
    9  * 2. Redistributions in binary form must reproduce the above copyright
   10  *    notice, this list of conditions and the following disclaimer in the
   11  *    documentation and/or other materials provided with the distribution.
   12  *
   13  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   14  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   16  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   17  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   18  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   19  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   20  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   21  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   22  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   23  * SUCH DAMAGE.
   24  *
   25  *---------------------------------------------------------------------------
   26  *
   27  *      i4b_debug.h - i4b debug header file
   28  *      -----------------------------------
   29  *
   30  * $FreeBSD$ 
   31  *
   32  *      last edit-date: [Fri May 28 16:27:07 1999]
   33  *
   34  *---------------------------------------------------------------------------*/
   35 
   36 #define DO_I4B_DEBUG    /* enable debugging code inclusion */
   37 
   38 #undef DO_I4B_MAXDEBUG  /* enable ALL debug messages by default */
   39 
   40 #ifdef DO_I4B_DEBUG
   41 
   42 extern unsigned int i4b_l1_debug;
   43 extern unsigned int i4b_l2_debug;
   44 extern unsigned int i4b_l3_debug;
   45 extern unsigned int i4b_l4_debug;
   46 
   47 #define DBGL1(bits, routine, what)                      \
   48         if(bits & i4b_l1_debug)                         \
   49         {                                               \
   50                 printf("i4b-L1-%s: ", routine); \
   51                 printf what ;                           \
   52         }
   53 
   54 #define DBGL2(bits, routine, what)                      \
   55         if(bits & i4b_l2_debug)                         \
   56         {                                               \
   57                 printf("i4b-L2-%s: ", routine); \
   58                 printf what ;                           \
   59         }
   60 
   61 #define DBGL3(bits, routine, what)                      \
   62         if(bits & i4b_l3_debug)                         \
   63         {                                               \
   64                 printf("i4b-L3-%s: ", routine); \
   65                 printf what ;                           \
   66         }
   67 
   68 #define DBGL4(bits, routine, what)                      \
   69         if(bits & i4b_l4_debug)                         \
   70         {                                               \
   71                 printf("i4b-L4-%s: ", routine); \
   72                 printf what ;                           \
   73         }
   74 #else /* !DO_I4B_DEBUG */
   75 
   76 #define DBGL1(bits, routine, what);
   77 #define DBGL2(bits, routine, what);
   78 #define DBGL3(bits, routine, what);
   79 #define DBGL4(bits, routine, what);
   80 
   81 #endif /* DO_I4B_DEBUG */
   82 
   83 /* Layer 1 */
   84 
   85 #define L1_ERROR        0x0001          /* general error message*/
   86 #define L1_PRIM         0x0002          /* interlayer primitives*/
   87 #define L1_BCHAN        0x0004          /* B channel action     */
   88 #define L1_H_ERR        0x0008          /* HSCX errors          */
   89 #define L1_H_IRQ        0x0010          /* HSCX IRQ messages    */
   90 #define L1_I_ERR        0x0020          /* ISAC errors          */
   91 #define L1_I_MSG        0x0040          /* ISAC messages        */
   92 #define L1_I_SETUP      0x0080          /* ISAC setup messages  */
   93 #define L1_F_MSG        0x0100          /* FSM messages         */
   94 #define L1_F_ERR        0x0200          /* FSM error messages   */
   95 #define L1_T_MSG        0x0400          /* Timer messages       */
   96 #define L1_T_ERR        0x0800          /* Timer error messages */
   97 #define L1_H_XFRERR     0x1000          /* HSCX data xfer error */
   98 #define L1_I_CICO       0x2000          /* ISAC command in/out  */
   99 
  100 #define L1_DEBUG_MAX    0x3fef          /* all messages on except IRQ!  */
  101 #define L1_DEBUG_ERR (L1_H_ERR | L1_I_ERR | L1_F_ERR | L1_T_ERR | L1_ERROR)
  102 
  103 #ifndef L1_DEBUG_DEFAULT
  104 #ifdef DO_I4B_MAXDEBUG
  105 #define L1_DEBUG_DEFAULT L1_DEBUG_MAX
  106 #else
  107 #define L1_DEBUG_DEFAULT L1_DEBUG_ERR
  108 #endif
  109 #endif
  110 
  111 /* Layer 2 */
  112 
  113 #define L2_ERROR        0x0001          /* general error message        */
  114 #define L2_PRIM         0x0002          /* interlayer primitives        */
  115 #define L2_U_MSG        0x0004          /* U frame messages             */
  116 #define L2_U_ERR        0x0008          /* U frame error messages       */
  117 #define L2_S_MSG        0x0010          /* S frame messages             */
  118 #define L2_S_ERR        0x0020          /* S frame error messages       */
  119 #define L2_I_MSG        0x0040          /* I frame messages             */
  120 #define L2_I_ERR        0x0080          /* I frame error messages       */
  121 #define L2_F_MSG        0x0100          /* FSM messages                 */
  122 #define L2_F_ERR        0x0200          /* FSM error messages           */
  123 #define L2_T_MSG        0x0400          /* timer messages               */
  124 #define L2_T_ERR        0x0800          /* timer error messages         */
  125 #define L2_TEI_MSG      0x1000          /* TEI messages                 */
  126 #define L2_TEI_ERR      0x2000          /* TEI error messages           */
  127 
  128 #define L2_DEBUG_MAX    0x3fff          /* all messages on              */
  129 #define L2_DEBUG_ERR (L2_ERROR | L2_I_ERR | L2_F_ERR | L2_T_ERR | L2_S_ERR | L2_TEI_ERR | L2_U_ERR )
  130 
  131 #ifndef L2_DEBUG_DEFAULT
  132 #ifdef DO_I4B_MAXDEBUG
  133 #define L2_DEBUG_DEFAULT L2_DEBUG_MAX
  134 #else
  135 #define L2_DEBUG_DEFAULT L2_DEBUG_ERR
  136 #endif
  137 #endif
  138 
  139 /* Layer 3 */
  140 
  141 #define L3_ERR          0x0001          /* general error message        */
  142 #define L3_MSG          0x0002          /* general message              */
  143 #define L3_F_MSG        0x0004          /* FSM messages                 */
  144 #define L3_F_ERR        0x0008          /* FSM error messages           */
  145 #define L3_T_MSG        0x0010          /* timer messages               */
  146 #define L3_T_ERR        0x0020          /* timer error messages         */
  147 #define L3_P_MSG        0x0040          /* protocol messages            */
  148 #define L3_P_ERR        0x0080          /* protocol error messages      */
  149 #define L3_A_MSG        0x0100          /* AOC messages                 */
  150 #define L3_A_ERR        0x0200          /* AOC error messages           */
  151 #define L3_PRIM         0x0400          /* messages exchanged           */
  152 
  153 #define L3_DEBUG_MAX    0x07ff          /* all messages on      */
  154 #define L3_DEBUG_ERR    (L3_ERR | L3_F_ERR | L3_T_ERR | L3_P_ERR | L3_A_ERR)
  155 
  156 #ifndef L3_DEBUG_DEFAULT
  157 #ifdef DO_I4B_MAXDEBUG
  158 #define L3_DEBUG_DEFAULT L3_DEBUG_MAX
  159 #else
  160 #define L3_DEBUG_DEFAULT L3_DEBUG_ERR
  161 #endif
  162 #endif
  163 
  164 /* Layer 4 */
  165 
  166 #define L4_ERR          0x0001          /* general error message        */
  167 #define L4_MSG          0x0002          /* general message              */
  168 #define L4_TIMO         0x0004          /* b channel idle timeout msgs  */
  169 #define L4_DIALST       0x0008          /* network driver dial states   */
  170 #define L4_IPRDBG       0x0010          /* ipr driver debug messages    */
  171 #define L4_RBCHDBG      0x0020          /* rbch driver debug messages   */
  172 #define L4_ISPDBG       0x0040          /* isp driver debug messages    */
  173 #define L4_TELDBG       0x0080          /* tel driver debug messages    */
  174 #define L4_TINADBG      0x0100          /* tina driver debug messages   */
  175 #define L4_TINAMSG      0x0200          /* tina driver messages         */
  176 #define L4_TINAERR      0x0400          /* tina driver error messages   */
  177 
  178 #define L4_DEBUG_MAX    0x07ff          /* all messages on      */
  179 #define L4_DEBUG_ERR    (L4_ERR | L4_TINADBG |  L4_TINAMSG | L4_TINAERR)
  180 
  181 #ifndef L4_DEBUG_DEFAULT
  182 #ifdef DO_I4B_MAXDEBUG
  183 #define L4_DEBUG_DEFAULT L4_DEBUG_MAX
  184 #else
  185 #define L4_DEBUG_DEFAULT L4_DEBUG_ERR
  186 #endif
  187 #endif
  188 
  189 /*---------------------------------------------------------------------------*
  190  *      ioctl via /dev/i4bctl:
  191  *      get/set current debug bits settings
  192  *---------------------------------------------------------------------------*/
  193 
  194 typedef struct {
  195         unsigned int    l1;
  196         unsigned int    l2;
  197         unsigned int    l3;
  198         unsigned int    l4;     
  199 } ctl_debug_t;
  200         
  201 #define I4B_CTL_GET_DEBUG       _IOR('C', 0, ctl_debug_t)
  202 
  203 #define I4B_CTL_SET_DEBUG       _IOW('C', 1, ctl_debug_t)
  204 
  205 /*---------------------------------------------------------------------------*
  206  *      get hscx statistics
  207  *---------------------------------------------------------------------------*/
  208 
  209 typedef struct {
  210         int unit;       /* controller number */
  211         int chan;       /* channel number */
  212         int vfr;
  213         int rdo;
  214         int crc;
  215         int rab;
  216         int xdu;
  217         int rfo;
  218 } hscxstat_t;
  219         
  220 #define I4B_CTL_GET_HSCXSTAT    _IOWR('C', 2, hscxstat_t)
  221 
  222 #define I4B_CTL_CLR_HSCXSTAT    _IOW('C', 3, hscxstat_t)
  223 
  224 /*---------------------------------------------------------------------------*
  225  *      get LAPD/Q.921 statistics
  226  *---------------------------------------------------------------------------*/
  227 typedef struct {
  228                                 /* transmit */
  229 
  230         u_long  tx_i;   /* I    */
  231         u_long  tx_rr;  /* RR   */
  232         u_long  tx_rnr; /* RNR  */
  233         u_long  tx_rej; /* REJ  */
  234         u_long  tx_sabme;       /* SABME*/
  235         u_long  tx_dm;  /* DM   */
  236         u_long  tx_disc;        /* DISC */
  237         u_long  tx_ua;  /* UA   */
  238         u_long  tx_frmr;        /* FRMR */      
  239         u_long  tx_tei; /* TEI  */
  240 
  241                                 /* receive */
  242 
  243         u_long  rx_i;   /* I    */
  244         u_long  rx_rr;  /* RR   */
  245         u_long  rx_rnr; /* RNR  */
  246         u_long  rx_rej; /* REJ  */
  247         u_long  rx_sabme;       /* SABME*/
  248         u_long  rx_tei; /* TEI  */
  249         u_long  rx_ui;  /* UI   */
  250         u_long  rx_disc;        /* DISC */
  251         u_long  rx_xid; /* XID  */
  252         u_long  rx_dm;  /* DM   */
  253         u_long  rx_ua;  /* UA   */
  254         u_long  rx_frmr;        /* FRMR */      
  255         
  256                                         /* errors */
  257 
  258         u_long  err_rx_len;     /* incorrect length */
  259         u_long  err_rx_badf;    /* bad frame type */
  260         u_long  err_rx_bads;    /* bad s frame */
  261         u_long  err_rx_badu;    /* bad u frame */
  262         u_long  err_rx_badui;   /* bad ui frame */
  263 } lapdstat_t;
  264 
  265 typedef struct {
  266         int unit;
  267         lapdstat_t lapdstat;
  268 } l2stat_t;
  269 
  270 #define I4B_CTL_GET_LAPDSTAT    _IOWR('C', 4, l2stat_t)
  271 
  272 #define I4B_CTL_CLR_LAPDSTAT    _IOW('C', 5, int)
  273 
  274 /* EOF */

Cache object: ec9e4efbeb0119b7e9487376289c1806


[ 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.