65 lines
1.1 KiB
C
65 lines
1.1 KiB
C
|
|
#ifndef __OEVERLAPPED_H__
|
|||
|
|
#define __OEVERLAPPED_H__
|
|||
|
|
|
|||
|
|
#define IoSend 1 // <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
#define IoRecv 2 // <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
#define IoExit 3 // <20>˳<EFBFBD>ϵͳ
|
|||
|
|
|
|||
|
|
#define MAX_PACKAGE_SIZE 2048 // <20><><EFBFBD>η<EFBFBD><CEB7>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>ܰ<EFBFBD><DCB0>Ĵ<EFBFBD>С
|
|||
|
|
|
|||
|
|
#define MAX_USER_PACK_SIZE 65534 // <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
|||
|
|
|
|||
|
|
struct stOverlappedBase : public OVERLAPPED
|
|||
|
|
{
|
|||
|
|
UINT IoMode;
|
|||
|
|
WORD nClient;
|
|||
|
|
WSABUF WsaBuf;
|
|||
|
|
|
|||
|
|
stOverlappedBase()
|
|||
|
|
{
|
|||
|
|
// init OVERLAPPED
|
|||
|
|
Internal=0;
|
|||
|
|
InternalHigh=0;
|
|||
|
|
Offset=0;
|
|||
|
|
OffsetHigh=0;
|
|||
|
|
hEvent=0;
|
|||
|
|
|
|||
|
|
// init SOverlapped
|
|||
|
|
IoMode=0;
|
|||
|
|
nClient=0xFFFF;
|
|||
|
|
WsaBuf.buf=NULL;
|
|||
|
|
WsaBuf.len=0;
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
struct stSendOverlapped : public stOverlappedBase
|
|||
|
|
{
|
|||
|
|
char *pBuffer; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĻ<DDB5><C4BB><EFBFBD>ָ<EFBFBD><D6B8>
|
|||
|
|
DWORD dwSentBytes; // <20>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>͵<EFBFBD><CDB5>ֽ<EFBFBD><D6BD><EFBFBD>
|
|||
|
|
DWORD dwTotalBytes; // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5>ֽ<EFBFBD><D6BD><EFBFBD>
|
|||
|
|
stSendOverlapped()
|
|||
|
|
{
|
|||
|
|
IoMode = IoSend;
|
|||
|
|
pBuffer = NULL;
|
|||
|
|
dwSentBytes = 0;
|
|||
|
|
dwTotalBytes = 0;
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
struct stRecvOverlapped : public stOverlappedBase
|
|||
|
|
{
|
|||
|
|
char buffer[MAX_PACKAGE_SIZE]; // <20><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD>
|
|||
|
|
|
|||
|
|
stRecvOverlapped()
|
|||
|
|
{
|
|||
|
|
memset(buffer, 0, MAX_PACKAGE_SIZE);
|
|||
|
|
|
|||
|
|
IoMode = IoRecv;
|
|||
|
|
WsaBuf.buf=buffer;
|
|||
|
|
WsaBuf.len=MAX_PACKAGE_SIZE;
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#endif
|