windows-nt/Source/XPSP1/NT/drivers/smartcrd/gempc430/semaphore.h
2020-09-26 16:20:57 +08:00

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