windows-nt/Source/XPSP1/NT/net/homenet/bridge/sys/brdgtdi.h

92 lines
1.7 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright(c) 1999-2002 Microsoft Corporation
Module Name:
brdgtdi.h
Abstract:
Ethernet MAC level bridge.
Tdi registration for address notifications.
Author:
Salahuddin J. Khan (sjkhan)
Environment:
Kernel mode
Revision History:
March 2002 - Original version
--*/
// ===========================================================================
//
// TYPES
//
// ===========================================================================
typedef struct _BRDG_TDI_GLOBALS
{
UNICODE_STRING ClientName;
TDI_CLIENT_INTERFACE_INFO ciiBridge;
HANDLE hBindingHandle;
} BRDG_TDI_GLOBALS, *PBRDG_TDI_GLOBALS;
// ===========================================================================
//
// PROTOTYPES
//
// ===========================================================================
NTSTATUS
BrdgTdiDriverInit();
VOID
BrdgTdiCleanup();
typedef struct _in_addr {
union {
struct { UCHAR s_b1,s_b2,s_b3,s_b4; } S_un_b;
struct { USHORT s_w1,s_w2; } S_un_w;
ULONG S_addr;
} S_un;
} in_addr;
NTSTATUS
NTAPI
ZwDeviceIoControlFile(
IN HANDLE FileHandle,
IN HANDLE Event OPTIONAL,
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
IN PVOID ApcContext OPTIONAL,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN ULONG IoControlCode,
IN PVOID InputBuffer OPTIONAL,
IN ULONG InputBufferLength,
OUT PVOID OutputBuffer OPTIONAL,
IN ULONG OutputBufferLength);
#define s_addr S_un.S_addr
BOOLEAN IsLower(WCHAR c);
BOOLEAN IsDigit(WCHAR c);
BOOLEAN IsXDigit(WCHAR c);
NTSTATUS
BrdgTdiIpv4StringToAddress(
IN LPWSTR String,
IN BOOLEAN Strict,
OUT LPWSTR *Terminator,
OUT in_addr *Addr);