lwp_sema.inc 990 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. {$IFDEF OGC_INTERFACE}
  2. const
  3. LWP_SEMA_MODEFIFO = 0;
  4. LWP_SEMA_MODEPRIORITY = 1;
  5. LWP_SEMA_SUCCESSFUL = 0;
  6. LWP_SEMA_UNSATISFIED_NOWAIT = 1;
  7. LWP_SEMA_DELETED = 2;
  8. LWP_SEMA_TIMEOUT = 3;
  9. LWP_SEMA_MAXCNT_EXCEEDED = 4;
  10. type
  11. _lwpsemattr = record
  12. max_cnt : cuint32;
  13. mode : cuint32;
  14. end;
  15. lwp_semattr = _lwpsemattr;
  16. Plwp_semattr = ^lwp_semattr;
  17. _lwpsema = record
  18. wait_queue : lwp_thrqueue;
  19. attrs : lwp_semattr;
  20. count : cuint32;
  21. end;
  22. lwp_sema = _lwpsema;
  23. Plwp_sema = ^lwp_sema;
  24. procedure __lwp_sema_initialize(sema: Plwp_sema; attrs: Plwp_semattr;
  25. init_count: cuint32); cdecl; external;
  26. function __lwp_sema_surrender(sema: Plwp_sema; id: cuint32): cuint32; cdecl; external;
  27. function __lwp_sema_seize(sema: Plwp_sema; id, wait: cuint32; timeout: cuint64)
  28. : cuint32; cdecl; external;
  29. procedure __lwp_sema_flush(sema: Plwp_sema; status: cuint32); cdecl; external;
  30. //#ifdef LIBOGC_INTERNAL
  31. //#include <libogc/lwp_sema.inl>
  32. //#endif
  33. {$ENDIF}