Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
683 B

  1. // Gemplus (C) 2000
  2. // Version 1.0
  3. // Author: Sergey Ivanov
  4. // Date of creation - 18.05.2000
  5. // Change log:
  6. //
  7. #ifndef SEM_INT
  8. #define SEM_INT
  9. #include "generic.h"
  10. class CSemaphore;
  11. #pragma PAGEDCODE
  12. class CSemaphore
  13. {
  14. public:
  15. NTSTATUS m_Status;
  16. SAFE_DESTRUCTORS();
  17. virtual VOID dispose(){self_delete();};
  18. protected:
  19. CSemaphore(){};
  20. virtual ~CSemaphore() {};
  21. public:
  22. virtual VOID initialize(IN PRKSEMAPHORE Semaphore, IN LONG Count, IN LONG Limit) = 0;
  23. virtual LONG release(IN PRKSEMAPHORE Semaphore,IN KPRIORITY Increment,IN LONG Adjustment,IN BOOLEAN Wait) = 0;
  24. virtual LONG getState(IN PRKSEMAPHORE Semaphore) = 0;
  25. };
  26. #endif//SEMAPHORE