]> Pileus Git - ~andy/linux/blobdiff - drivers/staging/rtl8192e/rtl819x_Qos.h
Merge branch 'for-3.2' of git://linux-nfs.org/~bfields/linux
[~andy/linux] / drivers / staging / rtl8192e / rtl819x_Qos.h
index e063ed812c9f85ddb7bd68a2475978781dfdc857..5ecd556f079776fa87a10c628c4fc59931aeee71 100644 (file)
 
 #include "rtllib_endianfree.h"
 
-#define BIT0                    0x00000001
-#define BIT1                    0x00000002
-#define BIT2                    0x00000004
-#define BIT3                    0x00000008
-#define BIT4                    0x00000010
-#define BIT5                    0x00000020
-#define BIT6                    0x00000040
-#define BIT7                    0x00000080
-#define BIT8                    0x00000100
-#define BIT9                    0x00000200
-#define BIT10                   0x00000400
-#define BIT11                   0x00000800
-#define BIT12                   0x00001000
-#define BIT13                   0x00002000
-#define BIT14                   0x00004000
-#define BIT15                   0x00008000
-#define BIT16                   0x00010000
-#define BIT17                   0x00020000
-#define BIT18                   0x00040000
-#define BIT19                   0x00080000
-#define BIT20                   0x00100000
-#define BIT21                   0x00200000
-#define BIT22                   0x00400000
-#define BIT23                   0x00800000
-#define BIT24                   0x01000000
-#define BIT25                   0x02000000
-#define BIT26                   0x04000000
-#define BIT27                   0x08000000
-#define BIT28                   0x10000000
-#define BIT29                   0x20000000
-#define BIT30                   0x40000000
-#define BIT31                   0x80000000
+#define BIT0               0x00000001
+#define BIT1               0x00000002
+#define BIT2               0x00000004
+#define BIT3               0x00000008
+#define BIT4               0x00000010
+#define BIT5               0x00000020
+#define BIT6               0x00000040
+#define BIT7               0x00000080
+#define BIT8               0x00000100
+#define BIT9               0x00000200
+#define BIT10             0x00000400
+#define BIT11             0x00000800
+#define BIT12             0x00001000
+#define BIT13             0x00002000
+#define BIT14             0x00004000
+#define BIT15             0x00008000
+#define BIT16             0x00010000
+#define BIT17             0x00020000
+#define BIT18             0x00040000
+#define BIT19             0x00080000
+#define BIT20             0x00100000
+#define BIT21             0x00200000
+#define BIT22             0x00400000
+#define BIT23             0x00800000
+#define BIT24             0x01000000
+#define BIT25             0x02000000
+#define BIT26             0x04000000
+#define BIT27             0x08000000
+#define BIT28             0x10000000
+#define BIT29             0x20000000
+#define BIT30             0x40000000
+#define BIT31             0x80000000
 
 union qos_tsinfo {
        u8              charData[3];
@@ -67,14 +67,13 @@ union qos_tsinfo {
                u8              ucTSInfoAckPolicy:2;
                u8              ucSchedule:1;
                u8              ucReserved:7;
-       }field;
+       } field;
 };
 
 union tspec_body {
        u8              charData[55];
 
-       struct
-       {
+       struct {
                union qos_tsinfo TSInfo;
                u16     NominalMSDUsize;
                u16     MaxMSDUsize;
@@ -105,12 +104,14 @@ struct wmm_tspec {
 };
 
 struct octet_string {
-        u8             *Octet;
-        u16             Length;
-};//, *struct octet_string *;
+       u8 *Octet;
+       u16 Length;
+};
+
 #define        MAX_WMMELE_LENGTH       64
 
-typedef u32 QOS_MODE, *PQOS_MODE;
+#define QOS_MODE u32
+
 #define QOS_DISABLE            0
 #define QOS_WMM                1
 #define QOS_WMMSA              2
@@ -136,45 +137,61 @@ typedef u32 QOS_MODE, *PQOS_MODE;
 #define ACM_TIMEOUT                            1000
 #define SESSION_REJECT_TIMEOUT         60000
 
-typedef        enum _ACK_POLICY{
+enum ack_policy {
        eAckPlc0_ACK            = 0x00,
        eAckPlc1_NoACK          = 0x01,
-}ACK_POLICY,*PACK_POLICY;
+};
 
 
-#define SET_WMM_QOS_INFO_FIELD(_pStart, _val)                                          WriteEF1Byte(_pStart, _val)
+#define SET_WMM_QOS_INFO_FIELD(_pStart, _val)  \
+       WriteEF1Byte(_pStart, _val)
 
-#define GET_WMM_QOS_INFO_FIELD_PARAMETERSET_COUNT(_pStart)             LE_BITS_TO_1BYTE(_pStart, 0, 4)
-#define SET_WMM_QOS_INFO_FIELD_PARAMETERSET_COUNT(_pStart, _val)       SET_BITS_TO_LE_1BYTE(_pStart, 0, 4, _val)
+#define GET_WMM_QOS_INFO_FIELD_PARAMETERSET_COUNT(_pStart) \
+       LE_BITS_TO_1BYTE(_pStart, 0, 4)
+#define SET_WMM_QOS_INFO_FIELD_PARAMETERSET_COUNT(_pStart, _val) \
+       SET_BITS_TO_LE_1BYTE(_pStart, 0, 4, _val)
 
-#define GET_WMM_QOS_INFO_FIELD_AP_UAPSD(_pStart)                                       LE_BITS_TO_1BYTE(_pStart, 7, 1)
-#define SET_WMM_QOS_INFO_FIELD_AP_UAPSD(_pStart, _val)                         SET_BITS_TO_LE_1BYTE(_pStart, 7, 1, _val)
+#define GET_WMM_QOS_INFO_FIELD_AP_UAPSD(_pStart) \
+       LE_BITS_TO_1BYTE(_pStart, 7, 1)
+#define SET_WMM_QOS_INFO_FIELD_AP_UAPSD(_pStart, _val) \
+       SET_BITS_TO_LE_1BYTE(_pStart, 7, 1, _val)
 
-#define GET_WMM_QOS_INFO_FIELD_STA_AC_VO_UAPSD(_pStart)                        LE_BITS_TO_1BYTE(_pStart, 0, 1)
-#define SET_WMM_QOS_INFO_FIELD_STA_AC_VO_UAPSD(_pStart, _val)          SET_BITS_TO_LE_1BYTE(_pStart, 0, 1, _val)
+#define GET_WMM_QOS_INFO_FIELD_STA_AC_VO_UAPSD(_pStart) \
+       LE_BITS_TO_1BYTE(_pStart, 0, 1)
+#define SET_WMM_QOS_INFO_FIELD_STA_AC_VO_UAPSD(_pStart, _val) \
+       SET_BITS_TO_LE_1BYTE(_pStart, 0, 1, _val)
 
-#define GET_WMM_QOS_INFO_FIELD_STA_AC_VI_UAPSD(_pStart)                        LE_BITS_TO_1BYTE(_pStart, 1, 1)
-#define SET_WMM_QOS_INFO_FIELD_STA_AC_VI_UAPSD(_pStart, _val)          SET_BITS_TO_LE_1BYTE(_pStart, 1, 1, _val)
+#define GET_WMM_QOS_INFO_FIELD_STA_AC_VI_UAPSD(_pStart) \
+       LE_BITS_TO_1BYTE(_pStart, 1, 1)
+#define SET_WMM_QOS_INFO_FIELD_STA_AC_VI_UAPSD(_pStart, _val) \
+       SET_BITS_TO_LE_1BYTE(_pStart, 1, 1, _val)
 
-#define GET_WMM_QOS_INFO_FIELD_STA_AC_BE_UAPSD(_pStart)                        LE_BITS_TO_1BYTE(_pStart, 2, 1)
-#define SET_WMM_QOS_INFO_FIELD_STA_AC_BE_UAPSD(_pStart, _val)          SET_BITS_TO_LE_1BYTE(_pStart, 2, 1, _val)
+#define GET_WMM_QOS_INFO_FIELD_STA_AC_BE_UAPSD(_pStart) \
+       LE_BITS_TO_1BYTE(_pStart, 2, 1)
+#define SET_WMM_QOS_INFO_FIELD_STA_AC_BE_UAPSD(_pStart, _val) \
+       SET_BITS_TO_LE_1BYTE(_pStart, 2, 1, _val)
 
-#define GET_WMM_QOS_INFO_FIELD_STA_AC_BK_UAPSD(_pStart)                        LE_BITS_TO_1BYTE(_pStart, 3, 1)
-#define SET_WMM_QOS_INFO_FIELD_STA_AC_BK_UAPSD(_pStart, _val)          SET_BITS_TO_LE_1BYTE(_pStart, 3, 1, _val)
+#define GET_WMM_QOS_INFO_FIELD_STA_AC_BK_UAPSD(_pStart) \
+       LE_BITS_TO_1BYTE(_pStart, 3, 1)
+#define SET_WMM_QOS_INFO_FIELD_STA_AC_BK_UAPSD(_pStart, _val) \
+       SET_BITS_TO_LE_1BYTE(_pStart, 3, 1, _val)
 
-#define GET_WMM_QOS_INFO_FIELD_STA_MAX_SP_LEN(_pStart)                 LE_BITS_TO_1BYTE(_pStart, 5, 2)
-#define SET_WMM_QOS_INFO_FIELD_STA_MAX_SP_LEN(_pStart, _val)           SET_BITS_TO_LE_1BYTE(_pStart, 5, 2, _val)
+#define GET_WMM_QOS_INFO_FIELD_STA_MAX_SP_LEN(_pStart) \
+       LE_BITS_TO_1BYTE(_pStart, 5, 2)
+#define SET_WMM_QOS_INFO_FIELD_STA_MAX_SP_LEN(_pStart, _val) \
+       SET_BITS_TO_LE_1BYTE(_pStart, 5, 2, _val)
 
-typedef enum {
+enum qos_ie_source {
        QOSIE_SRC_ADDTSREQ,
        QOSIE_SRC_ADDTSRSP,
        QOSIE_SRC_REASOCREQ,
        QOSIE_SRC_REASOCRSP,
        QOSIE_SRC_DELTS,
-} QOSIE_SOURCE;
+};
+
 
+#define AC_CODING u32
 
-typedef u32 AC_CODING;
 #define AC0_BE 0
 #define AC1_BK 1
 #define AC2_VI 2
@@ -184,60 +201,74 @@ typedef u32 AC_CODING;
 
 #define AC_PARAM_SIZE  4
 
-#define GET_WMM_AC_PARAM_AIFSN(_pStart)                                ( (u8)LE_BITS_TO_4BYTE(_pStart, 0, 4) )
-#define SET_WMM_AC_PARAM_AIFSN(_pStart, _val)          SET_BITS_TO_LE_4BYTE(_pStart, 0, 4, _val)
+#define GET_WMM_AC_PARAM_AIFSN(_pStart) \
+       ((u8)LE_BITS_TO_4BYTE(_pStart, 0, 4))
+#define SET_WMM_AC_PARAM_AIFSN(_pStart, _val) \
+       SET_BITS_TO_LE_4BYTE(_pStart, 0, 4, _val)
 
-#define GET_WMM_AC_PARAM_ACM(_pStart)                          ( (u8)LE_BITS_TO_4BYTE(_pStart, 4, 1) )
-#define SET_WMM_AC_PARAM_ACM(_pStart, _val)                    SET_BITS_TO_LE_4BYTE(_pStart, 4, 1, _val)
+#define GET_WMM_AC_PARAM_ACM(_pStart) \
+       ((u8)LE_BITS_TO_4BYTE(_pStart, 4, 1))
+#define SET_WMM_AC_PARAM_ACM(_pStart, _val) \
+       SET_BITS_TO_LE_4BYTE(_pStart, 4, 1, _val)
 
-#define GET_WMM_AC_PARAM_ACI(_pStart)                          ( (u8)LE_BITS_TO_4BYTE(_pStart, 5, 2) )
-#define SET_WMM_AC_PARAM_ACI(_pStart, _val)                    SET_BITS_TO_LE_4BYTE(_pStart, 5, 2, _val)
+#define GET_WMM_AC_PARAM_ACI(_pStart) \
+       ((u8)LE_BITS_TO_4BYTE(_pStart, 5, 2))
+#define SET_WMM_AC_PARAM_ACI(_pStart, _val) \
+       SET_BITS_TO_LE_4BYTE(_pStart, 5, 2, _val)
 
-#define GET_WMM_AC_PARAM_ACI_AIFSN(_pStart)                    ( (u8)LE_BITS_TO_4BYTE(_pStart, 0, 8) )
-#define SET_WMM_AC_PARAM_ACI_AIFSN(_pStart, _val)      SET_BITS_TO_LE_4BYTE(_pStart, 0, 8, _val)
+#define GET_WMM_AC_PARAM_ACI_AIFSN(_pStart) \
+       ((u8)LE_BITS_TO_4BYTE(_pStart, 0, 8))
+#define SET_WMM_AC_PARAM_ACI_AIFSN(_pStart, _val) \
+       SET_BITS_TO_LE_4BYTE(_pStart, 0, 8, _val)
 
-#define GET_WMM_AC_PARAM_ECWMIN(_pStart)                       ( (u8)LE_BITS_TO_4BYTE(_pStart, 8, 4) )
-#define SET_WMM_AC_PARAM_ECWMIN(_pStart, _val)         SET_BITS_TO_LE_4BYTE(_pStart, 8, 4, _val)
+#define GET_WMM_AC_PARAM_ECWMIN(_pStart) \
+       ((u8)LE_BITS_TO_4BYTE(_pStart, 8, 4))
+#define SET_WMM_AC_PARAM_ECWMIN(_pStart, _val) \
+       SET_BITS_TO_LE_4BYTE(_pStart, 8, 4, _val)
 
-#define GET_WMM_AC_PARAM_ECWMAX(_pStart)                       ( (u8)LE_BITS_TO_4BYTE(_pStart, 12, 4) )
-#define SET_WMM_AC_PARAM_ECWMAX(_pStart, _val)         SET_BITS_TO_LE_4BYTE(_pStart, 12, 4, _val)
+#define GET_WMM_AC_PARAM_ECWMAX(_pStart) \
+       ((u8)LE_BITS_TO_4BYTE(_pStart, 12, 4))
+#define SET_WMM_AC_PARAM_ECWMAX(_pStart, _val) \
+       SET_BITS_TO_LE_4BYTE(_pStart, 12, 4, _val)
 
-#define GET_WMM_AC_PARAM_TXOP_LIMIT(_pStart)           ( (u8)LE_BITS_TO_4BYTE(_pStart, 16, 16) )
-#define SET_WMM_AC_PARAM_TXOP_LIMIT(_pStart, _val)     SET_BITS_TO_LE_4BYTE(_pStart, 16, 16, _val)
+#define GET_WMM_AC_PARAM_TXOP_LIMIT(_pStart) \
+       ((u8)LE_BITS_TO_4BYTE(_pStart, 16, 16))
+#define SET_WMM_AC_PARAM_TXOP_LIMIT(_pStart, _val) \
+       SET_BITS_TO_LE_4BYTE(_pStart, 16, 16, _val)
 
 
 
 #define WMM_PARAM_ELEMENT_SIZE (8+(4*AC_PARAM_SIZE))
 
-typedef        enum _QOS_ELE_SUBTYPE{
+enum qos_ele_subtype {
        QOSELE_TYPE_INFO                = 0x00,
        QOSELE_TYPE_PARAM       = 0x01,
-}QOS_ELE_SUBTYPE,*PQOS_ELE_SUBTYPE;
+};
 
 
-typedef        enum _DIRECTION_VALUE{
+enum direction_value {
        DIR_UP                  = 0,
        DIR_DOWN                = 1,
        DIR_DIRECT              = 2,
        DIR_BI_DIR              = 3,
-}DIRECTION_VALUE,*PDIRECTION_VALUE;
+};
 
-typedef        enum _ACM_METHOD{
+enum acm_method {
        eAcmWay0_SwAndHw                = 0,
        eAcmWay1_HW                     = 1,
        eAcmWay2_SW                     = 2,
-}ACM_METHOD,*PACM_METHOD;
+};
 
 
 struct acm {
        u64             UsedTime;
        u64             MediumTime;
        u8              HwAcmCtl;
-};//, *struct acm *;
+};
 
 
 
-typedef        u8              AC_UAPSD, *PAC_UAPSD;
+#define AC_UAPSD       u8
 
 #define        GET_VO_UAPSD(_apsd) ((_apsd) & BIT0)
 #define        SET_VO_UAPSD(_apsd) ((_apsd) |= BIT0)
@@ -253,13 +284,13 @@ typedef   u8              AC_UAPSD, *PAC_UAPSD;
 
 union qos_tclas {
 
-       struct _TYPE_GENERAL{
+       struct _TYPE_GENERAL {
                u8              Priority;
                u8              ClassifierType;
                u8              Mask;
        } TYPE_GENERAL;
 
-       struct _TYPE0_ETH{
+       struct _TYPE0_ETH {
                u8              Priority;
                u8              ClassifierType;
                u8              Mask;
@@ -268,7 +299,7 @@ union qos_tclas {
                u16             Type;
        } TYPE0_ETH;
 
-       struct _TYPE1_IPV4{
+       struct _TYPE1_IPV4 {
                u8              Priority;
                u8              ClassifierType;
                u8              Mask;
@@ -282,7 +313,7 @@ union qos_tclas {
                u8              Reserved;
        } TYPE1_IPV4;
 
-       struct _TYPE1_IPV6{
+       struct _TYPE1_IPV6 {
                u8              Priority;
                u8              ClassifierType;
                u8              Mask;
@@ -294,7 +325,7 @@ union qos_tclas {
                u8              FlowLabel[3];
        } TYPE1_IPV6;
 
-       struct _TYPE2_8021Q{
+       struct _TYPE2_8021Q {
                u8              Priority;
                u8              ClassifierType;
                u8              Mask;
@@ -315,23 +346,23 @@ struct qos_tstream {
 };
 
 struct sta_qos {
-       u8                              WMMIEBuf[MAX_WMMELE_LENGTH];
-       u8*                             WMMIE;
+       u8 WMMIEBuf[MAX_WMMELE_LENGTH];
+       u8 *WMMIE;
 
-       QOS_MODE                QosCapability;
-       QOS_MODE                CurrentQosMode;
+       QOS_MODE QosCapability;
+       QOS_MODE CurrentQosMode;
 
-       AC_UAPSD                b4ac_Uapsd;
-       AC_UAPSD                Curr4acUapsd;
-       u8                              bInServicePeriod;
-       u8                              MaxSPLength;
-       int                             NumBcnBeforeTrigger;
+       AC_UAPSD b4ac_Uapsd;
+       AC_UAPSD Curr4acUapsd;
+       u8 bInServicePeriod;
+       u8 MaxSPLength;
+       int NumBcnBeforeTrigger;
 
-       u8 *                            pWMMInfoEle;
-       u8                              WMMParamEle[WMM_PARAM_ELEMENT_SIZE];
+       u8 *pWMMInfoEle;
+       u8 WMMParamEle[WMM_PARAM_ELEMENT_SIZE];
 
        struct acm acm[4];
-       ACM_METHOD              AcmMethod;
+       enum acm_method AcmMethod;
 
        struct qos_tstream StaTsArray[MAX_STA_TS_COUNT];
        u8                              DialogToken;
@@ -343,73 +374,71 @@ struct sta_qos {
 
        bool                            bEnableRxImmBA;
 
-};//, *struct sta_qos *;
+};
 
-#define QBSS_LOAD_SIZE 5
-#define GET_QBSS_LOAD_STA_COUNT(__pStart)                                      ReadEF2Byte(__pStart)
-#define SET_QBSS_LOAD_STA_COUNT(__pStart, __Value)                     WriteEF2Byte(__pStart, __Value)
-#define GET_QBSS_LOAD_CHNL_UTILIZATION(__pStart)                       ReadEF1Byte((u8*)(__pStart) + 2)
-#define SET_QBSS_LOAD_CHNL_UTILIZATION(__pStart, __Value)              WriteEF1Byte((u8*)(__pStart) + 2, __Value)
-#define GET_QBSS_LOAD_AVAILABLE_CAPACITY(__pStart)                     ReadEF2Byte((u8*)(__pStart) + 3)
-#define SET_QBSS_LOAD_AVAILABLE_CAPACITY(__pStart, __Value)    WriteEF2Byte((u8*)(__pStart) + 3, __Value)
+#define QBSS_LOAD_SIZE                         5
+#define GET_QBSS_LOAD_STA_COUNT(__pStart)      \
+               ReadEF2Byte(__pStart)
+#define SET_QBSS_LOAD_STA_COUNT(__pStart, __Value)     \
+               WriteEF2Byte(__pStart, __Value)
+#define GET_QBSS_LOAD_CHNL_UTILIZATION(__pStart)       \
+               ReadEF1Byte((u8 *)(__pStart) + 2)
+#define SET_QBSS_LOAD_CHNL_UTILIZATION(__pStart, __Value)      \
+               WriteEF1Byte((u8 *)(__pStart) + 2, __Value)
+#define GET_QBSS_LOAD_AVAILABLE_CAPACITY(__pStart)     \
+               ReadEF2Byte((u8 *)(__pStart) + 3)
+#define SET_QBSS_LOAD_AVAILABLE_CAPACITY(__pStart, __Value) \
+               WriteEF2Byte((u8 *)(__pStart) + 3, __Value)
 
 struct bss_qos {
-
-       QOS_MODE                        bdQoSMode;
-       u8                                      bdWMMIEBuf[MAX_WMMELE_LENGTH];
+       QOS_MODE bdQoSMode;
+       u8 bdWMMIEBuf[MAX_WMMELE_LENGTH];
        struct octet_string bdWMMIE;
 
-       QOS_ELE_SUBTYPE         EleSubType;
+       enum qos_ele_subtype EleSubType;
 
-       u8*                                     pWMMInfoEle;
-       u8*                                     pWMMParamEle;
+       u8 *pWMMInfoEle;
+       u8 *pWMMParamEle;
 
-       u8                                      QBssLoad[QBSS_LOAD_SIZE];
-       bool                                    bQBssLoadValid;
-};//, *struct bss_qos *;
+       u8 QBssLoad[QBSS_LOAD_SIZE];
+       bool bQBssLoadValid;
+};
 
 #define sQoSCtlLng     2
-#define QOS_CTRL_LEN(_QosMode)         ( (_QosMode > QOS_DISABLE)? sQoSCtlLng : 0 )
+#define QOS_CTRL_LEN(_QosMode) ((_QosMode > QOS_DISABLE) ? sQoSCtlLng : 0)
 
 
-#define IsACValid(ac)          ( ( ac>=0 && ac<=7 )? true : false )
+#define IsACValid(ac)          ((ac >= 0 && ac <= 7) ? true : false)
 
 
-typedef        union _ACI_AIFSN{
+union aci_aifsn {
        u8      charData;
 
-       struct
-       {
+       struct {
                u8      AIFSN:4;
                u8      acm:1;
                u8      ACI:2;
                u8      Reserved:1;
-       }f;
-}ACI_AIFSN, *PACI_AIFSN;
+       } f;
+};
 
-typedef        union _ECW{
+union ecw {
        u8      charData;
-       struct
-       {
+       struct {
                u8      ECWmin:4;
                u8      ECWmax:4;
-       }f;
-}ECW, *PECW;
+       } f;
+};
 
-typedef        union _AC_PARAM{
+union ac_param {
        u32     longData;
        u8      charData[4];
 
-       struct
-       {
-               ACI_AIFSN       AciAifsn;
-               ECW             Ecw;
+       struct {
+               union aci_aifsn AciAifsn;
+               union ecw Ecw;
                u16             TXOPLimit;
-       }f;
-}AC_PARAM, *PAC_PARAM;
-
-
-
-
+       } f;
+};
 
 #endif