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
|