Newer
Older
invertedlogic / InvertedLogic / iLPlatform / iLTypes.h
@John Ryland John Ryland on 10 Nov 2019 930 bytes rename
#ifndef IL_TYPES_H
#define IL_TYPES_H


#include <stdint.h>
#include "iLPlatform.h"


#if defined(IL_PLATFORM_UNIX)
#include <pthread.h>
#include <semaphore.h>
typedef FILE*               iLFile;
typedef pthread_t           iLThread;
typedef int32_t             iLAtomic32;
typedef int64_t             iLAtomic64;
#  if 0
typedef pthread_mutex_t     iLMutex;
typedef sem_t               iLSemaphore;
#  else // My Mutex and Semaphores
#    include "iLSemaphore.def"
#  endif
#elif defined(IL_PLATFORM_WINDOWS)
#include <windows.h>
typedef HANDLE              iLFile;
typedef HANDLE              iLThread;
typedef volatile int32_t    iLAtomic32;
typedef volatile int64_t    iLAtomic64;
typedef HANDLE              iLMutex;
typedef HANDLE              iLSemaphore;
#else
# error "Unsupported platform"
#endif


enum iLResult 
{
  iLR_OK,
  iLR_UnspecifiedFailure
};


typedef iLResult (*iLThreadProc)(void);


#endif // IL_TYPES_H