blob: 54583ec817781ef14e8b654df064b00a6ec48ec1 [file] [log] [blame]
Jeff Johnsone7245742012-09-05 17:12:55 -07001/*
Kiet Lam26cd6472014-02-11 23:30:06 -08002 * Copyright (c) 2012-2013 Qualcomm Atheros, Inc.
3 * All Rights Reserved.
4 * Qualcomm Atheros Confidential and Proprietary.
Gopichand Nakkala9c070ad2013-01-08 21:16:34 -08005 */
Jeff Johnsone7245742012-09-05 17:12:55 -07006#ifdef FEATURE_OEM_DATA_SUPPORT
7
8/** ------------------------------------------------------------------------- *
9 ------------------------------------------------------------------------- *
10
11
12 \file oemDataApi.h
13
14 Exports and types for the Common OEM DATA REQ/RSP Module interfaces.
15
16 Copyright (C) 2010 Qualcomm Inc.
17
18
19 ========================================================================== */
20
21#ifndef __OEM_DATA_API_H__
22#define __OEM_DATA_API_H__
23#include "sirApi.h"
24#include "sirMacProtDef.h"
25#include "csrLinkList.h"
26
27#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi3fb3fd62012-12-04 17:21:36 -080028#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -070029#endif
30
31#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi3fb3fd62012-12-04 17:21:36 -080032#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -070033#endif
34
35/*************************************************************************************************************
36 OEM DATA REQ/RSP - DATA STRUCTURES
37*************************************************************************************************************/
38
39/* Structure for defining req sent to the PE */
40typedef struct tagOemDataReq
41{
42 tANI_U8 sessionId;
43 tANI_U8 oemDataReq[OEM_DATA_REQ_SIZE];
44} tOemDataReq, tOemDataReqConfig;
45
46/*************************************************************************************************************
47 OEM DATA RESPONSE - DATA STRUCTURES
48*************************************************************************************************************/
49typedef struct tagOemDataRsp
50{
51 tANI_U8 oemDataRsp[OEM_DATA_RSP_SIZE];
52} tOemDataRsp;
53
54/*************************************************************************************************************/
55
56typedef enum
57{
58 eOEM_DATA_REQ_SUCCESS=1,
59 eOEM_DATA_REQ_FAILURE,
60 eOEM_DATA_REQ_INVALID_MODE,
61} eOemDataReqStatus;
62
63/* ---------------------------------------------------------------------------
64 \fn oemData_OemDataReqOpen
65 \brief This function must be called before any API call to MEAS (OEM DATA REQ/RSP module)
66 \return eHalStatus
67 -------------------------------------------------------------------------------*/
68
69eHalStatus oemData_OemDataReqOpen(tHalHandle hHal);
70
71/* ---------------------------------------------------------------------------
72 \fn oemData_OemDataReqClose
73 \brief This function must be called before closing the csr module
74 \return eHalStatus
75 -------------------------------------------------------------------------------*/
76
77eHalStatus oemData_OemDataReqClose(tHalHandle hHal);
78
79/* HDD Callback function for the sme to callback when the oem data rsp is available */
80typedef eHalStatus (*oemData_OemDataReqCompleteCallback)(
81 tHalHandle,
82 void* p2,
83 tANI_U32 oemDataReqID,
84 eOemDataReqStatus status);
85
86/* ---------------------------------------------------------------------------
87 \fn oemData_OemDataReq
88 \brief Request an OEM DATA RSP
89 \param sessionId - Id of session to be used
90 \param pOemDataReqID - pointer to an object to get back the request ID
91 \param callback - a callback function that is called upon finish
92 \param pContext - a pointer passed in for the callback
93 \return eHalStatus
94 -------------------------------------------------------------------------------*/
95eHalStatus oemData_OemDataReq(tHalHandle, tANI_U8, tOemDataReqConfig *, tANI_U32 *pOemDataReqID,
96 oemData_OemDataReqCompleteCallback callback, void *pContext);
97
98/* ---------------------------------------------------------------------------
99 \fn sme_HandleOemDataRsp
100 \brief This function processes the oem data response obtained from the PE
101 \param pMsg - Pointer to the pSirSmeOemDataRsp
102 \return eHalStatus
103 -------------------------------------------------------------------------------*/
104eHalStatus sme_HandleOemDataRsp(tHalHandle hHal, tANI_U8*);
105
106/* ---------------------------------------------------------------------------
107 \fn oemData_IsOemDataReqAllowed
108 \brief This function checks if oem data req/rsp can be performed in the
109 current driver state
110 \return eHalStatus
111 -------------------------------------------------------------------------------*/
112eHalStatus oemData_IsOemDataReqAllowed(tHalHandle hHal);
113
114#endif //_OEM_DATA_API_H__
115
116#endif //FEATURE_OEM_DATA_SUPPORT