213 lines
4.5 KiB
C++
213 lines
4.5 KiB
C++
#ifndef _M68HC11_COMMSTATUS_HPP_
|
|
#define _M68HC11_COMMSTATUS_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
|
|
class CommStatus : private _COMSTAT
|
|
{
|
|
public:
|
|
CommStatus(void);
|
|
CommStatus(const CommStatus &someCommStatus);
|
|
virtual ~CommStatus();
|
|
CommStatus &operator=(const CommStatus &someCommStatus);
|
|
BOOL operator==(const CommStatus &someCommStatus)const;
|
|
BOOL waitingForCts(void)const;
|
|
BOOL waitingForDsr(void)const;
|
|
BOOL waitingForRlsd(void)const;
|
|
BOOL waitingRcvdXOff(void)const;
|
|
BOOL waitingSentXOff(void)const;
|
|
BOOL waitingRcvdEof(void)const;
|
|
BOOL waitingForTx(void)const;
|
|
DWORD bytesInReceiveQueue(void)const;
|
|
DWORD bytesInSendQueue(void)const;
|
|
_COMSTAT &getCOMSTAT(void);
|
|
private:
|
|
void waitingForCts(BOOL waitingForCts);
|
|
void waitingForDsr(BOOL waitingForDsr);
|
|
void waitingForRlsd(BOOL waitingForRlsd);
|
|
void waitingRcvdXOff(BOOL waitingRcvdXOff);
|
|
void waitingSentXOff(BOOL waitingSentXOff);
|
|
void waitingRcvdEof(BOOL waitingRcvdEof);
|
|
void waitingForTx(BOOL waitingForTx);
|
|
void bytesInReceiveQueue(DWORD bytesInReceiveQueue);
|
|
void bytesInSendQueue(DWORD bytesInSendQueue);
|
|
void setZero(void);
|
|
};
|
|
|
|
inline
|
|
CommStatus::CommStatus(void)
|
|
{
|
|
setZero();
|
|
}
|
|
|
|
inline
|
|
CommStatus::CommStatus(const CommStatus &someCommStatus)
|
|
{
|
|
*this=someCommStatus;
|
|
}
|
|
|
|
inline
|
|
CommStatus::~CommStatus()
|
|
{
|
|
}
|
|
|
|
inline
|
|
CommStatus &CommStatus::operator=(const CommStatus &someCommStatus)
|
|
{
|
|
waitingForCts(someCommStatus.waitingForCts());
|
|
waitingForDsr(someCommStatus.waitingForDsr());
|
|
waitingForRlsd(someCommStatus.waitingForRlsd());
|
|
waitingRcvdXOff(someCommStatus.waitingRcvdXOff());
|
|
waitingSentXOff(someCommStatus.waitingSentXOff());
|
|
waitingRcvdEof(someCommStatus.waitingRcvdEof());
|
|
waitingForTx(someCommStatus.waitingForTx());
|
|
bytesInReceiveQueue(someCommStatus.bytesInReceiveQueue());
|
|
bytesInSendQueue(someCommStatus.bytesInSendQueue());
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
BOOL CommStatus::operator==(const CommStatus &someCommStatus)const
|
|
{
|
|
return (waitingForCts()==someCommStatus.waitingForCts()&&
|
|
waitingForDsr()==someCommStatus.waitingForDsr()&&
|
|
waitingForRlsd()==someCommStatus.waitingForRlsd()&&
|
|
waitingRcvdXOff()==someCommStatus.waitingRcvdXOff()&&
|
|
waitingSentXOff()==someCommStatus.waitingSentXOff()&&
|
|
waitingRcvdEof()==someCommStatus.waitingRcvdEof()&&
|
|
waitingForTx()==someCommStatus.waitingForTx()&&
|
|
bytesInReceiveQueue()==someCommStatus.bytesInReceiveQueue()&&
|
|
bytesInSendQueue()==someCommStatus.bytesInSendQueue());
|
|
}
|
|
|
|
inline
|
|
BOOL CommStatus::waitingForCts(void)const
|
|
{
|
|
return _COMSTAT::fCtsHold;
|
|
}
|
|
|
|
inline
|
|
void CommStatus::waitingForCts(BOOL waitingForCts)
|
|
{
|
|
_COMSTAT::fCtsHold=waitingForCts;
|
|
}
|
|
|
|
inline
|
|
BOOL CommStatus::waitingForDsr(void)const
|
|
{
|
|
return _COMSTAT::fDsrHold;
|
|
}
|
|
|
|
inline
|
|
void CommStatus::waitingForDsr(BOOL waitingForDsr)
|
|
{
|
|
_COMSTAT::fDsrHold=waitingForDsr;
|
|
}
|
|
|
|
inline
|
|
BOOL CommStatus::waitingForRlsd(void)const
|
|
{
|
|
return _COMSTAT::fRlsdHold;
|
|
}
|
|
|
|
inline
|
|
void CommStatus::waitingForRlsd(BOOL waitingForRlsd)
|
|
{
|
|
_COMSTAT::fRlsdHold=waitingForRlsd;
|
|
}
|
|
|
|
inline
|
|
BOOL CommStatus::waitingRcvdXOff(void)const
|
|
{
|
|
return _COMSTAT::fXoffHold;
|
|
}
|
|
|
|
inline
|
|
void CommStatus::waitingRcvdXOff(BOOL waitingRcvdXOff)
|
|
{
|
|
_COMSTAT::fXoffHold=waitingRcvdXOff;
|
|
}
|
|
|
|
inline
|
|
BOOL CommStatus::waitingSentXOff(void)const
|
|
{
|
|
return _COMSTAT::fXoffSent;
|
|
}
|
|
|
|
inline
|
|
void CommStatus::waitingSentXOff(BOOL waitingSentXOff)
|
|
{
|
|
_COMSTAT::fXoffSent=waitingSentXOff;
|
|
}
|
|
|
|
inline
|
|
BOOL CommStatus::waitingRcvdEof(void)const
|
|
{
|
|
return _COMSTAT::fEof;
|
|
}
|
|
|
|
inline
|
|
void CommStatus::waitingRcvdEof(BOOL waitingRcvdEof)
|
|
{
|
|
_COMSTAT::fEof=waitingRcvdEof;
|
|
|
|
}
|
|
|
|
inline
|
|
BOOL CommStatus::waitingForTx(void)const
|
|
{
|
|
return _COMSTAT::fTxim;
|
|
}
|
|
|
|
inline
|
|
void CommStatus::waitingForTx(BOOL waitingForTx)
|
|
{
|
|
_COMSTAT::fTxim=waitingForTx;
|
|
}
|
|
|
|
inline
|
|
DWORD CommStatus::bytesInReceiveQueue(void)const
|
|
{
|
|
return _COMSTAT::cbInQue;
|
|
}
|
|
|
|
inline
|
|
void CommStatus::bytesInReceiveQueue(DWORD bytesInReceiveQueue)
|
|
{
|
|
_COMSTAT::cbInQue=bytesInReceiveQueue;
|
|
}
|
|
|
|
inline
|
|
DWORD CommStatus::bytesInSendQueue(void)const
|
|
{
|
|
return _COMSTAT::cbOutQue;
|
|
}
|
|
|
|
inline
|
|
void CommStatus::bytesInSendQueue(DWORD bytesInSendQueue)
|
|
{
|
|
_COMSTAT::cbOutQue=bytesInSendQueue;
|
|
}
|
|
|
|
inline
|
|
_COMSTAT &CommStatus::getCOMSTAT(void)
|
|
{
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
void CommStatus::setZero(void)
|
|
{
|
|
_COMSTAT::fCtsHold=0;
|
|
_COMSTAT::fDsrHold=0;
|
|
_COMSTAT::fRlsdHold=0;
|
|
_COMSTAT::fXoffHold=0;
|
|
_COMSTAT::fXoffSent=0;
|
|
_COMSTAT::fEof=0;
|
|
_COMSTAT::fTxim=0;
|
|
_COMSTAT::fReserved=0;
|
|
_COMSTAT::cbInQue=0;
|
|
_COMSTAT::cbOutQue=0;
|
|
}
|
|
#endif |