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.

91 lines
1.8 KiB

  1. /*++
  2. Copyright(c) 1999-2002 Microsoft Corporation
  3. Module Name:
  4. brdgtdi.h
  5. Abstract:
  6. Ethernet MAC level bridge.
  7. Tdi registration for address notifications.
  8. Author:
  9. Salahuddin J. Khan (sjkhan)
  10. Environment:
  11. Kernel mode
  12. Revision History:
  13. March 2002 - Original version
  14. --*/
  15. // ===========================================================================
  16. //
  17. // TYPES
  18. //
  19. // ===========================================================================
  20. typedef struct _BRDG_TDI_GLOBALS
  21. {
  22. UNICODE_STRING ClientName;
  23. TDI_CLIENT_INTERFACE_INFO ciiBridge;
  24. HANDLE hBindingHandle;
  25. } BRDG_TDI_GLOBALS, *PBRDG_TDI_GLOBALS;
  26. // ===========================================================================
  27. //
  28. // PROTOTYPES
  29. //
  30. // ===========================================================================
  31. NTSTATUS
  32. BrdgTdiDriverInit();
  33. VOID
  34. BrdgTdiCleanup();
  35. typedef struct _in_addr {
  36. union {
  37. struct { UCHAR s_b1,s_b2,s_b3,s_b4; } S_un_b;
  38. struct { USHORT s_w1,s_w2; } S_un_w;
  39. ULONG S_addr;
  40. } S_un;
  41. } in_addr;
  42. NTSTATUS
  43. NTAPI
  44. ZwDeviceIoControlFile(
  45. IN HANDLE FileHandle,
  46. IN HANDLE Event OPTIONAL,
  47. IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
  48. IN PVOID ApcContext OPTIONAL,
  49. OUT PIO_STATUS_BLOCK IoStatusBlock,
  50. IN ULONG IoControlCode,
  51. IN PVOID InputBuffer OPTIONAL,
  52. IN ULONG InputBufferLength,
  53. OUT PVOID OutputBuffer OPTIONAL,
  54. IN ULONG OutputBufferLength);
  55. #define s_addr S_un.S_addr
  56. BOOLEAN IsLower(WCHAR c);
  57. BOOLEAN IsDigit(WCHAR c);
  58. BOOLEAN IsXDigit(WCHAR c);
  59. NTSTATUS
  60. BrdgTdiIpv4StringToAddress(
  61. IN LPWSTR String,
  62. IN BOOLEAN Strict,
  63. OUT LPWSTR *Terminator,
  64. OUT in_addr *Addr);