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.

128 lines
3.4 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. utils.h
  5. Abstract:
  6. IPX Router Console Monitoring and Configuration tool.
  7. Utility routines. Header File
  8. Author:
  9. Vadim Eydelman 06/07/1996
  10. --*/
  11. #ifndef _IPX_PROMON_UTILS_
  12. #define _IPX_PROMON_UTILS_
  13. extern TOKEN_VALUE InterfaceTypes[5];
  14. extern TOKEN_VALUE InterfaceStates[3];
  15. extern TOKEN_VALUE InterfaceEnableStatus[2];
  16. extern TOKEN_VALUE AdminStates[2];
  17. extern TOKEN_VALUE OperStates[3];
  18. extern TOKEN_VALUE IpxInterfaceTypes[8];
  19. extern TOKEN_VALUE RouterInterfaceTypes[5];
  20. extern TOKEN_VALUE NbDeliverStates[4];
  21. extern TOKEN_VALUE UpdateModes[3];
  22. extern TOKEN_VALUE IpxProtocols[4];
  23. extern TOKEN_VALUE TfFilterActions[2];
  24. extern TOKEN_VALUE RipFilterActions[2];
  25. extern TOKEN_VALUE SapFilterActions[2];
  26. extern TOKEN_VALUE WANProtocols[2];
  27. extern TOKEN_VALUE FilterModes[2];
  28. extern TOKEN_VALUE LogLevels[4];
  29. #define INPUT_FILTER 1
  30. #define OUTPUT_FILTER 2
  31. //
  32. // This will be removed when the router is modified to use MprInfo api's
  33. //
  34. typedef RTR_INFO_BLOCK_HEADER IPX_INFO_BLOCK_HEADER, *PIPX_INFO_BLOCK_HEADER;
  35. typedef RTR_TOC_ENTRY IPX_TOC_ENTRY, *PIPX_TOC_ENTRY;
  36. DWORD
  37. GetIpxInterfaceIndex (
  38. IN MIB_SERVER_HANDLE hRouterMIB,
  39. IN LPCWSTR InterfaceName,
  40. OUT ULONG *InterfaceIndex
  41. );
  42. DWORD
  43. GetIpxInterfaceName (
  44. IN MIB_SERVER_HANDLE hRouterMIB,
  45. IN ULONG InterfaceIndex,
  46. OUT LPWSTR InterfaceName
  47. );
  48. PIPX_TOC_ENTRY
  49. GetIPXTocEntry (
  50. IN PIPX_INFO_BLOCK_HEADER pInterfaceInfo,
  51. IN ULONG InfoEntryType
  52. );
  53. typedef BOOL (*PINFO_CMP_PROC) (PVOID Info1, PVOID Info2);
  54. DWORD
  55. AddIPXInfoEntry (
  56. IN PIPX_INFO_BLOCK_HEADER pOldBlock,
  57. IN ULONG InfoType,
  58. IN ULONG InfoSize,
  59. IN PVOID Info,
  60. IN PINFO_CMP_PROC InfoEqualCB OPTIONAL,
  61. OUT PIPX_INFO_BLOCK_HEADER *pNewBlock
  62. );
  63. DWORD
  64. DeleteIPXInfoEntry (
  65. IN PIPX_INFO_BLOCK_HEADER pOldBlock,
  66. IN ULONG InfoType,
  67. IN ULONG InfoSize,
  68. IN PVOID Info,
  69. IN PINFO_CMP_PROC InfoEqualCB OPTIONAL,
  70. IN PIPX_INFO_BLOCK_HEADER *pNewBlock
  71. );
  72. DWORD
  73. UpdateIPXInfoEntry (
  74. IN PIPX_INFO_BLOCK_HEADER pOldBlock,
  75. IN ULONG InfoType,
  76. IN ULONG InfoSize,
  77. IN PVOID OldInfo OPTIONAL,
  78. IN PVOID NewInfo,
  79. IN PINFO_CMP_PROC InfoEqualCB OPTIONAL,
  80. OUT PIPX_INFO_BLOCK_HEADER *pNewBlock
  81. );
  82. DWORD
  83. UpdateRipFilter (
  84. IN PIPX_INFO_BLOCK_HEADER pOldBlock,
  85. IN BOOLEAN Output,
  86. IN PRIP_ROUTE_FILTER_INFO pOldFilter OPTIONAL,
  87. IN PRIP_ROUTE_FILTER_INFO pNewFilter OPTIONAL,
  88. OUT PIPX_INFO_BLOCK_HEADER *pNewBlock
  89. );
  90. DWORD
  91. UpdateSapFilter (
  92. IN PIPX_INFO_BLOCK_HEADER pOldBlock,
  93. IN BOOLEAN Output,
  94. IN PSAP_SERVICE_FILTER_INFO pOldFilter OPTIONAL,
  95. IN PSAP_SERVICE_FILTER_INFO pNewFilter OPTIONAL,
  96. OUT PIPX_INFO_BLOCK_HEADER *pNewBlock
  97. );
  98. #endif