Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1996 Microsoft Corporation
Module Name:
buffsock.hxx
Abstract:
Simple socket class for buffered I/O.
Author:
Keith Moore (keithmo) 02-Dec-1996
Revision History:
--*/
#ifndef _BUFFSOCK_HXX_
#define _BUFFSOCK_HXX_
class BUFFERED_SOCKET {
public:
//
// Constructor/destructor.
//
BUFFERED_SOCKET(); ~BUFFERED_SOCKET();
//
// Initializers.
//
INT InitializeClient( LPSTR HostName, USHORT Port );
INT InitializeClient( LPSOCKADDR_IN HostAddress );
INT InitializeClient( SOCKET Socket );
INT InitializeServer( USHORT Port );
//
// Basic I/O.
//
INT Send( PVOID Buffer, LPDWORD BufferLength );
INT Recv( PVOID Buffer, LPDWORD BufferLength );
//
// Framed I/O.
//
INT SendFrame( PVOID Buffer, LPDWORD BufferLength );
INT RecvFrame( PVOID Buffer, LPDWORD BufferLength );
//
// Blob I/O.
//
INT SendBlob( PIIS_CRYPTO_BLOB Blob );
INT RecvBlob( PIIS_CRYPTO_BLOB * ppBlob );
private:
SOCKET m_Socket; PVOID m_Buffer; DWORD m_BufferLength; DWORD m_BytesAvailable; DWORD m_Offset; BOOL m_Initialized;
INT BufferedRecv( PVOID Buffer, DWORD BufferLength );
INT CommonInitialize();
static LONG m_InitCount;
}; // BUFFERED_SOCKET
#endif // _BUFFSOCK_HXX_
|