hostapd: update to latest version from trunk (fixes #10455)
[openwrt-10.03/.git] / package / ltq-dsl / src / ifx_atm.h
1 /******************************************************************************
2 **
3 ** FILE NAME    : ifx_atm.h
4 ** PROJECT      : UEIP
5 ** MODULES      : ATM
6 **
7 ** DATE         : 17 Jun 2009
8 ** AUTHOR       : Xu Liang
9 ** DESCRIPTION  : Global ATM driver header file
10 ** COPYRIGHT    :       Copyright (c) 2006
11 **                      Infineon Technologies AG
12 **                      Am Campeon 1-12, 85579 Neubiberg, Germany
13 **
14 **    This program is free software; you can redistribute it and/or modify
15 **    it under the terms of the GNU General Public License as published by
16 **    the Free Software Foundation; either version 2 of the License, or
17 **    (at your option) any later version.
18 **
19 ** HISTORY
20 ** $Date        $Author         $Comment
21 ** 07 JUL 2009  Xu Liang        Init Version
22 *******************************************************************************/
23
24 #ifndef IFX_ATM_H
25 #define IFX_ATM_H
26
27
28
29 /*
30  *  ATM MIB
31  */
32
33 typedef struct {
34         __u32   ifHCInOctets_h;     /*!< byte counter of ingress cells (upper 32 bits, total 64 bits)   */
35         __u32   ifHCInOctets_l;     /*!< byte counter of ingress cells (lower 32 bits, total 64 bits)   */
36         __u32   ifHCOutOctets_h;    /*!< byte counter of egress cells (upper 32 bits, total 64 bits)    */
37         __u32   ifHCOutOctets_l;    /*!< byte counter of egress cells (lower 32 bits, total 64 bits)    */
38         __u32   ifInErrors;         /*!< counter of error ingress cells     */
39         __u32   ifInUnknownProtos;  /*!< counter of unknown ingress cells   */
40         __u32   ifOutErrors;        /*!< counter of error egress cells      */
41 } atm_cell_ifEntry_t;
42
43 typedef struct {
44         __u32   ifHCInOctets_h;     /*!< byte counter of ingress packets (upper 32 bits, total 64 bits) */
45         __u32   ifHCInOctets_l;     /*!< byte counter of ingress packets (lower 32 bits, total 64 bits) */
46         __u32   ifHCOutOctets_h;    /*!< byte counter of egress packets (upper 32 bits, total 64 bits)  */
47         __u32   ifHCOutOctets_l;    /*!< byte counter of egress packets (lower 32 bits, total 64 bits)  */
48         __u32   ifInUcastPkts;      /*!< counter of ingress packets         */
49         __u32   ifOutUcastPkts;     /*!< counter of egress packets          */
50         __u32   ifInErrors;         /*!< counter of error ingress packets   */
51         __u32   ifInDiscards;       /*!< counter of dropped ingress packets */
52         __u32   ifOutErros;         /*!< counter of error egress packets    */
53         __u32   ifOutDiscards;      /*!< counter of dropped egress packets  */
54 } atm_aal5_ifEntry_t;
55
56 typedef struct {
57         __u32   aal5VccCrcErrors;       /*!< counter of ingress packets with CRC error  */
58         __u32   aal5VccSarTimeOuts;     /*!< counter of ingress packets with Re-assemble timeout    */  //no timer support yet
59         __u32   aal5VccOverSizedSDUs;   /*!< counter of oversized ingress packets       */
60 } atm_aal5_vcc_t;
61
62 typedef struct {
63         int             vpi;        /*!< VPI of the VCC to get MIB counters */
64         int             vci;        /*!< VCI of the VCC to get MIB counters */
65         atm_aal5_vcc_t  mib_vcc;    /*!< structure to get MIB counters      */
66 } atm_aal5_vcc_x_t;
67
68 /*!
69   \brief ATM IOCTL Magic Number
70  */
71 #define PPE_ATM_IOC_MAGIC       'o'
72 /*!
73   \brief ATM IOCTL Command - Get Cell Level MIB Counters
74
75    This command is obsolete. User can get cell level MIB from DSL API.
76    This command uses structure "atm_cell_ifEntry_t" as parameter for output of MIB counters.
77  */
78 #define PPE_ATM_MIB_CELL        _IOW(PPE_ATM_IOC_MAGIC,  0, atm_cell_ifEntry_t)
79 /*!
80   \brief ATM IOCTL Command - Get AAL5 Level MIB Counters
81
82    Get AAL5 packet counters.
83    This command uses structure "atm_aal5_ifEntry_t" as parameter for output of MIB counters.
84  */
85 #define PPE_ATM_MIB_AAL5        _IOW(PPE_ATM_IOC_MAGIC,  1, atm_aal5_ifEntry_t)
86 /*!
87   \brief ATM IOCTL Command - Get Per PVC MIB Counters
88
89    Get AAL5 packet counters for each PVC.
90    This command uses structure "atm_aal5_vcc_x_t" as parameter for input of VPI/VCI information and output of MIB counters.
91  */
92 #define PPE_ATM_MIB_VCC         _IOWR(PPE_ATM_IOC_MAGIC, 2, atm_aal5_vcc_x_t)
93 /*!
94   \brief Total Number of ATM IOCTL Commands
95  */
96 #define PPE_ATM_IOC_MAXNR       3
97
98 /*@}*/
99
100
101
102 #ifdef __KERNEL__
103 struct port_cell_info {
104     unsigned int    port_num;
105     unsigned int    tx_link_rate[2];
106 };
107 #endif
108 #endif