153 lines
3.9 KiB
C
153 lines
3.9 KiB
C
/*++
|
||
|
||
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
|