Source code of Windows XP (NT5)
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.

104 lines
2.3 KiB

  1. //============================================================================
  2. // Copyright (c) 1995, Microsoft Corporation
  3. //
  4. // File: MgmIpRm.h
  5. //
  6. // History:
  7. // V Raman June-25-1997 Created.
  8. //
  9. // Declarations for routines that manipulate protocol entries
  10. //============================================================================
  11. #ifndef _PROTOCOL_H_
  12. #define _PROTOCOL_H_
  13. #include <mgm.h>
  14. //----------------------------------------------------------------------------
  15. // Each PROTOCOL_ENTRY structure stores the information for a routing
  16. // protocol that is registered with MGM.
  17. //
  18. //
  19. // dwProtocolId - unique protocol identifier.
  20. //
  21. // dwComponentId - unique component id, used to differentiate
  22. // multiple components within a protocol.
  23. //
  24. // dwIfCount - count of interfaces owned by this protocol
  25. //
  26. // rpcProtocolConfig- protocol config supplied by routing protocol
  27. // on registration
  28. //
  29. // dwSignature - Signature used to verify entry.
  30. //----------------------------------------------------------------------------
  31. typedef struct _PROTOCOL_ENTRY
  32. {
  33. LIST_ENTRY leProtocolList;
  34. DWORD dwProtocolId;
  35. DWORD dwComponentId;
  36. DWORD dwIfCount;
  37. ROUTING_PROTOCOL_CONFIG rpcProtocolConfig;
  38. DWORD dwSignature;
  39. } PROTOCOL_ENTRY, *PPROTOCOL_ENTRY;
  40. #define MGM_PROTOCOL_SIGNATURE 'MGMp'
  41. //
  42. // Protocol table manipulation routines
  43. //
  44. DWORD
  45. CreateProtocolEntry(
  46. PLIST_ENTRY pleProtocolList,
  47. DWORD dwProtocolId,
  48. DWORD dwComponentId,
  49. PROUTING_PROTOCOL_CONFIG prpcConfig,
  50. PPROTOCOL_ENTRY * pppeEntry
  51. );
  52. VOID
  53. DeleteProtocolEntry(
  54. PPROTOCOL_ENTRY ppeEntry
  55. );
  56. PPROTOCOL_ENTRY
  57. GetProtocolEntry(
  58. PLIST_ENTRY pleProtocolList,
  59. DWORD dwProtocolId,
  60. DWORD dwComponentId
  61. );
  62. VOID
  63. DeleteProtocolList(
  64. PLIST_ENTRY pleProtocolList
  65. );
  66. DWORD
  67. VerifyProtocolHandle(
  68. PPROTOCOL_ENTRY ppeEntry
  69. );
  70. PPROTOCOL_ENTRY
  71. GetIgmpProtocolEntry(
  72. PLIST_ENTRY pleProtocolList
  73. );
  74. #endif