1a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*
2a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * TI_IPC_Api.h
3a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
4a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.
5a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * All rights reserved.
6a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
7a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Redistribution and use in source and binary forms, with or without
8a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * modification, are permitted provided that the following conditions
9a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * are met:
10a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
11a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *  * Redistributions of source code must retain the above copyright
12a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    notice, this list of conditions and the following disclaimer.
13a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *  * Redistributions in binary form must reproduce the above copyright
14a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    notice, this list of conditions and the following disclaimer in
15a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    the documentation and/or other materials provided with the
16a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    distribution.
17a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *  * Neither the name Texas Instruments nor the names of its
18a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    contributors may be used to endorse or promote products derived
19a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    from this software without specific prior written permission.
20a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
21a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */
33a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
34a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*---------------------------------------------------------------*/
35a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**/
36a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*  TI IPC header file*/
37a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**/
38a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*  Author :    Texas Instruments*/
39a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**/
40a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*  Filename: TI_IPC_Api.h*/
41a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**/
42a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*  Version  :1.0*/
43a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**/
44a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*  Last update date : 15/03/2004*/
45a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**/
46a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*---------------------------------------------------------------*/
47a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
48a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#ifndef _TI_IPC_API_H
49a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define _TI_IPC_API_H
50a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
51a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "tidef.h"
52a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
53a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
54a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define MAX_REGISTERED_MODULES 5
55a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define MAX_EVENT_DATA_SIZE 128
56a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define MAX_SEND_EVENTS 4
57a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
58a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#ifdef  __cplusplus
59a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtextern "C" {
60a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#endif
61a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
62a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*******************Defines*********************/
63a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
64a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* WARNING! DON'T CHANGE THE ORDER OF EVENTS! */
65a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* OS EVENTS MUST COME FIRST!*/
66a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
67a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtenum
68a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
69a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_ASSOCIATED = 0,
70a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_DISASSOCIATED,
71a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_LINK_SPEED,
72a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_AUTH_SUCC,
73a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_SCAN_REPORT,
74a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_SCAN_COMPLETE,
75a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_SCAN_STOPPED,
76a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_CCKM_START,
77a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_MEDIA_SPECIFIC,
78a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_MAX_OS_EVENT = IPC_EVENT_MEDIA_SPECIFIC,
79a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_EAPOL,
80a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_BOUND,
81a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_UNBOUND,
82a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_PREAUTH_EAPOL,
83a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_RESERVED2,
84a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_LOW_RSSI,
85a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_TSPEC_STATUS,
86a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_TSPEC_RATE_STATUS,
87a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_MEDIUM_TIME_CROSS,
88a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_ROAMING_COMPLETE,
89a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_EAP_AUTH_FAILURE,
90a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_WPA2_PREAUTHENTICATION,
91a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_TRAFFIC_INTENSITY_THRESHOLD_CROSSED,
92a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_SCAN_FAILED,
93a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_WPS_SESSION_OVERLAP,
94a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_RSSI_SNR_TRIGGER,
95a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_RSSI_SNR_TRIGGER_0,
96a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	IPC_EVENT_LOGGER,
97a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_NOT_ASSOCIATED,
98a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_BSS_LOSS,
99a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_REASSOCIATION_RESP,
100a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_IMMEDIATE_SCAN_REPORT,
101a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_CONTINUOUS_SCAN_REPORT,
102a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_RSSI_SNR_TRIGGER_1,
103a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_AP_DISCONNECT,
104a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_TX_RETRY_FALIURE,
105a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_RE_AUTH_STARTED,
106a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_RE_AUTH_COMPLETED,
107a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_RE_AUTH_TERMINATED,
108a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_TIMEOUT,
109a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_GWSI,
110a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_MAX
111a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt};
112a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
113a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtenum
114a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
115a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    DELIVERY_PUSH =0,
116a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    DELIVERY_GET_DATA
117a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt};
118a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
119a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtenum
120a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
121a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    SCAN_STATUS_COMPLETE = 0,
122a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    SCAN_STATUS_STOPPED = 1,
123a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    SCAN_STATUS_FAILED = 2
124a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt};
125a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
126a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/************************* IOCTLs Functions *******************************/
127a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
128a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_HANDLE   IPC_Init(void);
129a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
130a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_INT32     IPC_DeInit(void);
131a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
132a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_HANDLE   IPC_DeviceOpen(void* AdapterName); /* get hDevice Handle*/
133a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
134a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_INT32     IPC_DeviceClose(TI_HANDLE hDevice);
135a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
136a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_INT32     IPC_DeviceIoControl(TI_HANDLE   hDevice,
137a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt                            TI_UINT32    IoControlCode,
138a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt                            void*     pInBuffer,
139a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt                            TI_UINT32    InBufferSize,
140a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt                            void*     pOutBuffer,
141a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt                            TI_UINT32    pOutBufferSize,
142a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt                            TI_UINT32*   pBytesReturned);
143a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
144a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/************************* Events Functions *******************************/
145a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
146a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef struct _IPC_EV_DATA * PIPC_EV_DATA;
147a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
148a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef TI_INT32 (*TI_EVENT_CALLBACK) (PIPC_EV_DATA  pData);
149a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
150a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef struct _IPC_EVENT_PARAMS
151a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
152a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_UINT32            uEventType;
153a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_HANDLE           uEventID;
154a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_UINT32            uProcessID;
155a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_UINT32            uDeliveryType;
156a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_HANDLE           hUserParam;            /* Handle to back reference*/
157a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_EVENT_CALLBACK   pfEventCallback;
158a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}IPC_EVENT_PARAMS;
159a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
160a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* EvParams are assumed to be the first field. Any addtions shoild be made
161a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    afterwards
162a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */
163a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef struct _IPC_EV_DATA
164a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
165a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    IPC_EVENT_PARAMS    EvParams;
166a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_UINT32            uBufferSize;
167a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_UINT8             uBuffer[MAX_EVENT_DATA_SIZE];
168a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}IPC_EV_DATA;
169a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
170a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
171a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*this function will also enable event and pass all the parameters about it*/
172a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* returns unique ID of registered event, to be passed later for unregister*/
173a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_INT32 IPC_RegisterEvent(TI_HANDLE             hDevice,    /* Driver Handle*/
174a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt                          IPC_EVENT_PARAMS*     pEvParams);  /* size of the structure + size of the params*/
175a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
176a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_INT32 IPC_UnRegisterEvent(TI_HANDLE   hDevice,
177a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt                            IPC_EVENT_PARAMS*   pEvParams); /* returned by IPC_RegisterEvent*/
178a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
179a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/***************************************************************************/
180a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
181a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#ifdef  __cplusplus
182a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
183a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#endif
184a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
185a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#endif /*_IPC_UTIL_H*/
186a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
187