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.

109 lines
3.1 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // Module: topology.h
  4. //
  5. // Description:
  6. //
  7. //
  8. //@@BEGIN_MSINTERNAL
  9. // Development Team:
  10. // Mike McLaughlin
  11. //
  12. // History: Date Author Comment
  13. //
  14. //@@END_MSINTERNAL
  15. //---------------------------------------------------------------------------
  16. //
  17. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  18. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  19. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  20. // PURPOSE.
  21. //
  22. // Copyright (c) 1996-1999 Microsoft Corporation. All Rights Reserved.
  23. //
  24. //---------------------------------------------------------------------------
  25. //---------------------------------------------------------------------------
  26. // Constants and Macros
  27. //---------------------------------------------------------------------------
  28. //---------------------------------------------------------------------------
  29. // Data structures
  30. //---------------------------------------------------------------------------
  31. typedef struct enum_topology {
  32. ULONG cTopologyRecursion;
  33. LIST_MULTI_TOPOLOGY_CONNECTION lstTopologyConnection;
  34. NTSTATUS (*Function)(
  35. IN PTOPOLOGY_CONNECTION pTopologyConnection,
  36. IN BOOL fToDirection,
  37. IN OUT PVOID pReference
  38. );
  39. BOOL fToDirection;
  40. PVOID pReference;
  41. DefineSignature(0x504F5445); // ETOP
  42. } ENUM_TOPOLOGY, *PENUM_TOPOLOGY;
  43. //---------------------------------------------------------------------------
  44. typedef ENUMFUNC (*TOP_PFN)(PTOPOLOGY_CONNECTION, BOOL, PVOID);
  45. //---------------------------------------------------------------------------
  46. // Global variables
  47. //---------------------------------------------------------------------------
  48. //---------------------------------------------------------------------------
  49. // Local prototypes
  50. //---------------------------------------------------------------------------
  51. ENUMFUNC
  52. EnumerateTopology(
  53. IN PPIN_INFO pPinInfo,
  54. IN NTSTATUS (*Function)(
  55. IN PTOPOLOGY_CONNECTION pTopologyConnection,
  56. IN BOOL fToDirection,
  57. IN OUT PVOID pReference
  58. ),
  59. IN OUT PVOID pReference
  60. );
  61. ENUMFUNC
  62. EnumerateGraphTopology(
  63. IN PSTART_INFO pStartInfo,
  64. IN NTSTATUS (*Function)(
  65. IN PTOPOLOGY_CONNECTION pTopologyConnection,
  66. IN BOOL fToDirection,
  67. IN OUT PVOID pReference
  68. ),
  69. IN OUT PVOID pReference
  70. );
  71. ENUMFUNC
  72. EnumeratePinInfoTopology(
  73. IN PPIN_INFO pPinInfo,
  74. IN PENUM_TOPOLOGY pEnumTopology
  75. );
  76. ENUMFUNC
  77. EnumerateTopologyPin(
  78. IN PTOPOLOGY_PIN pTopologyPin,
  79. IN PENUM_TOPOLOGY pEnumTopology
  80. );
  81. ENUMFUNC
  82. EnumerateTopologyConnection(
  83. IN PTOPOLOGY_CONNECTION pTopologyConnection,
  84. IN PENUM_TOPOLOGY pEnumTopology
  85. );
  86. ENUMFUNC
  87. VisitedTopologyConnection(
  88. IN PTOPOLOGY_CONNECTION pTopologyConnection,
  89. IN PENUM_TOPOLOGY pEnumTopology
  90. );
  91. //---------------------------------------------------------------------------
  92. // End of File: topology.h
  93. //---------------------------------------------------------------------------