PageRenderTime 37ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/drivers/net/wireless/tiwlan1251/common/src/hal/hl_data/whalDefrag_api.h

http://github.com/CyanogenMod/cm-kernel
C Header | 96 lines | 43 code | 17 blank | 36 comment | 0 complexity | c70eac3b9be2ae14241cc5c484546fd7 MD5 | raw file
Possible License(s): AGPL-1.0, GPL-2.0, LGPL-2.0
  1. /****************************************************************************
  2. **+-----------------------------------------------------------------------+**
  3. **| |**
  4. **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved. |**
  5. **| All rights reserved. |**
  6. **| |**
  7. **| Redistribution and use in source and binary forms, with or without |**
  8. **| modification, are permitted provided that the following conditions |**
  9. **| are met: |**
  10. **| |**
  11. **| * Redistributions of source code must retain the above copyright |**
  12. **| notice, this list of conditions and the following disclaimer. |**
  13. **| * Redistributions in binary form must reproduce the above copyright |**
  14. **| notice, this list of conditions and the following disclaimer in |**
  15. **| the documentation and/or other materials provided with the |**
  16. **| distribution. |**
  17. **| * Neither the name Texas Instruments nor the names of its |**
  18. **| contributors may be used to endorse or promote products derived |**
  19. **| from this software without specific prior written permission. |**
  20. **| |**
  21. **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |**
  22. **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |**
  23. **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
  24. **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |**
  25. **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
  26. **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |**
  27. **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
  28. **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
  29. **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |**
  30. **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
  31. **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |**
  32. **| |**
  33. **+-----------------------------------------------------------------------+**
  34. ****************************************************************************/
  35. #ifndef _WHAL_DEFRAG_API_H
  36. #define _WHAL_DEFRAG_API_H
  37. #include "whalCommon.h"
  38. #include "whalCtrl_api.h"
  39. #include "whalCtrl.h"
  40. #include "memMngrEx.h"
  41. #include "whalEndpntEnt_api.h"
  42. #define MAX_SITES_FRAGMENT_COLLECTION 10
  43. /* CLASS WHAL_DEFRAG*/
  44. typedef struct
  45. {
  46. UINT8 srcMac[MAC_ADDR_LEN];
  47. BOOL inUse;
  48. } whalDefrag_entMngr_t;
  49. typedef struct _WHAL_DEFRAG
  50. {
  51. UINT32 duplicateCnt;
  52. UINT32 mpduCnt;
  53. UINT32 msduCnt;
  54. UINT8 numCollectEntry;
  55. whalDefrag_entMngr_t endpntMngr[MAX_SITES_FRAGMENT_COLLECTION];
  56. WHAL_ENDPNT* pWhalEndpntEnt[MAX_SITES_FRAGMENT_COLLECTION]; /* Pointer to the HL_HAL endpoint entry module*/
  57. WHAL_CTRL* hWhalCtrl; /* Pointer to the HL_HAL control module*/
  58. TI_HANDLE hOs;
  59. TI_HANDLE hReport;
  60. TI_HANDLE hMemMngr;
  61. } WHAL_DEFRAG;
  62. typedef struct
  63. {
  64. TI_HANDLE hReport; /* handle to the reporter module*/
  65. TI_HANDLE hMemMngr; /* handle to the memory manager module*/
  66. } whalDefrag_config_t;
  67. typedef struct
  68. {
  69. UINT32 duplicateCnt;
  70. UINT32 mpduCnt;
  71. UINT32 msduCnt;
  72. } whalDefrag_counters_t;
  73. /* WHAL DEFRAG Class API*/
  74. TI_HANDLE whalDefrag_Create (TI_HANDLE hWhalCtrl, TI_HANDLE hOs, UINT8 numCollectEntries);
  75. int whalDefrag_Config (TI_HANDLE hWhalDefrag, whalDefrag_config_t* pWhalDefragCfg);
  76. collectStatus_e whalDefrag_MpduCollect (TI_HANDLE hWhalDefrag, mem_MSDU_T* pMpdu, mem_MSDU_T** pMsdu);
  77. int whalDefrag_CountersGet (TI_HANDLE hWhalDefrag, whalDefrag_counters_t* pWhalDefragCntr);
  78. int whalDefrag_Destroy (TI_HANDLE hWhalDefrag);
  79. #endif /* _WHAL_DEFRAG_API_H*/