| /** \file qosMngr_API.h |
| * \brief QOS manager module external header file |
| * |
| * \see qosMngr.c |
| */ |
| /**************************************************************************** |
| **+-----------------------------------------------------------------------+** |
| **| |** |
| **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved. |** |
| **| All rights reserved. |** |
| **| |** |
| **| Redistribution and use in source and binary forms, with or without |** |
| **| modification, are permitted provided that the following conditions |** |
| **| are met: |** |
| **| |** |
| **| * Redistributions of source code must retain the above copyright |** |
| **| notice, this list of conditions and the following disclaimer. |** |
| **| * Redistributions in binary form must reproduce the above copyright |** |
| **| notice, this list of conditions and the following disclaimer in |** |
| **| the documentation and/or other materials provided with the |** |
| **| distribution. |** |
| **| * Neither the name Texas Instruments nor the names of its |** |
| **| contributors may be used to endorse or promote products derived |** |
| **| from this software without specific prior written permission. |** |
| **| |** |
| **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |** |
| **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |** |
| **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |** |
| **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |** |
| **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |** |
| **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |** |
| **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |** |
| **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |** |
| **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |** |
| **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |** |
| **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |** |
| **| |** |
| **+-----------------------------------------------------------------------+** |
| ****************************************************************************/ |
| |
| /***************************************************************************/ |
| /* */ |
| /* MODULE: qosMgr_API.h */ |
| /* PURPOSE: QOS manager module external header file */ |
| /* */ |
| /***************************************************************************/ |
| #ifndef __QOS_MNGR_API_H__ |
| #define __QOS_MNGR_API_H__ |
| |
| #include "802_11Defs.h" |
| |
| #define MAX_NUM_OF_TID 16 |
| #define FIRST_TID 8 |
| |
| #define USER_PRIORITY_4 (WMEQosTagToACTable[4]) |
| #define USER_PRIORITY_6 (WMEQosTagToACTable[6]) |
| |
| |
| typedef struct |
| { |
| acTrfcType_e AC; |
| UINT8 tid; |
| UINT8 userPriority; |
| UINT16 nominalMsduSize; /* in bytes */ |
| UINT32 meanDataRate; /* bits per second */ |
| UINT16 surplausBwAllowance; |
| INT32 minimumPHYRate; |
| UINT16 mediumTime; |
| BOOL UPSDFlag; |
| streamDirection_e streamDirection; |
| trafficAdmState_e trafficAdmState; |
| UINT8 statusCode; |
| }tspecInfo_t; |
| |
| typedef enum |
| { |
| STATUS_TRAFFIC_ADM_REQUEST_ACCEPT = 0, |
| STATUS_TRAFFIC_ADM_REQUEST_REJECT = 1, |
| STATUS_TRAFFIC_ADM_REQUEST_TIMEOUT = 2, |
| } trafficAdmRequestStatus_e; |
| |
| |
| TI_HANDLE qosMngr_create(TI_HANDLE hOs); |
| |
| TI_STATUS qosMngr_destroy(TI_HANDLE hQosMngr); |
| |
| TI_STATUS qosMngr_config(TI_HANDLE hQosMngr, |
| TI_HANDLE hHalCtrl, |
| TI_HANDLE hSiteMgr, |
| TI_HANDLE hReport, |
| TI_HANDLE hOs, |
| TI_HANDLE hTxData, |
| TI_HANDLE hMeasurementMngr, |
| TI_HANDLE hSmeSm, |
| TI_HANDLE hMemMgr, |
| TI_HANDLE hCtrlData, |
| TI_HANDLE hEvHandler, |
| TI_HANDLE hExcMgr, |
| QosMngrInitParams_t *pQosMngrInitParams); |
| |
| TI_STATUS qosMngr_disconnect(TI_HANDLE hQosMngr); |
| |
| TI_STATUS qosMngr_connect(TI_HANDLE hQosMngr); |
| |
| TI_STATUS qosMngr_setParams(TI_HANDLE hQosMngr,paramInfo_t *pParamInfo); |
| |
| TI_STATUS qosMngr_setParamsPartial(TI_HANDLE hQosMngr,paramInfoPartial_t *pParamInfo); |
| |
| TI_STATUS qosMngr_getParams(TI_HANDLE hQosMngr,paramInfo_t *pParamInfo); |
| |
| TI_STATUS qosMngr_getParamsPatial(TI_HANDLE hQosMngr,paramInfoPartial_t *pParamInfo); |
| |
| TI_STATUS qosMngr_assocReqBuild(TI_HANDLE hQosMngr, UINT8 *pQosIe, UINT8 *pLen); |
| |
| TI_STATUS qosMngr_setSite(TI_HANDLE hQosMngr, assocRsp_t *assocRsp); |
| |
| void qosMngr_updateIEinfo(TI_HANDLE hQosMngr, UINT8 *pQosIeParams,qosProtocols_e qosSetProtocol); |
| |
| UINT8 qosMngr_evalSite(TI_HANDLE hQosMngr, BOOL siteAPSDSupport); |
| |
| TI_STATUS qosMngr_getQosCapabiltyInfeElement(TI_HANDLE hQosMngr, UINT8 *pQosIe, UINT8 *pLen); |
| |
| TI_STATUS qosMngr_requestAdmission(TI_HANDLE hQosMngr, |
| OS_802_11_QOS_TSPEC_PARAMS *addTspecParams); |
| |
| TI_STATUS qosMngr_deleteAdmission(TI_HANDLE hQosMngr, OS_802_11_QOS_DELETE_TSPEC_PARAMS *delAdmissionParams); |
| |
| TI_STATUS qosMngr_selectActiveProtocol(TI_HANDLE hQosMngr); |
| |
| TI_STATUS qosMngr_setAcPsDeliveryMode(TI_HANDLE hQosMngr); |
| |
| TI_STATUS qosMngr_sendUnexpectedTSPECResponseEvent(TI_HANDLE hQosMngr, |
| tspecInfo_t *pTspecInfo); |
| |
| TI_STATUS qosMngr_setAdmissionInfo(TI_HANDLE hQosMngr, |
| UINT8 acID, |
| tspecInfo_t *pTspecInfo, |
| trafficAdmRequestStatus_e trafficAdmRequestStatus); |
| |
| |
| |
| TI_STATUS QosMngr_receiveActionFrames(TI_HANDLE hQosMngr, UINT8* pData, UINT8 action, UINT32 bodyLen); |
| |
| void qosMngr_checkTspecRenegResults(TI_HANDLE hQosMngr, assocRsp_t *assocRsp); |
| |
| UINT32 qosMngr_buildTSPec(TI_HANDLE hQosMngr, UINT32 user_priority, UINT8 *pQosIe); |
| |
| #endif /* __QOS_MNGR_API_H__ */ |
| |