30 lines
654 B
C++
30 lines
654 B
C++
// Gemplus (C) 2000
|
|
// Version 1.0
|
|
// Author: Sergey Ivanov
|
|
// Date of creation - 18.05.2000
|
|
// Change log:
|
|
//
|
|
#ifndef SEM_INT
|
|
#define SEM_INT
|
|
#include "generic.h"
|
|
|
|
class CSemaphore;
|
|
#pragma PAGEDCODE
|
|
class CSemaphore
|
|
{
|
|
public:
|
|
NTSTATUS m_Status;
|
|
SAFE_DESTRUCTORS();
|
|
virtual VOID dispose(){self_delete();};
|
|
protected:
|
|
CSemaphore(){};
|
|
virtual ~CSemaphore() {};
|
|
public:
|
|
|
|
virtual VOID initialize(IN PRKSEMAPHORE Semaphore, IN LONG Count, IN LONG Limit) = 0;
|
|
virtual LONG release(IN PRKSEMAPHORE Semaphore,IN KPRIORITY Increment,IN LONG Adjustment,IN BOOLEAN Wait) = 0;
|
|
virtual LONG getState(IN PRKSEMAPHORE Semaphore) = 0;
|
|
};
|
|
|
|
#endif//SEMAPHORE
|