Ignore:
Timestamp:
Aug 20, 2007, 12:46:14 AM (18 years ago)
Author:
bird
Message:

made it build again.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kProfile/kProfileR3.cpp

    r3524 r3526  
    44*   Header Files                                                               *
    55*******************************************************************************/
    6 #if defined(__WIN32__) || defined(__WIN64__)
     6#if defined(KPRF_OS_WINDOWS)
    77# include <windows.h>
    88# include <psapi.h>
    99# include <malloc.h>
    10 # define IN_RING3
    11 # include <iprt/stdint.h> /* Temporary IPRT convenience */
     10typedef unsigned char uint8_t;
     11typedef signed char int8_t;
     12typedef unsigned short uint16_t;
     13typedef signed short int16_t;
     14typedef unsigned int uint32_t;
     15typedef signed int int32_t;
     16typedef unsigned _int64 uint64_t;
     17typedef signed _int64 int64_t;
     18typedef size_t uintptr_t;
    1219# if _MSC_VER >= 1400
    1320#  include <intrin.h>
     
    1522# endif
    1623
    17 #elif defined(__LINUX__) || defined(__FREEBSD__)
     24#elif defined(KPRF_OS_LINUX) || defined(KPRF_OS_FREEBSD)
    1825# define KPRF_USE_PTHREAD
    1926# include <pthread.h>
     
    2835# endif
    2936
    30 #elif defined(__OS2__)
     37#elif defined(KPRF_OS_OS2)
    3138# define INCL_BASE
    32 # include <os2s.h>
     39# include <os2.h>
    3340# include <stdint.h>
    3441# include <sys/fmutex.h>
     
    4451#define KPRF_NAME(Suffix)               KPrf##Suffix
    4552#define KPRF_TYPE(Prefix,Suffix)        Prefix##KPRF##Suffix
    46 #if defined(__WIN32__) || defined(__WIN64__) || defined(__OS2__)
     53#if defined(KPRF_OS_WINDOWS) || defined(KPRF_OS_OS2)
    4754# define KPRF_DECL_FUNC(type, name)     extern "C"  __declspec(dllexport) type __cdecl KPRF_NAME(name)
    4855#else
     
    5360#  define KPRF_ASSERT(expr) do { if (!(expr)) { __asm__ __volatile__("int3\n\tnop\n\t");} } while (0)
    5461# else
    55 #  define KPRF_ASSERT(expr) do { if (!(expr)) { __asm int 3 \
    56                             } } while (0)
     62#  define KPRF_ASSERT(expr) do { if (!(expr)) { __debugbreak(); } } while (0)
    5763# endif
    5864#else
     
    7076#if defined(KPRF_USE_PTHREAD)
    7177typedef pthread_mutex_t     KPRF_TYPE(,MUTEX);
    72 #elif defined(__WIN32__) || defined(__WIN64__)
     78#elif defined(KPRF_OS_WINDOWS)
    7379typedef CRITICAL_SECTION    KPRF_TYPE(,MUTEX);
    74 #elif defined(__OS2__)
     80#elif defined(KPRF_OS_OS2)
    7581typedef struct _fmutex      KPRF_TYPE(,MUTEX);
    7682#endif
     
    8288/** Read/Write lock type. */
    8389typedef pthread_rwlock_t    KPRF_TYPE(,RWLOCK);
    84 #elif defined(__WIN32__) || defined(__WIN64__) || defined(__OS2__)
     90#elif defined(KPRF_OS_WINDOWS) || defined(KPRF_OS_OS2)
    8591/** Read/Write lock state. */
    8692typedef enum KPRF_TYPE(,RWLOCKSTATE)
     
    108114    /** The current number of waiting writers. */
    109115    uint32_t                cWritersWaiting;
    110 # if defined(__WIN32__) || defined(__WIN64__)
     116# if defined(KPRF_OS_WINDOWS)
    111117    /** The handle of the event object on which the waiting readers block. (manual reset). */
    112118    HANDLE                  hevReaders;
    113119    /** The handle of the event object on which the waiting writers block. (manual reset). */
    114120    HANDLE                  hevWriters;
    115 # elif defined(__OS2__)
     121# elif defined(KPRF_OS_OS2)
    116122    /** The handle of the event semaphore on which the waiting readers block. */
    117123    HEV                     hevReaders;
     
    132138*******************************************************************************/
    133139/** The TLS index / key. */
    134 #if defined(__WIN32__) || defined(__WIN64__)
     140#if defined(KPRF_OS_WINDOWS)
    135141static DWORD                g_dwThreadTLS = TLS_OUT_OF_INDEXES;
    136142
     
    138144static pthread_key_t        g_ThreadKey = (pthread_key_t)-1;
    139145
    140 #elif defined(__OS2__)
     146#elif defined(KPRF_OS_OS2)
    141147static KPRF_TYPE(P,THREAD) *g_ppThread = NULL;
    142148
     
    187193
    188194/* Win32/64 */
    189 #if defined(__WIN32__) || defined(__WIN64__)
     195#if defined(KPRF_OS_WINDOWS)
    190196    pThread = (KPRF_TYPE(P,THREAD))TlsGetValue(g_dwThreadTLS);
    191197
     
    194200    pThread = (KPRF_TYPE(P,THREAD))pthread_getspecific(g_ThreadKey);
    195201
    196 #elif defined(__OS2__)
     202#elif defined(KPRF_OS_OS2)
    197203    pThread = *g_ppThread;
    198204
     
    215221{
    216222/* Win32/64 */
    217 #if defined(__WIN32__) || defined(__WIN64__)
     223#if defined(KPRF_OS_WINDOWS)
    218224    uintptr_t ThreadId = (uintptr_t)GetCurrentThreadId();
    219225
     
    222228    uintptr_t ThreadId = (uintptr_t)pthread_self();
    223229
    224 #elif defined(__OS2__)
     230#elif defined(KPRF_OS_OS2)
    225231    PTIB pTib;
    226232    PPIB pPib;
     
    245251{
    246252/* Win32/64 */
    247 #if defined(__WIN32__) || defined(__WIN64__)
     253#if defined(KPRF_OS_WINDOWS)
    248254    uintptr_t ThreadId = (uintptr_t)GetProcessId(GetCurrentProcess());
    249255
    250 #elif defined(__OS2__)
     256#elif defined(KPRF_OS_OS2)
    251257    PTIB pTib;
    252258    PPIB pPib;
     
    275281{
    276282/* Win32/64 */
    277 #if defined(__WIN32__) || defined(__WIN64__)
     283#if defined(KPRF_OS_WINDOWS)
    278284    BOOL fRc = TlsSetValue(g_dwThreadTLS, pThread);
    279285
     
    282288    int rc = pthread_setspecific(g_ThreadKey, pThread);
    283289
    284 #elif defined(__OS2__)
     290#elif defined(KPRF_OS_OS2)
    285291    *g_ppThread = pThread;
    286292
     
    333339{
    334340#if defined(HAVE_INTRIN)
    335     _InterlockedExchange((int32_t *)pu32, (const int32_t)u32);
     341    _InterlockedExchange((long volatile *)pu32, (const long)u32);
    336342
    337343#elif defined(__GNUC__)
     
    404410{
    405411#if defined(HAVE_INTRIN)
    406     _InterlockedExchangeAdd32((volatile int32_t *)pu32, (const int32_t)u32);
     412    _InterlockedExchangeAdd((volatile long *)pu32, (const long)u32);
    407413
    408414#elif defined(__GNUC__)
     
    482488    return -1;
    483489
    484 #elif defined(__WIN32__) || defined(__WIN64__)
     490#elif defined(KPRF_OS_WINDOWS)
    485491    InitializeCriticalSection(pMutex);
    486492    return 0;
    487493
    488 #elif defined(__OS2__)
     494#elif defined(KPRF_OS_OS2)
    489495    if (!_fmutex_create(pMutex, 0))
    490496        return 0;
     
    503509    pthread_mutex_destroy(pMutex);
    504510
    505 #elif defined(__WIN32__) || defined(__WIN64__)
     511#elif defined(KPRF_OS_WINDOWS)
    506512    DeleteCriticalSection(pMutex);
    507513
    508 #elif defined(__OS2__)
     514#elif defined(KPRF_OS_OS2)
    509515    _fmutex_close(pMutex);
    510516#endif
     
    517523static inline void kPrfMutexAcquire(KPRF_TYPE(P,MUTEX) pMutex)
    518524{
    519 #if defined(__WIN32__) || defined(__WIN64__)
     525#if defined(KPRF_OS_WINDOWS)
    520526    EnterCriticalSection(pMutex);
    521527
     
    523529    pthread_mutex_lock(pMutex);
    524530
    525 #elif defined(__OS2__)
     531#elif defined(KPRF_OS_OS2)
    526532    fmutex_request(pMutex);
    527533#endif
     
    535541static inline void kPrfMutexRelease(KPRF_TYPE(P,MUTEX) pMutex)
    536542{
    537 #if defined(__WIN32__) || defined(__WIN64__)
     543#if defined(KPRF_OS_WINDOWS)
    538544    LeaveCriticalSection(pMutex);
    539545
     
    541547    pthread_mutex_lock(pMutex);
    542548
    543 #elif defined(__OS2__)
     549#elif defined(KPRF_OS_OS2)
    544550    fmutex_request(pMutex);
    545551#endif
     
    568574    return -1;
    569575
    570 #elif defined(__WIN32__) || defined(__WIN64__) || defined(__OS2__)
     576#elif defined(KPRF_OS_WINDOWS) || defined(KPRF_OS_OS2)
    571577    if (kPrfMutexInit(&pRWLock->Mutex))
    572578        return -1;
     
    575581    pRWLock->cWritersWaiting = 0;
    576582    pRWLock->enmState = RWLOCK_STATE_SHARED;
    577 # if defined(__WIN32__) || defined(__WIN64__)
     583# if defined(KPRF_OS_WINDOWS)
    578584    pRWLock->hevReaders = CreateEvent(NULL, TRUE, TRUE, NULL);
    579585    pRWLock->hevWriters = CreateEvent(NULL, FALSE, FALSE, NULL);
     
    584590    CloseHandle(pRWLock->hevWriters);
    585591
    586 # elif defined(__OS2__)
     592# elif defined(KPRF_OS_OS2)
    587593    APIRET rc = DosCreateEventSem(NULL, &pRWLock->hevReaders, 0, TRUE);
    588594    if (!rc)
     
    614620    pthread_rwlock_destroy(pRWLock);
    615621
    616 #elif defined(__WIN32__) || defined(__WIN64__) || defined(__OS2__)
     622#elif defined(KPRF_OS_WINDOWS) || defined(KPRF_OS_OS2)
    617623    if (pRWLock->enmState == RWLOCK_STATE_UNINITIALIZED)
    618624        return;
     
    623629    pRWLock->cReadersWaiting = 0;
    624630    pRWLock->cWritersWaiting = 0;
    625 # if defined(__WIN32__) || defined(__WIN64__)
     631# if defined(KPRF_OS_WINDOWS)
    626632    CloseHandle(pRWLock->hevReaders);
    627633    pRWLock->hevReaders = INVALID_HANDLE_VALUE;
     
    629635    pRWLock->hevWriters = INVALID_HANDLE_VALUE;
    630636
    631 # elif defined(__OS2__)
     637# elif defined(KPRF_OS_OS2)
    632638    DosCloseEventSem(pRWLock->hevReaders);
    633639    pRWLock->hevReaders = NULLHANDLE;
     
    648654    pthread_rwlock_rdlock(pRWLock);
    649655
    650 #elif defined(__WIN32__) || defined(__WIN64__) || defined(__OS2__)
     656#elif defined(KPRF_OS_WINDOWS) || defined(KPRF_OS_OS2)
    651657    if (pRWLock->enmState == RWLOCK_STATE_UNINITIALIZED)
    652658        return;
     
    664670        /* have to wait */
    665671        KPRF_ATOMIC_INC32(&pRWLock->cReadersWaiting);
    666 # if defined(__WIN32__) || defined(__WIN64__)
     672# if defined(KPRF_OS_WINDOWS)
    667673        HANDLE hev = pRWLock->hevReaders;
    668674        ResetEvent(hev);
    669675
    670 # elif defined(__OS2__)
     676# elif defined(KPRF_OS_OS2)
    671677        HEV    hev = pRWLock->hevReaders;
    672678        ULONG cIgnored;
     
    676682        kPrfMutexRelease(&pRWLock->Mutex);
    677683
    678 # if defined(__WIN32__) || defined(__WIN64__)
     684# if defined(KPRF_OS_WINDOWS)
    679685        switch (WaitForSingleObject(hev, INFINITE))
    680686        {
     
    688694        }
    689695
    690 # elif defined(__OS2__)
     696# elif defined(KPRF_OS_OS2)
    691697        switch (DosWaitEventSem(hev, SEM_INDEFINITE_WAIT))
    692698        {
     
    723729    pthread_rwlock_unlock(pRWLock);
    724730
    725 #elif defined(__WIN32__) || defined(__WIN64__) || defined(__OS2__)
     731#elif defined(KPRF_OS_WINDOWS) || defined(KPRF_OS_OS2)
    726732    if (pRWLock->enmState == RWLOCK_STATE_UNINITIALIZED)
    727733        return;
     
    747753     * Wake up one (or more on OS/2) waiting writers.
    748754     */
    749 # if defined(__WIN32__) || defined(__WIN64__)
     755# if defined(KPRF_OS_WINDOWS)
    750756    SetEvent(pRWLock->hevWriters);
    751 # elif defined(__OS2__)
     757# elif defined(KPRF_OS_OS2)
    752758    DosPostEvent(pRWLock->hevwriters);
    753759# endif
     
    767773    pthread_rwlock_wrlock(pRWLock);
    768774
    769 #elif defined(__WIN32__) || defined(__WIN64__) || defined(__OS2__)
     775#elif defined(KPRF_OS_WINDOWS) || defined(KPRF_OS_OS2)
    770776    if (pRWLock->enmState == RWLOCK_STATE_UNINITIALIZED)
    771777        return;
     
    790796    for (;;)
    791797    {
    792 # if defined(__WIN32__) || defined(__WIN64__)
     798# if defined(KPRF_OS_WINDOWS)
    793799        HANDLE hev = pRWLock->hevWriters;
    794 # elif defined(__OS2__)
     800# elif defined(KPRF_OS_OS2)
    795801        HEV    hev = pRWLock->hevWriters;
    796802# endif
    797803        kPrfMutexRelease(&pRWLock->Mutex);
    798 # if defined(__WIN32__) || defined(__WIN64__)
     804# if defined(KPRF_OS_WINDOWS)
    799805        switch (WaitForSingleObject(hev, INFINITE))
    800806        {
     
    809815        }
    810816
    811 # elif defined(__OS2__)
     817# elif defined(KPRF_OS_OS2)
    812818        switch (DosWaitEventSem(hev, SEM_INDEFINITE_WAIT))
    813819        {
     
    853859    pthread_rwlock_unlock(pRWLock);
    854860
    855 #elif defined(__WIN32__) || defined(__WIN64__) || defined(__OS2__)
     861#elif defined(KPRF_OS_WINDOWS) || defined(KPRF_OS_OS2)
    856862    if (pRWLock->enmState == RWLOCK_STATE_UNINITIALIZED)
    857863        return;
     
    878884     * Someone is waiting, wake them up as we change the state.
    879885     */
    880 # if defined(__WIN32__) || defined(__WIN64__)
     886# if defined(KPRF_OS_WINDOWS)
    881887    HANDLE hev = INVALID_HANDLE_VALUE;
    882 # elif defined(__OS2__)
     888# elif defined(KPRF_OS_OS2)
    883889    HEV    hev = NULLHANDLE;
    884890# endif
     
    894900        hev = pRWLock->hevReaders;
    895901    }
    896 # if defined(__WIN32__) || defined(__WIN64__)
     902# if defined(KPRF_OS_WINDOWS)
    897903    SetEvent(hev);
    898 # elif defined(__OS2__)
     904# elif defined(KPRF_OS_OS2)
    899905    DosPostEvent(pRWLock->hevwriters);
    900906# endif
     
    919925                         KPRF_TYPE(P,UPTR) puBasePtr, KPRF_TYPE(P,UPTR) pcbSegmentMinusOne)
    920926{
    921 #if defined(__WIN32__) || defined(__WIN64__)
     927#if defined(KPRF_OS_WINDOWS)
    922928    /*
    923929     * Enumerate the module handles.
     
    10371043    }
    10381044
    1039 #elif defined(__OS2__)
     1045#elif defined(KPRF_OS_OS2)
    10401046    /*
    10411047     * Just ask the loader.
     
    11181124     * Some limit stuff in posix / ansi also comes to mind... */
    11191125
    1120 #elif defined(__OS2__)
     1126#elif defined(KPRF_OS_OS2)
    11211127    PTIB pTib;
    11221128    PPIB pPib;
     
    11481154static char *kPrfGetEnvString(const char *pszVar, char *pszValue, uint32_t cchValue, const char *pszDefault)
    11491155{
    1150 #if defined(__WIN32__) || defined(__WIN64__)
     1156#if defined(KPRF_OS_WINDOWS)
    11511157    if (GetEnvironmentVariable(pszVar, pszValue, cchValue))
    11521158        return pszValue;
    11531159
    1154 #elif defined(__OS2__)
     1160#elif defined(KPRF_OS_OS2)
    11551161    PSZ pszValue;
    11561162    if (    !DosScanEnv((PCSZ)pszVar, &pszValue)
     
    11871193static uint32_t kPrfGetEnvValue(const char *pszVar, uint32_t uDefault)
    11881194{
    1189 #if defined(__WIN32__) || defined(__WIN64__)
     1195#if defined(KPRF_OS_WINDOWS)
    11901196    char szBuf[128];
    11911197    const char *pszValue = szBuf;
     
    11931199        pszValue = NULL;
    11941200
    1195 #elif defined(__OS2__)
     1201#elif defined(KPRF_OS_OS2)
    11961202    PSZ pszValue;
    11971203    if (DosScanEnv((PCSZ)pszVar, &pszValue))
     
    12751281static void *kPrfAllocMem(uint32_t cb)
    12761282{
    1277 #if defined(__WIN32__) || defined(__WIN64__)
     1283#if defined(KPRF_OS_WINDOWS)
    12781284    void *pv = VirtualAlloc(NULL, cb, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
    12791285
     
    12811287    void *pv = mmap(NULL, cb, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
    12821288
    1283 #elif defined(__OS2__)
     1289#elif defined(KPRF_OS_OS2)
    12841290    void *pv;
    12851291# ifdef INCL_DOSEXAPIS
     
    13041310static void kPrfFreeMem(void *pv)
    13051311{
    1306 #if defined(__WIN32__) || defined(__WIN64__)
     1312#if defined(KPRF_OS_WINDOWS)
    13071313    VirtualFree(pv, 0, MEM_RELEASE);
    13081314
     
    13101316    munmap(pv, 0); /** @todo check if 0 is allowed here.. */
    13111317
    1312 #elif defined(__OS2__)
     1318#elif defined(KPRF_OS_OS2)
    13131319# ifdef INCL_DOSEXAPIS
    13141320    DosFreeMemEx(&pv);
     
    13381344static int kPrfWriteFile(const char *pszName, const void *pvData, uint32_t cbData)
    13391345{
    1340 #if defined(__WIN32__) || defined(__WIN64__)
     1346#if defined(KPRF_OS_WINDOWS)
    13411347    int rc = -1;
    13421348    HANDLE hFile = CreateFile(pszName,GENERIC_WRITE, FILE_SHARE_READ, NULL,
     
    13521358    return rc;
    13531359
    1354 #elif defined(__OS2__)
     1360#elif defined(KPRF_OS_OS2)
    13551361    HFILE hFile;
    13561362    ULONG ulAction = 0;
     
    14361442                     * Allocate the TLS entry.
    14371443                     */
    1438 #if defined(__WIN32__) || defined(__WIN64__)
     1444#if defined(KPRF_OS_WINDOWS)
    14391445                    g_dwThreadTLS = TlsAlloc();
    14401446                    if (g_dwThreadTLS != TLS_OUT_OF_INDEXES)
     
    14441450                    if (!rc)
    14451451
    1446 #elif defined(__OS2__)
     1452#elif defined(KPRF_OS_OS2)
    14471453                    int rc = DosAllocThreadLocalMemory(sizeof(void *), (PULONG*)&g_ppThread); /** @todo check if this is a count or a size. */
    14481454                    if (!rc)
     
    14891495        return -1;
    14901496
    1491 #if defined(__WIN32__) || defined(__WIN64__)
     1497#if defined(KPRF_OS_WINDOWS)
    14921498    Sleep(10);
    1493 #elif defined(__OS2__)
     1499#elif defined(KPRF_OS_OS2)
    14941500    DosSleep(10);
    14951501#else
     
    15051511     * Use the stack space to fill in process details.
    15061512     */
    1507 #if defined(__WIN32__) || defined(__WIN64__)
     1513#if defined(KPRF_OS_WINDOWS)
    15081514    /* all is one single string */
    15091515    const char *pszCommandLine = GetCommandLine();
     
    15111517        KPRF_NAME(SetCommandLine)(pHdr, 1, &pszCommandLine);
    15121518
    1513 #elif defined(__OS2__) || defined(__OS2__)
     1519#elif defined(KPRF_OS_OS2) || defined(KPRF_OS_OS2)
    15141520    PTIB pTib;
    15151521    PPIB pPib;
     
    15751581     */
    15761582    kPrfFreeMem(pHdr);
    1577 #if defined(__WIN32__) || defined(__WIN64__)
     1583#if defined(KPRF_OS_WINDOWS)
    15781584    TlsFree(g_dwThreadTLS);
    15791585    g_dwThreadTLS = TLS_OUT_OF_INDEXES;
     
    15831589    g_ThreadKey = (pthread_key_t)-1;
    15841590
    1585 #elif defined(__OS2__)
     1591#elif defined(KPRF_OS_OS2)
    15861592    DosFreeThreadLocalMemory((PULONG)g_ppThread);
    15871593    g_ppThread = NULL;
Note: See TracChangeset for help on using the changeset viewer.