blob: 68d9c98c7bced0db5469f2d89927578802dcb5f1 [file] [log] [blame]
/*******************************************************************************
**+--------------------------------------------------------------------------+**
**| |**
**| Copyright 1998-2008 Texas Instruments, Inc. - http://www.ti.com/ |**
**| |**
**| Licensed under the Apache License, Version 2.0 (the "License"); |**
**| you may not use this file except in compliance with the License. |**
**| You may obtain a copy of the License at |**
**| |**
**| http://www.apache.org/licenses/LICENSE-2.0 |**
**| |**
**| Unless required by applicable law or agreed to in writing, software |**
**| distributed under the License is distributed on an "AS IS" BASIS, |**
**| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |**
**| See the License for the specific language governing permissions and |**
**| limitations under the License. |**
**| |**
**+--------------------------------------------------------------------------+**
*******************************************************************************/
/* TILibLinux.h: interface for the CTI_LibLinux class.*/
/**/
/*////////////////////////////////////////////////////////////////////*/
#if !defined(TI_LIB_LINUX_H_)
#define TI_LIB_LINUX_H_
class CTI_OSCriticalSectionLinux : public TI_OSWrapCriticalSection
{
public:
CTI_OSCriticalSectionLinux();
~CTI_OSCriticalSectionLinux();
tiVOID Enter ();
tiVOID Leave ();
};
/*
class CTI_OSEventLinux : public TI_OSWrapEvent
{
pthread_mutexattr_t m_MutexAttr;
pthread_cond_t m_Cond;
pthread_condattr_t m_CondAttr;
tiBOOL m_bSet;
public:
CTI_OSEventLinux();
~CTI_OSEventLinux();
tiUINT32 Wait (tiUINT32 uTime);
tiVOID Set ();
tiVOID Reset ();
};
*/
typedef tiVOID* (* uxTHREAD_START_ROUTINE)( tiVOID* pThreadParameter );
class CTI_LibLinux: public TI_OAL
{
public:
CTI_LibLinux ();
virtual ~CTI_LibLinux ();
static TI_OAL* GetInstance ();
static tiVOID FreeInstance();
/* list of functions that will call from Utility Adapter and Utility GUI modules */
tiVOID TIOutputDebugString (tiCHAR* lpOutputString);
tiBOOL TIIsBadWritePtr (tiVOID* lp, tiUINT32 ucb );
/* list of functions that will call from Windows Utility module */
tiUINT32 TILoadLibrary (tiCHAR* pLibFileName);
tiBOOL TIFreeLibrary (tiUINT32 hLibModule);
tiUINT32 TIGetProcAddress (tiUINT32 hModule, tiCHAR* lpProcName );
tiUINT32 TIRegisterWindowMessage (tiCHAR* pszMsgName );
tiBOOL TIPostMessage (tiUINT32 hWnd, tiUINT32 Msg, tiUINT32 wParam, tiUINT32 lParam);
tiVOID TIPrintLastError (tiCHAR* psz);
tiUINT32 TIGetCurrentThreadId();
tiUINT32 TICreateThread (tiPTHREAD_START_ROUTINE pStartAddress, tiVOID* pParameter );
tiVOID TISleep (tiUINT32 msec);
};
#endif /* !defined(TI_LIB_LINUX_H_)*/