PageRenderTime 43ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

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

http://github.com/CyanogenMod/cm-kernel
C Header | 94 lines | 42 code | 15 blank | 37 comment | 0 complexity | 85a0501d0f98cb98f62182c3646da2c6 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_ENDPNT_H
  36. #define _WHAL_ENDPNT_H
  37. #include "whalCommon.h"
  38. #include "whalCtrl_api.h"
  39. #include "whalCtrl.h"
  40. #include "memMngrEx.h"
  41. /* CLASS WHAL_ENDPNT*/
  42. typedef enum
  43. {
  44. MSDU_READY = 0,
  45. MSDU_IN_PROGRESS,
  46. MPDU_DROP,
  47. MPDU_DUP_DROP,
  48. MSDU_DROP
  49. } collectStatus_e;
  50. typedef struct
  51. {
  52. UINT32 seqNum; /* The sequence number of the last MSDU received from the station*/
  53. UINT32 fragNum; /* The fragment number of the last fragment received from the station*/
  54. mem_MSDU_T* msduPtr; /* Pointer to the MSDU structure*/
  55. mem_BD_T* lastBdPtr; /* Pointer to the last fragment in the collection*/
  56. UINT32 timeStamp; /* A timestamp contains the receive time of the first fragment in the collection,
  57. if any*/
  58. BOOL collect; /* designates if the station is in a middle of a fragment collection*/
  59. } collectEntry_t;
  60. typedef struct _WHAL_ENDPNT
  61. {
  62. collectEntry_t collectEntry;
  63. WHAL_CTRL *pWhalCtrl; /* Pointer to the HL_HAL control module*/
  64. TI_HANDLE hOs;
  65. TI_HANDLE hReport;
  66. TI_HANDLE hMemMngr;
  67. } WHAL_ENDPNT;
  68. typedef struct
  69. {
  70. TI_HANDLE hReport; /* handle to the reporter module*/
  71. TI_HANDLE hMemMngr; /* handle to the memory manager module*/
  72. } whalEndpnt_config_t;
  73. /* WHAL ENDPOINT Class API*/
  74. TI_HANDLE whalEndpnt_Create (TI_HANDLE hWhalCtrl, TI_HANDLE hOs);
  75. int whalEndpnt_Config (TI_HANDLE hWhalEndpnt, whalEndpnt_config_t* pWhalEndpntCfg);
  76. collectStatus_e whalEndpnt_FragCollect (TI_HANDLE hWhalEndpnt, mem_MSDU_T* pMpdu, mem_MSDU_T** pMsdu);
  77. BOOL whalEndpnt_IsCollect (TI_HANDLE hWhalEndpnt);
  78. int whalEndpnt_Destroy (TI_HANDLE hWhalEnpnt);
  79. #endif /* _WHAL_ENDPNT_H*/