Source code of Windows XP (NT5)
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) 1998 - 2000 Microsoft Corporation
Module Name:
main.h
Abstract:
Contains: 1. Prototypes for routines used in asynchrounous I/O 2. Definitions of constants and macros used by the above routines 3. Definitions of macros and inline routines for memory management
Environment:
User Mode - Win32
History: 1. 31-Jul-1998 -- File creation Ajay Chitturi (ajaych) 2. 15-Jul-1999 -- Arlie Davis (arlied) 3. 14-Feb-2000 -- Added support for multiple Ilya Kleyman (ilyak) private interfaces
--*/ #ifndef __h323ics_main_h
#define __h323ics_main_h
///////////////////////////////////////////////////////////////////////////////
// //
// Constants and macros //
// //
///////////////////////////////////////////////////////////////////////////////
#define DEFAULT_TRACE_FLAGS LOG_TRCE
#define MAX_LISTEN_BACKLOG 5
#define LOCAL_INTERFACE_INDEX ((ULONG)-2)
///////////////////////////////////////////////////////////////////////////////
// //
// Global variables //
// //
///////////////////////////////////////////////////////////////////////////////
extern HANDLE NatHandle; extern DWORD EnableLocalH323Routing;
///////////////////////////////////////////////////////////////////////////////
// //
// Prototypes for routines used in asynchrounous I/O //
// //
///////////////////////////////////////////////////////////////////////////////
HRESULT EventMgrIssueAccept ( IN DWORD BindIPAddress, // in HOST order
IN OVERLAPPED_PROCESSOR & OverlappedProcessor, OUT WORD & BindPort, // in HOST order
OUT SOCKET & ListenSocket );
HRESULT EventMgrIssueSend( IN SOCKET Socket, IN OVERLAPPED_PROCESSOR & OverlappedProcessor, IN BYTE *Buffer, IN DWORD BufferLength ); HRESULT EventMgrIssueRecv( IN SOCKET Socket, IN OVERLAPPED_PROCESSOR & OverlappedProcessor );
HRESULT EventMgrBindIoHandle( IN SOCKET Socket );
///////////////////////////////////////////////////////////////////////////////
// //
// Memory management support //
// //
///////////////////////////////////////////////////////////////////////////////
__inline void *EM_MALLOC ( IN size_t Size ) /*++
Routine Description:
Private memory allocator.
Arguments:
Size - number of bytes to allocate
Return Values: - Pointer to allocated memory, if successful. - NULL otherwise.
Notes:
--*/
{ return (HeapAlloc (GetProcessHeap (), 0, /* no flags */ (Size))); } // EM_MALLOC
__inline void EM_FREE( IN void *Memory ) /*++
Routine Description:
Private memory deallocator
Arguments:
Memory -- pointer to allocated memory
Return Values:
None
Notes: The memory should have previously been allocated via EM_MALLOC
--*/
{ HeapFree (GetProcessHeap (), 0, /* no flags */ (Memory)); } // EM_FREE
#endif // __h323ics_main_h
|