/packages/libogcfpc/src/ogc/lwp.inc
https://github.com/slibre/freepascal · Pascal · 52 lines · 30 code · 20 blank · 2 comment · 0 complexity · 4f16aa1b53450a5da360b8afa9804756 MD5 · raw file
- {$IFDEF OGC_INTERFACE}
- const
- LWP_CLOSED = - 1;
- LWP_SUCCESSFUL = 0;
- LWP_ALREADY_SUSPENDED = 1;
- LWP_NOT_SUSPENDED = 2;
- LWP_PRIO_IDLE = 0;
- LWP_PRIO_HIGHEST = 127;
- LWP_THREAD_NULL = $ffffffff;
- LWP_TQUEUE_NULL = $ffffffff;
- type
- lwp_t = cuint32;
- Plwp_t = ^lwp_t;
- lwpq_t = cuint32;
- Plwpq_t = ^lwpq_t;
- TAuxCallback = function(par0: pointer): pointer; cdecl;
- function LWP_CreateThread(thethread: Plwp_t; entry: TAuxCallback;
- arg, stackbase: pointer; stack_size: cuint32; prio: cuint8): cint32; cdecl; external;
- function LWP_SuspendThread(thethread: lwp_t): cint32; cdecl; external;
- function LWP_ResumeThread(thethread: lwp_t): cint32; cdecl; external;
- function LWP_ThreadIsSuspended(thethread: lwp_t): cbool; cdecl; external;
- function LWP_GetSelf: lwp_t; cdecl; external;
- procedure LWP_SetThreadPriority(thethread: lwp_t; prio: cuint32); cdecl; external;
- procedure LWP_YieldThread; cdecl; external;
- procedure LWP_Reschedule(prio: cuint32); cdecl; external;
- function LWP_JoinThread(thethread: lwp_t; value_ptr: Ppointer): cint32; cdecl; external;
- function LWP_InitQueue(thequeue: Plwpq_t): cint32; cdecl; external;
- procedure LWP_CloseQueue(thequeue: lwpq_t); cdecl; external;
- function LWP_ThreadSleep(thequeue: lwpq_t): cint32; cdecl; external;
- procedure LWP_ThreadSignal(thequeue: lwpq_t); cdecl; external;
- procedure LWP_ThreadBroadcast(thequeue: lwpq_t); cdecl; external;
- {$ENDIF OGC_INTERFACE}