?? sirstate.h
字號:
//**********************************************************************
//
// Filename: sirstate.h
//
// Description: Header file for the set state function.
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
// Copyright(c) Cirrus Logic Corporation 2001, All Rights Reserved
//
//**********************************************************************
#ifndef _H_SIRSTATE
#define _H_SIRSTATE
//
// States for the SIR recieve state machine.
//
enum RX_PROCESS_STATE
{
RX_STATE_READY = 0,
RX_STATE_BOF,
RX_STATE_IN_ESC,
RX_STATE_RX,
RX_STATE_SHUTDOWN
};
//
// State machine for SIR recieve.
//
class ReceivedSirState
{
public:
ReceivedSirState(): m_bPacketAvaliable(0),
m_pucBuffer(0),
m_pucCurrent(0),
m_pucEnd(0),
m_eRxState(RX_STATE_READY),
m_ulPacketsRxOverflow(0),
m_ulPacketsRxDropped(0),
m_ulPacketsRx(0),
m_ulPacketSize(0)
{
}
void ProcessByte( unsigned char uc);
void SetNextBuffer(PRX_BUFFER pRxBuf);
int PacketAvailable() { return m_bPacketAvaliable; }
ULONG GetPacketSize() { return m_ulPacketSize; }
ULONG PacketsRecieved() { return m_ulPacketsRx; }
ULONG PacketsDropped() { return m_ulPacketsRxDropped; }
ULONG PacketsOverflowed() { return m_ulPacketsRxOverflow; }
void ClearStats()
{
m_ulPacketsRxOverflow = 0;
m_ulPacketsRxDropped = 0;
m_ulPacketsRx = 0;
}
private:
BOOL m_bPacketAvaliable;
PUCHAR m_pucBuffer;
PUCHAR m_pucCurrent;
PUCHAR m_pucEnd;
RX_PROCESS_STATE m_eRxState;
PRX_BUFFER m_pRxBuf;
ULONG m_ulPacketsRxOverflow;
ULONG m_ulPacketsRxDropped;
ULONG m_ulPacketSize;
ULONG m_ulPacketsRx;
};
#endif // _H_SIRSTATE
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -