libui/test/lib/thread.h

29 lines
657 B
C

// 4 may 2019
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
// I don't like this threading model, but let's use it for now so I can continue working
typedef struct threadThread threadThread;
typedef uint64_t threadSysError;
#ifdef _WIN32
#define threadSysErrorFmt "0x%08I32X"
#define threadSysErrorFmtArg(x) ((uint32_t) x)
#else
#include <string.h>
#define threadSysErrorFmt "%s (%d)"
#define threadSysErrorFmtArg(x) strerror((int) x), ((int) x)
#endif
extern threadSysError threadNewThread(void (*f)(void *data), void *data, threadThread **t);
extern threadSysError threadThreadWaitAndFree(threadThread *t);
#ifdef __cplusplus
}
#endif