44 lines
759 B
C
44 lines
759 B
C
/*
|
|
libco
|
|
version: 0.16 (2010-12-24)
|
|
license: public domain
|
|
*/
|
|
|
|
#ifndef LIBCO_H
|
|
#define LIBCO_H
|
|
|
|
#ifdef LIBCO_C
|
|
#ifdef LIBCO_MP
|
|
#define thread_local __thread
|
|
#else
|
|
#define thread_local
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef void* cothread_t;
|
|
typedef void (*coentry_t)(void);
|
|
|
|
#if defined(LIBCO_IMPORT)
|
|
#define LIBCO_IMPORTDECL __declspec(dllimport)
|
|
#elif defined(LIBCO_EXPORT)
|
|
#define LIBCO_IMPORTDECL __declspec(dllexport)
|
|
#else
|
|
#define LIBCO_IMPORTDECL
|
|
#endif
|
|
|
|
LIBCO_IMPORTDECL cothread_t co_active();
|
|
LIBCO_IMPORTDECL cothread_t co_create(unsigned int, coentry_t);
|
|
LIBCO_IMPORTDECL void co_delete(cothread_t);
|
|
LIBCO_IMPORTDECL void co_switch(cothread_t);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
/* ifndef LIBCO_H */
|
|
#endif
|