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-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-2  -  FREEBSD-11-1  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-4  -  FREEBSD-10-3  -  FREEBSD-10-2  -  FREEBSD-10-1  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-3  -  FREEBSD-9-2  -  FREEBSD-9-1  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-4  -  FREEBSD-8-3  -  FREEBSD-8-2  -  FREEBSD-8-1  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-4  -  FREEBSD-7-3  -  FREEBSD-7-2  -  FREEBSD-7-1  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-4  -  FREEBSD-6-3  -  FREEBSD-6-2  -  FREEBSD-6-1  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-5  -  FREEBSD-5-4  -  FREEBSD-5-3  -  FREEBSD-5-2  -  FREEBSD-5-1  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  linux-2.6  -  linux-2.4.22  -  MK83  -  MK84  -  PLAN9  -  DFBSD  -  NETBSD  -  NETBSD5  -  NETBSD4  -  NETBSD3  -  NETBSD20  -  OPENBSD  -  xnu-517  -  xnu-792  -  xnu-792.6.70  -  xnu-1228  -  xnu-1456.1.26  -  xnu-1699.24.8  -  xnu-2050.18.24  -  OPENSOLARIS  -  minix-3-1-1 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 1997, 2002 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  *
   28  *      i4b_debug.h - i4b debug header file
   29  *      -----------------------------------
   30  *
   31  * $FreeBSD$
   32  *
   33  *      last edit-date: [Sun Mar 17 10:08:41 2002]
   34  *
   35  *---------------------------------------------------------------------------*/
   36 
   37 #if !defined DO_I4B_DEBUG
   38 # define DO_I4B_DEBUG 1         /* default = include debugging code */
   39 #elif DO_I4B_DEBUG != 0
   40 # undef DO_I4B_DEBUG
   41 # define DO_I4B_DEBUG 1
   42 #endif
   43 
   44 #undef DO_I4B_MAXDEBUG          /* default = disable ALL debug messages */
   45 
   46 #if DO_I4B_DEBUG
   47 
   48 extern unsigned int i4b_l1_debug;
   49 extern unsigned int i4b_l2_debug;
   50 extern unsigned int i4b_l3_debug;
   51 extern unsigned int i4b_l4_debug;
   52 
   53 #define NDBGL1(bits, fmt, args...)                                      \
   54         if(bits & i4b_l1_debug)                                         \
   55         { printf("i4b-L1 %s: " fmt "\n", __func__ , ##args ); }
   56 
   57 #define NDBGL2(bits, fmt, args...)                                      \
   58         if(bits & i4b_l2_debug)                                         \
   59         { printf("i4b-L2 %s: " fmt "\n", __func__ , ##args ); }
   60         
   61 #define NDBGL3(bits, fmt, args...)                                      \
   62         if(bits & i4b_l3_debug)                                         \
   63         { printf("i4b-L3 %s: " fmt "\n", __func__ , ##args ); }
   64         
   65 #define NDBGL4(bits, fmt, args...)                                      \
   66         if(bits & i4b_l4_debug)                                         \
   67         { printf("i4b-L4 %s: " fmt "\n", __func__ , ##args ); }
   68         
   69 #else /* !DO_I4B_DEBUG */
   70 
   71 #define NDBGL1(bits, fmt, args...);
   72 #define NDBGL2(bits, fmt, args...);
   73 #define NDBGL3(bits, fmt, args...);
   74 #define NDBGL4(bits, fmt, args...);
   75 
   76 #endif /* DO_I4B_DEBUG */
   77 
   78 /* Layer 1 */
   79 
   80 #define L1_ERROR        0x000001        /* general error message*/
   81 #define L1_PRIM         0x000002        /* interlayer primitives*/
   82 #define L1_BCHAN        0x000004        /* B channel action     */
   83 #define L1_H_ERR        0x000008        /* HSCX errors          */
   84 #define L1_H_IRQ        0x000010        /* HSCX IRQ messages    */
   85 #define L1_I_ERR        0x000020        /* ISAC errors          */
   86 #define L1_I_MSG        0x000040        /* ISAC messages        */
   87 #define L1_I_SETUP      0x000080        /* ISAC setup messages  */
   88 #define L1_F_MSG        0x000100        /* FSM messages         */
   89 #define L1_F_ERR        0x000200        /* FSM error messages   */
   90 #define L1_T_MSG        0x000400        /* Timer messages       */
   91 #define L1_T_ERR        0x000800        /* Timer error messages */
   92 #define L1_H_XFRERR     0x001000        /* HSCX data xfer error */
   93 #define L1_I_CICO       0x002000        /* ISAC command in/out  */
   94 #define L1_S_MSG        0x004000        /* silent messages (soft-HDLC)  */
   95 #define L1_S_ERR        0x008000        /* error messages (soft-HDLC)   */
   96 #define L1_HFC_DBG      0x010000        /* HFC-S PCI messages */
   97 #define L1_DEBUG_MAX    0x01ffef        /* all messages on except IRQ!  */
   98 #define L1_DEBUG_ERR (L1_S_ERR | L1_H_ERR | L1_I_ERR | L1_F_ERR | L1_T_ERR | L1_ERROR)
   99 
  100 #ifndef L1_DEBUG_DEFAULT
  101 #ifdef DO_I4B_MAXDEBUG
  102 #define L1_DEBUG_DEFAULT L1_DEBUG_MAX
  103 #else
  104 #define L1_DEBUG_DEFAULT L1_DEBUG_ERR
  105 #endif
  106 #endif
  107 
  108 /* Layer 2 */
  109 
  110 #define L2_ERROR        0x0001          /* general error message        */
  111 #define L2_PRIM         0x0002          /* interlayer primitives        */
  112 #define L2_U_MSG        0x0004          /* U frame messages             */
  113 #define L2_U_ERR        0x0008          /* U frame error messages       */
  114 #define L2_S_MSG        0x0010          /* S frame messages             */
  115 #define L2_S_ERR        0x0020          /* S frame error messages       */
  116 #define L2_I_MSG        0x0040          /* I frame messages             */
  117 #define L2_I_ERR        0x0080          /* I frame error messages       */
  118 #define L2_F_MSG        0x0100          /* FSM messages                 */
  119 #define L2_F_ERR        0x0200          /* FSM error messages           */
  120 #define L2_T_MSG        0x0400          /* timer messages               */
  121 #define L2_T_ERR        0x0800          /* timer error messages         */
  122 #define L2_TEI_MSG      0x1000          /* TEI messages                 */
  123 #define L2_TEI_ERR      0x2000          /* TEI error messages           */
  124 
  125 #define L2_DEBUG_MAX    0x3fff          /* all messages on              */
  126 #define L2_DEBUG_ERR (L2_ERROR | L2_I_ERR | L2_F_ERR | L2_T_ERR | L2_S_ERR | L2_TEI_ERR | L2_U_ERR )
  127 
  128 #ifndef L2_DEBUG_DEFAULT
  129 #ifdef DO_I4B_MAXDEBUG
  130 #define L2_DEBUG_DEFAULT L2_DEBUG_MAX
  131 #else
  132 #define L2_DEBUG_DEFAULT L2_DEBUG_ERR
  133 #endif
  134 #endif
  135 
  136 /* Layer 3 */
  137 
  138 #define L3_ERR          0x0001          /* general error message        */
  139 #define L3_MSG          0x0002          /* general message              */
  140 #define L3_F_MSG        0x0004          /* FSM messages                 */
  141 #define L3_F_ERR        0x0008          /* FSM error messages           */
  142 #define L3_T_MSG        0x0010          /* timer messages               */
  143 #define L3_T_ERR        0x0020          /* timer error messages         */
  144 #define L3_P_MSG        0x0040          /* protocol messages            */
  145 #define L3_P_ERR        0x0080          /* protocol error messages      */
  146 #define L3_A_MSG        0x0100          /* AOC messages                 */
  147 #define L3_A_ERR        0x0200          /* AOC error messages           */
  148 #define L3_PRIM         0x0400          /* messages exchanged           */
  149 
  150 #define L3_DEBUG_MAX    0x07ff          /* all messages on      */
  151 #define L3_DEBUG_ERR    (L3_ERR | L3_F_ERR | L3_T_ERR | L3_P_ERR | L3_A_ERR)
  152 
  153 #ifndef L3_DEBUG_DEFAULT
  154 #ifdef DO_I4B_MAXDEBUG
  155 #define L3_DEBUG_DEFAULT L3_DEBUG_MAX
  156 #else
  157 #define L3_DEBUG_DEFAULT L3_DEBUG_ERR
  158 #endif
  159 #endif
  160 
  161 /* Layer 4 */
  162 
  163 #define L4_ERR          0x0001          /* general error message        */
  164 #define L4_MSG          0x0002          /* general message              */
  165 #define L4_TIMO         0x0004          /* b channel idle timeout msgs  */
  166 #define L4_DIALST       0x0008          /* network driver dial states   */
  167 #define L4_IPRDBG       0x0010          /* ipr driver debug messages    */
  168 #define L4_RBCHDBG      0x0020          /* rbch driver debug messages   */
  169 #define L4_ISPDBG       0x0040          /* isp driver debug messages    */
  170 #define L4_TELDBG       0x0080          /* tel driver debug messages    */
  171 #define L4_INGDBG       0x0100          /* ing driver debug messages    */
  172 #define L4_IAVCDBG      0x0200          /* AVM B1 driver debug messages */
  173 #define L4_CAPIDBG      0x0400          /* CAPI driver debug messages   */
  174 
  175 #define L4_DEBUG_MAX    0x0fff          /* all messages on      */
  176 #define L4_DEBUG_ERR    L4_ERR
  177 
  178 #ifndef L4_DEBUG_DEFAULT
  179 #ifdef DO_I4B_MAXDEBUG
  180 #define L4_DEBUG_DEFAULT L4_DEBUG_MAX
  181 #else
  182 #define L4_DEBUG_DEFAULT L4_DEBUG_ERR
  183 #endif
  184 #endif
  185 
  186 /*---------------------------------------------------------------------------*
  187  *      ioctl via /dev/i4bctl:
  188  *      get/set current debug bits settings
  189  *---------------------------------------------------------------------------*/
  190 
  191 typedef struct {
  192         unsigned int    l1;
  193         unsigned int    l2;
  194         unsigned int    l3;
  195         unsigned int    l4;     
  196 } ctl_debug_t;
  197         
  198 #define I4B_CTL_GET_DEBUG       _IOR('C', 0, ctl_debug_t)
  199 
  200 #define I4B_CTL_SET_DEBUG       _IOW('C', 1, ctl_debug_t)
  201 
  202 /*---------------------------------------------------------------------------*
  203  *      generic get chipset statistics
  204  *---------------------------------------------------------------------------*/
  205 
  206 /* for the ihfc-driver: structure for HFC-1/S/SP statistics */
  207 
  208 typedef struct {
  209         int txframes;
  210         int rxframes;
  211         int xdu;
  212         int rdo;
  213         int crc;
  214         int rab;
  215 } hfcstat_t;
  216 
  217 
  218 /* for the isic-driver: structure for HSCX statistics */
  219 
  220 typedef struct {
  221         int unit;       /* controller number */
  222         int chan;       /* channel number */
  223         int vfr;
  224         int rdo;
  225         int crc;
  226         int rab;
  227         int xdu;
  228         int rfo;
  229 } hscxstat_t;
  230 
  231 /* generic statistics structure */
  232 
  233 struct chipstat {
  234         int driver_type;                /* type, L1DRVR_XXXX            */
  235         int driver_unit;                /* the unit number              */
  236         int driver_bchannel;            /* the B-channel                */
  237         union stats {                   /* union for all drivers        */
  238                 hfcstat_t  hfcstat;     /* for ihfc driver, L1DRVR_IHFC */
  239                 hscxstat_t hscxstat;    /* for isic driver, L1DRVR_ISIC */
  240         } stats;
  241 };
  242 
  243 /* get statistics */
  244 
  245 #define I4B_CTL_GET_CHIPSTAT    _IOWR('C', 2, struct chipstat)
  246 
  247 /* clear statistics */
  248 
  249 #define I4B_CTL_CLR_CHIPSTAT    _IOW('C', 3, struct chipstat)
  250 
  251 /*---------------------------------------------------------------------------*
  252  *      get LAPD/Q.921 statistics
  253  *---------------------------------------------------------------------------*/
  254 typedef struct {
  255 
  256         /* transmit */
  257 
  258         u_long  tx_i;           /* I    */
  259         u_long  tx_rr;          /* RR   */
  260         u_long  tx_rnr;         /* RNR  */
  261         u_long  tx_rej;         /* REJ  */
  262         u_long  tx_sabme;       /* SABME*/
  263         u_long  tx_dm;          /* DM   */
  264         u_long  tx_disc;        /* DISC */
  265         u_long  tx_ua;          /* UA   */
  266         u_long  tx_frmr;        /* FRMR */      
  267         u_long  tx_tei;         /* TEI  */
  268 
  269         /* receive */
  270 
  271         u_long  rx_i;           /* I    */
  272         u_long  rx_rr;          /* RR   */
  273         u_long  rx_rnr;         /* RNR  */
  274         u_long  rx_rej;         /* REJ  */
  275         u_long  rx_sabme;       /* SABME*/
  276         u_long  rx_tei;         /* TEI  */
  277         u_long  rx_ui;          /* UI   */
  278         u_long  rx_disc;        /* DISC */
  279         u_long  rx_xid;         /* XID  */
  280         u_long  rx_dm;          /* DM   */
  281         u_long  rx_ua;          /* UA   */
  282         u_long  rx_frmr;        /* FRMR */      
  283         
  284         /* errors */
  285 
  286         u_long  err_rx_len;     /* incorrect length */
  287         u_long  err_rx_badf;    /* bad frame type */
  288         u_long  err_rx_bads;    /* bad s frame */
  289         u_long  err_rx_badu;    /* bad u frame */
  290         u_long  err_rx_badui;   /* bad ui frame */
  291 } lapdstat_t;
  292 
  293 typedef struct {
  294         int unit;
  295         lapdstat_t lapdstat;
  296 } l2stat_t;
  297 
  298 #define I4B_CTL_GET_LAPDSTAT    _IOWR('C', 4, l2stat_t)
  299 
  300 #define I4B_CTL_CLR_LAPDSTAT    _IOW('C', 5, int)
  301 
  302 /* EOF */

Cache object: 85595fbad7d4ffccf3ab252d138ec6f5


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