1a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* 2a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * osApi.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/* Module: OSAPI.H*/ 37a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**/ 38a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Purpose: This module defines unified interface to the OS specific*/ 39a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* sources and services.*/ 40a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**/ 41a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*--------------------------------------------------------------------------*/ 42a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 43a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#ifndef __OS_API_H__ 44a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define __OS_API_H__ 45a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 46a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \file osApi.h 47a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Operating System APIs \n 48a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This module defines unified interface to the OS specific sources and services 49a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 50a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 51a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "tidef.h" 52a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "TI_IPC_Api.h" 53a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 54a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#ifdef __cplusplus 55a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtextern "C" { 56a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#endif 57a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 58a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 59a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \struct TI_CONNECTION_STATUS 60a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \struct *PTI_CONNECTION_STATUS 61a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Ti Connection Status 62a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 63a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 64a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 65a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 66a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 67a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef struct 68a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 69a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT32 Event; 70a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8* Data; 71a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} TI_CONNECTION_STATUS, *PTI_CONNECTION_STATUS; 72a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 73a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef struct 74a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 75a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uFormat; 76a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uLevel; 77a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uParamsNum; 78a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uReserved; 79a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT16 uFileId; 80a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT16 uLineNum; 81a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} TTraceMsg; 82a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 83a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define OS_PAGE_SIZE 4096 84a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define MAX_MESSAGE_SIZE 500 85a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define MICROSECOND_IN_SECONDS 1000000 86a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 87a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define UINT16_MAX_VAL 0xffff 88a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define UINT8_MAX_VAL 0xff 89a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 90a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define TRACE_FORMAT_8_BITS_PARAMS 2 91a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define TRACE_FORMAT_16_BITS_PARAMS 4 92a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define TRACE_FORMAT_32_BITS_PARAMS 6 93a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 94a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define TRACE_MSG_MAX_PARAMS 32 95a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define TRACE_MSG_MIN_LENGTH (sizeof(TTraceMsg)) 96a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define TRACE_MSG_MAX_LENGTH ((TRACE_MSG_MAX_PARAMS * 4) + sizeof(TTraceMsg)) 97a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 98a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define INSERT_BYTE(pBuf, dataByte) (*((TI_UINT8 *)pBuf) = (TI_UINT8 )dataByte ); pBuf++; 99a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define INSERT_2_BYTES(pBuf, dataBytes) (*((TI_UINT16 *)pBuf) = (TI_UINT16)dataBytes); pBuf+=2; 100a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define INSERT_4_BYTES(pBuf, dataBytes) (*((TI_UINT32 *)pBuf) = (TI_UINT32)dataBytes); pBuf+=4; 101a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 102a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 103a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**************************************************************************************** 104a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt START OF OS API (Common to all GWSI LIB, Driver and TI Driver) 105a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*****************************************************************************************/ 106a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 107a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 108a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**************************************************************************************** 109a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt OS HW API NEEDED BY DRIVER 110a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*****************************************************************************************/ 111a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 112a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Disable IRQ 113a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 114a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 115a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 116a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 117a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 118a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function disables the Interrupts 119a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 120a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 121a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 122a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_disableIrq (TI_HANDLE OsContext); 123a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 124a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Enable IRQ 125a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 126a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 127a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 128a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 129a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 130a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function enables the Interrupts 131a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 132a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 133a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 134a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_enableIrq (TI_HANDLE OsContext); 135a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 136a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS IRQ Serviced 137a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 138a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 139a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 140a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 141a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 142a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function is used in Level IRQ only. At this point the interrupt line is not asserted anymore 143a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * and we can inform the OS to enable IRQ again. 144a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 145a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 146a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 147a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_InterruptServiced (TI_HANDLE OsContext); 148a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 149a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**************************************************************************************** 150a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OS Report API * 151a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt ****************************************************************************************/ 152a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 153a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Set Debug Mode 154a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 155a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param enable - Indicates if debug mode should be enabled or disabled ( TI_TRUE | TI_FALSE ) 156a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 157a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 158a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 159a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function sets the Debug Mode flag to True or False - according to user's request 160a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 161a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 162a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 163a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_setDebugMode (TI_BOOL enable); 164a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 165a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Printf 166a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 167a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param format - String to print (with formatted parametrs in string if needed) and parameters values 168a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * if formatted parameters are used in string 169a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 170a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 171a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 172a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function prints formatted output using OS available printf method 173a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 174a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 175a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 176a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_printf (const char *format ,...); 177a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 178a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**************************************************************************************** 179a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OS Memory API * 180a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt ****************************************************************************************/ 181a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 182a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Memory Allocation 183a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 184a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 185a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Size - Size (in bytes) to be allocated 186a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return Pointer to the allocated memory on success ; NULL on failure (there isn't enough memory available) 187a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 188a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 189a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function allocates resident (nonpaged) system-space memory with calling specific OS allocation function. \n 190a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * It is assumed that this function will never be called in an interrupt context since the OS allocation function 191a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * has the potential to put the caller to sleep while waiting for memory to become available. 192a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 193a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 194a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 195a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid *os_memoryAlloc (TI_HANDLE OsContext,TI_UINT32 Size); 196a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 197a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Memory CAllocation 198a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 199a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 200a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Number - Number of element to be allocated 201a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Size - Size (in bytes) of one element 202a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return Pointer to the allocated memory on success ; NULL on failure (there isn't enough memory available) 203a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 204a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 205a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function allocates an array in memory with elements initialized to 0. 206a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Allocates resident (nonpaged) system-space memory for an array with elements initialized to 0, 207a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * with specific OS allocation function. 208a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * It is assumed that this function will never be called in an interrupt context since the OS allocation function 209a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * has the potential to put the caller to sleep while waiting for memory to become available. 210a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 211a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 212a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 213a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid *os_memoryCAlloc (TI_HANDLE OsContext, TI_UINT32 Number, TI_UINT32 Size); 214a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 215a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Memory Set 216a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 217a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 218a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pMemPtr - Pointer to the base address of a memory block 219a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Value - Value to set to memory block 220a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Length - Length (in bytes) of memory block 221a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 222a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 223a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 224a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function fills a block of memory with a given value 225a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 226a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 227a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 228a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_memorySet (TI_HANDLE OsContext, void *pMemPtr, TI_INT32 Value, TI_UINT32 Length); 229a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 230a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Memory Zero 231a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 232a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 233a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pMemPtr - Pointer to the base address of a memory block 234a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Length - Length (in bytes) of memory block 235a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 236a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 237a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 238a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function fills a block of memory with zeros 239a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 240a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 241a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 242a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_memoryZero (TI_HANDLE OsContext, void *pMemPtr, TI_UINT32 Length); 243a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 244a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Memory Copy 245a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 246a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 247a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pDestination - Pointer to destination buffer 248a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pSource - Pointer to Source buffer 249a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Size - Size (in bytes) to copy 250a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 251a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 252a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 253a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function copies a specified number of bytes from one caller-supplied location (source buffer) to another (destination buffer) 254a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 255a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 256a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 257a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_memoryCopy (TI_HANDLE OsContext, void *pDestination, void *pSource, TI_UINT32 Size); 258a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 259a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Memory Free 260a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 261a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 262a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pMemPtr - Pointer to the base address of a memory block 263a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Size - Size (in bytes) to free 264a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 265a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 266a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 267a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function releases a block of memory which was previously allocated by user 268a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 269a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 270a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 271a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_memoryFree (TI_HANDLE OsContext, void *pMemPtr, TI_UINT32 Size); 272a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 273a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Memory Compare 274a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 275a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 276a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Buf1 - Pointer to the first buffer in comperation 277a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Buf2 - Pointer to the second buffer in comperation 278a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Count - Count (in bytes) to compare 279a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return A value which indicates the relationship between the two compared buffers: 280a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * value < 0: Buf1 less than Buf2 281a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * value == 0: Buf1 identical to Buf2 282a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * value > 0: Buf1 greater than Buf2 283a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 284a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 285a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function compares between two given buffers 286a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 287a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 288a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 289a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_INT32 os_memoryCompare (TI_HANDLE OsContext, TI_UINT8* Buf1, TI_UINT8* Buf2, TI_INT32 Count); 290a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 291a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Memory Allocation for HW DMA 292a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 293a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pOsContext - Handle to the OS object 294a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Size - Size (in bytes) to allocate 295a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return Pointer to the allocated memory on success ; NULL on failure (there isn't enough memory available) 296a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 297a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 298a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function allocates resident (nonpaged) system-space memory for HW DMA operations 299a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 300a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 301a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 302a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid *os_memoryAlloc4HwDma (TI_HANDLE pOsContext, TI_UINT32 Size); 303a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 304a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Memory for HW DMA Free 305a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 306a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pOsContext - Handle to the OS object 307a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pMem_ptr - Pointer to the base virtual address of allocated memory block 308a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This is the address that was returned to user when he allocated the memory for HW DMA usage 309a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Size - Size (in bytes) of the memory block to be released. This parameter must be identical to the Length 310a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * which was given by the user when he allocated the memory block for HW DMA usage 311a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return Pointer to the allocated memory on success ; NULL on failure (there isn't enough memory available) 312a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 313a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 314a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function releases a block of memory previously allocated by user for HW DMA operations 315a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 316a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 317a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 318a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_memory4HwDmaFree (TI_HANDLE pOsContext, void *pMem_ptr, TI_UINT32 Size); 319a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 320a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Memory Copy from User 321a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 322a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 323a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pDstPtr - Pointer to destination buffer 324a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pSrcPtr - Pointer to Source buffer 325a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Size - Size (in bytes) to copy 326a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return TI_OK on success ; TI_NOK otherwise 327a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 328a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 329a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function copies a specified number of bytes from one caller-supplied location (Source) to another (Destination) 330a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 331a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 332a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 333a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtint os_memoryCopyFromUser (TI_HANDLE OsContext, void *pDstPtr, void *pSrcPtr, TI_UINT32 Size); 334a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 335a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Memory Copy To User 336a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 337a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 338a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pDstPtr - Pointer to destination buffer 339a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pSrcPtr - Pointer to Source buffer 340a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Size - Size (in bytes) to copy 341a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return TI_OK on success ; TI_NOK otherwise 342a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 343a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 344a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function copies a specified number of bytes from one caller-supplied location (Source) to another (Destination) 345a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 346a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 347a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 348a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtint os_memoryCopyToUser (TI_HANDLE OsContext, void *pDstPtr, void *pSrcPtr, TI_UINT32 Size); 349a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 350a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**************************************************************************************** 351a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OS TIMER API * 352a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt ****************************************************************************************/ 353a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief Timer Callback Function 354a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 355a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Context - Handle to the OS object 356a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 357a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 358a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 359a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This callback is passed by user to OS timer when created, and is called directly from OS timer context when expired. 360a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * E.g. the user user the timer in order to operate this function after a defined time expires 361a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 362a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 363a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef void (*fTimerFunction)(TI_HANDLE Context); 364a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 365a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Timer Create 366a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 367a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 368a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pRoutine - Pointer to user's Timer Callback function 369a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hFuncHandle - Handle to user's Timer Callback function parameters 370a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return Handle to timer object on success ; NULL on failure 371a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 372a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 373a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function creates and initializes an OS timer object associated with a user's Timer Callback function \n 374a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \note 1) The user's callback is called directly from OS timer context when expired. 375a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \note 2) In some OSs, it may be needed to use an intermediate callback in the 376a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \note osapi layer (use os_timerHandlr for that). 377a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 378a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 379a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 380a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_HANDLE os_timerCreate (TI_HANDLE OsContext, fTimerFunction pRoutine, TI_HANDLE hFuncHandle); 381a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 382a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Timer Destroy 383a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 384a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 385a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param TimerHandle - Handle to timer object which user got when created the timer 386a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 387a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 388a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 389a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function destroys the OS timer object which was previously created by user 390a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 391a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 392a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 393a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_timerDestroy (TI_HANDLE OsContext, TI_HANDLE TimerHandle); 394a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 395a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Timer Start 396a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 397a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 398a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param TimerHandle - Handle to timer object which user got when created the timer 399a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param DelayMs - The time in MS untill the timer is awaken 400a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 401a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 402a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 403a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function Start the OS timer object which was previously created by user 404a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 405a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 406a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 407a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_timerStart (TI_HANDLE OsContext, TI_HANDLE TimerHandle, TI_UINT32 DelayMs); 408a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 409a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Timer Stop 410a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 411a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 412a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param TimerHandle - Handle to timer object which user got when created the timer 413a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 414a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 415a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 416a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function Stops the OS timer object which was previously created by user 417a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 418a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 419a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 420a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_timerStop (TI_HANDLE OsContext, TI_HANDLE TimerHandle); 421a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 422a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Periodic Interrupt Timer Start 423a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 424a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 425a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 426a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 427a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 428a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function starts the periodic interrupt mechanism. This function is used when PRIODIC_INTERRUPT mode is used. 429a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This Mode is enabled when interrupts that are usually received from the FW are masked, 430a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * and there is need to check- in a given time periods - if handling of any FW interrupt is needed. 431a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 432a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 433a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 434a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#ifdef PRIODIC_INTERRUPT 435a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_periodicIntrTimerStart (TI_HANDLE OsContext); 436a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#endif 437a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 438a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Time Stamp Ms 439a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 440a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 441a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return The number of milliseconds that have elapsed since the system was booted 442a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 443a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 444a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function returns the number of milliseconds that have elapsed since the system was booted. 445a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 446a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_UINT32 os_timeStampMs (TI_HANDLE OsContext); 447a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 448a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Time Stamp Us 449a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 450a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 451a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return The number of microseconds that have elapsed since the system was booted 452a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 453a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 454a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function returns the number of microseconds that have elapsed since the system was booted. \n 455a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Note that sometimes this function will be called with NULL(!!!) as argument! 456a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 457a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_UINT32 os_timeStampUs (TI_HANDLE OsContext); 458a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 459a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Stall uSec 460a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 461a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 462a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param uSec - The time to delay in microseconds 463a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 464a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 465a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 466a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function makes delay in microseconds 467a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 468a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 469a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 470a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_StalluSec (TI_HANDLE OsContext, TI_UINT32 uSec); 471a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 472a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 473a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**************************************************************************************** 474a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Protection services API * 475a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt ****************************************************************************************/ 476a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 477a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Protect Create 478a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 479a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 480a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return Handle of the created mutex/spin lock object on Success ; NULL on Failure (not enough memory available or problems to initializing the mutex) 481a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 482a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 483a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function allocates a mutex/spin lock object. 484a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * The mutex/spinlock object which is created by this function is used for mutual-exclusion and protection of resources which are shared between 485a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * multi-Tasks/Threads 486a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 487a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 488a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 489a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_HANDLE os_protectCreate (TI_HANDLE OsContext); 490a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 491a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Protect Destroy 492a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 493a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 494a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param ProtectContext - Handle to the mutex/spin lock object 495a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 496a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 497a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 498a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function destroys s a mutex/spin lock object which was previously created by user: 499a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * it frees the mutex/spin lock and then frees the object's memory 500a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 501a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 502a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 503a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_protectDestroy (TI_HANDLE OsContext, TI_HANDLE ProtectContext); 504a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 505a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Protect Lock 506a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 507a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 508a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param ProtectContext - Handle to the mutex/spin lock object 509a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 510a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 511a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 512a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function locks the mutex/spin lock object. E.g. the caller acquires a mutex/spin lock and gains exclusive 513a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * access to the shared resources, that the mutex/spin lock protects of. 514a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 515a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 516a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 517a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_protectLock (TI_HANDLE OsContext, TI_HANDLE ProtectContext); 518a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 519a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Protect Unlock 520a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 521a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 522a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param ProtectContext - Handle to the mutex/spin lock object 523a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 524a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 525a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 526a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function unlocks the mutex/spin lock object. 527a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 528a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 529a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 530a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_protectUnlock (TI_HANDLE OsContext, TI_HANDLE ProtectContext); 531a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 532a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Wakelock functionality */ 533a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtint os_wake_lock (TI_HANDLE OsContext); 534a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtint os_wake_unlock (TI_HANDLE OsContext); 535a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtint os_wake_lock_timeout (TI_HANDLE OsContext); 536a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtint os_wake_lock_timeout_enable (TI_HANDLE OsContext); 537a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 538a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define os_profile(hos,fn,par) 539a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 540a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 541a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**************************************************************************************** 542a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt START OF GWSI DRIVER API 543a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*****************************************************************************************/ 544a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 545a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Signaling Object Create 546a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 547a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 548a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return Pointer to Signal Object on Success ; NULL on Failure 549a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 550a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 551a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function creates a new Signaling Object or opens an already exists Signaling Object. 552a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * The Signaling Object created by this function is used for mutual-exclusion and protection 553a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * of resources which are shared between multi-Tasks/Threads by using a signaling mechanism 554a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 555a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 556a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 557a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid *os_SignalObjectCreate (TI_HANDLE OsContext); 558a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 559a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Signaling Object Wait 560a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 561a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 562a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param ptr - Pointer to Signaling Object previously created by user 563a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return TI_OK (0) on Success ; TI_NOK (1) on Failure 564a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 565a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 566a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function perform waiting on Signaling Object. The coller waits until signaled or until timeout 567a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 568a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 569a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 570a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtint os_SignalObjectWait (TI_HANDLE OsContext, void *ptr); 571a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 572a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Signaling Object Set 573a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 574a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 575a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param ptr - Pointer to Signaling Object previously created by user 576a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return TI_OK (0) on Success ; TI_NOK (1) on Failure 577a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 578a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 579a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function sets a Signaling Object to signaled state (e.g the siganeling object is released) 580a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 581a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 582a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 583a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtint os_SignalObjectSet (TI_HANDLE OsContext, void *ptr); 584a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 585a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Signaling Object Free 586a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 587a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 588a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param ptr - Pointer to Signaling Object previously created by user 589a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return TI_OK (0) on Success ; TI_NOK (1) on Failure 590a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 591a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 592a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function frees (closes) a Signaling Object Handle 593a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 594a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 595a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 596a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtint os_SignalObjectFree (TI_HANDLE OsContext, void *ptr); 597a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 598a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Schedule Request 599a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 600a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 601a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return TI_OK (0) on Success ; TI_NOK (1) on Failure 602a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 603a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 604a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function performs scheduling (context switch) according to user request 605a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 606a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 607a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 608a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtint os_RequestSchedule (TI_HANDLE OsContext); 609a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 610a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 611a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**************************************************************************************** 612a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt START OF TI DRIVER API 613a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*****************************************************************************************/ 614a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 615a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Read Memory Register UINT32 616a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 617a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 618a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Register - Pointer to register address 619a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Data - Pointer to output read data 620a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 621a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 622a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 623a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function reads register in 32 bit length 624a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 625a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 626a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 627a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_hwReadMemRegisterUINT32 (TI_HANDLE OsContext, TI_UINT32* Register, TI_UINT32* Data); 628a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 629a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Write Memory Register UINT32 630a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 631a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 632a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Register - Pointer to register address 633a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Data - Data to write to register 634a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 635a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 636a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 637a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function reads register in 32 bit length 638a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 639a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 640a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 641a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_hwWriteMemRegisterUINT32 (TI_HANDLE OsContext, TI_UINT32* Register, TI_UINT32 Data); 642a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 643a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Receive Packet 644a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 645a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 646a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pPacket - Pointer to received packet data 647a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param Length - Length of received packet 648a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return TI_TRUE on Success ; TI_FALSE on Failure 649a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 650a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 651a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function transfers a packet from WLAN driver to OS 652a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 653a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 654a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 655a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_BOOL os_receivePacket(TI_HANDLE OsContext, void *pRxDesc ,void *pPacket, TI_UINT16 Length); 656a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 657a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Indicate Event 658a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 659a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - Handle to the OS object 660a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pData - Pointer to event data 661a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return TI_OK (0) on Success ; 662a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 663a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 664a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function indicate the OS about different connection driver's events, 665a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * The function performs the rewuired operations for the event - in the OS side 666a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 667a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 668a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 669a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_INT32 os_IndicateEvent (TI_HANDLE OsContext, IPC_EV_DATA *pData); 670a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 671a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \brief OS Send Trace Message to Logger 672a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 673a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - The OS handle 674a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param uLevel - Severity level of the trace message 675a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param uFileId - Source file ID of the trace message 676a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param uLineNum - Line number of the trace message 677a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param uParamsNum - Number of parameters in the trace message 678a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param ... - The trace message parameters 679a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return void 680a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 681a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 682a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This function sends trace message to logger 683a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 684a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 685a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 686a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_Trace (TI_HANDLE OsContext, TI_UINT32 uLevel, TI_UINT32 uFileId, TI_UINT32 uLineNum, TI_UINT32 uParamsNum, ...); 687a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 688a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 689a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \fn os_SetDrvThreadPriority 690a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Called upon init to set WLAN driver thread priority. 691a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 692a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param OsContext - The OS handle 693a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param uWlanDrvThreadPriority - The WLAN driver thread priority 694a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return 695a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 696a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid os_SetDrvThreadPriority (TI_HANDLE OsContext, TI_UINT32 uWlanDrvThreadPriority); 697a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 698a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 699a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#ifdef __cplusplus 700a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 701a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#endif 702a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 703a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#endif /* __OS_API_H__ */ 704