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