?? llserial.h
字號:
//
// llserial.h
//
// Useful equates for a serial driver
//
//
// Pre-Pad Packet Data Offset
//
// The TCP/IP stack library requires that every packet device
// include enough L2 header room for all supported headers. In
// order to support PPPoE, this requires a 22 byte L2 header.
// Thus, since standard PPP is only 4 bytes, we must add
// on an additional 18 byte offset, or PPPoE can not function
// with our driver.
//
#define PKT_PREPAD 18
// Local character mode buffering
#define CHAR_MAX 256
#define RX_MAX 1506
//
// Packet device information
//
typedef struct _sdinfo {
uint PhysIdx; // Physical index of this device (0 to n-1)
uint Open; // Open counter used by llSerial
HANDLE hHDLC; // Handle to logical driver (NULL when closed)
STKEVENT_Handle hEvent; // Handle to scheduler event object
UINT32 PeerMap; // 32 bit character escape map (for HDLC)
uint Ticks; // Track timer ticks
uint Baud; // Baud rate
uint Mode; // Data bits, stop bits, parity
uint FlowCtrl; // Flow Control Mode
uint TxFree; // Transmitter "free" flag
PBMQ PBMQ_tx; // Tx queue (one for each SER device)
PBMQ PBMQ_rx; // Rx queue (one for each SER device)
PBM_Handle hRxPend; // Packet being rx'd
UINT8 *pRxBuf; // Pointer to write next char
uint RxCount; // Number of bytes received
UINT16 RxCRC; // Receive CRC
UINT8 RxFlag; // Flag to "un-escape" character
PBM_Handle hTxPend; // Packet being tx'd
UINT8 *pTxBuf; // Pointer to next char to send
uint TxCount; // Number of bytes left to send
UINT16 TxCRC; // Transmit CRC
UINT8 TxFlag; // Flag to insert character
UINT8 TxChar; // Insert character
void (*cbRx)(char); // Charmode callback (when open)
void (*cbTimer)(HANDLE h); // HDLC Timer callback (when open)
void (*cbInput)(PBM_Handle hPkt); // HDLC Input callback (when open)
uint CharReadIdx; // Charmode read index
uint CharWriteIdx; // Charmode write index
uint CharCount; // Number of charmode bytes waiting
UINT8 CharBuf[CHAR_MAX]; // Character mode recv data buffer
} SDINFO;
//
// Functions Provided by Hw specific code
//
extern uint HwSerInit();
extern void HwSerShutdown();
extern uint HwSerOpen( SDINFO *pi );
extern void HwSerClose( SDINFO *pi );
extern void HwSerTxNext( SDINFO *pi );
extern void HwSerSetConfig( SDINFO *pi );
extern void _HwSerPoll( SDINFO *pi,uint fTimerTick );
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -