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.

125 lines
3.3 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. V Raman 12/15/1998
  10. --*/
  11. #ifndef _IPXMON_UTILS_
  12. #define _IPXMON_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 WANProtocols[2];
  25. extern TOKEN_VALUE FilterModes[2];
  26. extern TOKEN_VALUE LogLevels[4];
  27. #define INPUT_FILTER 1
  28. #define OUTPUT_FILTER 2
  29. //
  30. // This will be removed when the router is modified to use MprInfo api's
  31. //
  32. typedef RTR_INFO_BLOCK_HEADER IPX_INFO_BLOCK_HEADER, *PIPX_INFO_BLOCK_HEADER;
  33. typedef RTR_TOC_ENTRY IPX_TOC_ENTRY, *PIPX_TOC_ENTRY;
  34. DWORD
  35. GetIpxInterfaceIndex (
  36. IN MIB_SERVER_HANDLE hRouterMIB,
  37. IN LPCWSTR InterfaceName,
  38. OUT ULONG *InterfaceIndex
  39. );
  40. DWORD
  41. GetIpxInterfaceName (
  42. IN MIB_SERVER_HANDLE hRouterMIB,
  43. IN ULONG InterfaceIndex,
  44. OUT LPWSTR InterfaceName
  45. );
  46. PIPX_TOC_ENTRY
  47. GetIPXTocEntry (
  48. IN PIPX_INFO_BLOCK_HEADER pInterfaceInfo,
  49. IN ULONG InfoEntryType
  50. );
  51. typedef BOOL (*PINFO_CMP_PROC) (PVOID Info1, PVOID Info2);
  52. DWORD
  53. AddIPXInfoEntry (
  54. IN PIPX_INFO_BLOCK_HEADER pOldBlock,
  55. IN ULONG InfoType,
  56. IN ULONG InfoSize,
  57. IN PVOID Info,
  58. IN PINFO_CMP_PROC InfoEqualCB OPTIONAL,
  59. OUT PIPX_INFO_BLOCK_HEADER *pNewBlock
  60. );
  61. DWORD
  62. DeleteIPXInfoEntry (
  63. IN PIPX_INFO_BLOCK_HEADER pOldBlock,
  64. IN ULONG InfoType,
  65. IN ULONG InfoSize,
  66. IN PVOID Info,
  67. IN PINFO_CMP_PROC InfoEqualCB OPTIONAL,
  68. IN PIPX_INFO_BLOCK_HEADER *pNewBlock
  69. );
  70. DWORD
  71. UpdateIPXInfoEntry (
  72. IN PIPX_INFO_BLOCK_HEADER pOldBlock,
  73. IN ULONG InfoType,
  74. IN ULONG InfoSize,
  75. IN PVOID OldInfo OPTIONAL,
  76. IN PVOID NewInfo,
  77. IN PINFO_CMP_PROC InfoEqualCB OPTIONAL,
  78. OUT PIPX_INFO_BLOCK_HEADER *pNewBlock
  79. );
  80. DWORD
  81. UpdateRipFilter (
  82. IN PIPX_INFO_BLOCK_HEADER pOldBlock,
  83. IN BOOLEAN Output,
  84. IN PRIP_ROUTE_FILTER_INFO pOldFilter OPTIONAL,
  85. IN PRIP_ROUTE_FILTER_INFO pNewFilter OPTIONAL,
  86. OUT PIPX_INFO_BLOCK_HEADER *pNewBlock
  87. );
  88. DWORD
  89. UpdateSapFilter (
  90. IN PIPX_INFO_BLOCK_HEADER pOldBlock,
  91. IN BOOLEAN Output,
  92. IN PSAP_SERVICE_FILTER_INFO pOldFilter OPTIONAL,
  93. IN PSAP_SERVICE_FILTER_INFO pNewFilter OPTIONAL,
  94. OUT PIPX_INFO_BLOCK_HEADER *pNewBlock
  95. );
  96. #define DisplayIPXMessage DisplayMessageM
  97. #endif