/packages/libogcfpc/src/ogc/lwp_threadq.inc

https://github.com/slibre/freepascal · Pascal · 55 lines · 27 code · 21 blank · 7 comment · 0 complexity · e5f7bdb5493eb8517df477897fe8c38c MD5 · raw file

  1. {$IFDEF OGC_INTERFACE}
  2. const
  3. LWP_THREADQ_NOTIMEOUT = LWP_WD_NOTIMEOUT;
  4. function __lwp_threadqueue_firstfifo(queue: Plwp_thrqueue): Plwp_cntrl; cdecl; external;
  5. function __lwp_threadqueue_firstpriority(queue: Plwp_thrqueue): Plwp_cntrl; cdecl; external;
  6. procedure __lwp_threadqueue_enqueuefifo(queue: Plwp_thrqueue;
  7. thethread: Plwp_cntrl; timeout: cuint64); cdecl; external;
  8. function __lwp_threadqueue_dequeuefifo(queue: Plwp_thrqueue): Plwp_cntrl; cdecl; external;
  9. procedure __lwp_threadqueue_enqueuepriority(queue: Plwp_thrqueue;
  10. thethread: Plwp_cntrl; timeout: cuint64); cdecl; external;
  11. function __lwp_threadqueue_dequeuepriority(queue: Plwp_thrqueue): Plwp_cntrl; cdecl; external;
  12. procedure __lwp_threadqueue_init(queue: Plwp_thrqueue;
  13. mode, state, timeout_state: cuint32); cdecl; external;
  14. function __lwp_threadqueue_first(queue: Plwp_thrqueue): Plwp_cntrl; cdecl; external;
  15. procedure __lwp_threadqueue_enqueue(queue: Plwp_thrqueue; timeout: cuint64); cdecl; external;
  16. function __lwp_threadqueue_dequeue(queue: Plwp_thrqueue): Plwp_cntrl; cdecl; external;
  17. procedure __lwp_threadqueue_flush(queue: Plwp_thrqueue; status: cuint32); cdecl; external;
  18. procedure __lwp_threadqueue_extract(queue: Plwp_thrqueue; thethread: Plwp_cntrl); cdecl; external;
  19. procedure __lwp_threadqueue_extractfifo(queue: Plwp_thrqueue;
  20. thethread: Plwp_cntrl); cdecl; external;
  21. procedure __lwp_threadqueue_extractpriority(queue: Plwp_thrqueue;
  22. thethread: Plwp_cntrl); cdecl; external;
  23. function __lwp_threadqueue_extractproxy(thethread: Plwp_cntrl): cuint32; cdecl; external;
  24. //#ifdef LIBOGC_INTERNAL
  25. //#include <libogc/lwp_threadq.inl>
  26. //#endif
  27. procedure __lwp_threadqueue_csenter(var queue: lwp_thrqueue); inline;
  28. {$ENDIF}
  29. {$IFDEF OGC_IMPLEMENTATION}
  30. procedure __lwp_threadqueue_csenter(var queue: lwp_thrqueue); inline;
  31. begin
  32. queue.sync_state := LWP_THREADQ_NOTHINGHAPPEND;
  33. end;
  34. {$ENDIF}