igmp.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /*++
  2. Copyright (c) 2013 Minoca Corp.
  3. This file is licensed under the terms of the GNU General Public License
  4. version 3. Alternative licensing terms are available. Contact
  5. info@minocacorp.com for details. See the LICENSE file at the root of this
  6. project for complete licensing information.
  7. Module Name:
  8. igmp.h
  9. Abstract:
  10. This header contains public definitions for the IGMP protocol layer.
  11. Author:
  12. Chris Stevens 2-Mar-2017
  13. --*/
  14. //
  15. // ------------------------------------------------------------------- Includes
  16. //
  17. //
  18. // --------------------------------------------------------------------- Macros
  19. //
  20. //
  21. // ---------------------------------------------------------------- Definitions
  22. //
  23. //
  24. // Define the IPv4 address to which all IGMP general query messages are sent.
  25. //
  26. #define IGMP_ALL_SYSTEMS_ADDRESS CPU_TO_NETWORK32(0xE0000001)
  27. //
  28. // ------------------------------------------------------ Data Type Definitions
  29. //
  30. /*++
  31. Enumeration Description:
  32. This enumeration describes the various IGMP options for the IGMP socket
  33. information class.
  34. Values:
  35. SocketIgmpOptionInvalid - Indicates an invalid IGMP socket option.
  36. SocketIgmpOptionJoinMulticastGroup - Indicates a request to join a
  37. multicast group. This option takes a NET_NETWORK_MULTICAST_REQUEST
  38. structure.
  39. SocketIgmpOptionLeaveMulticastGroup - Indicates a request to leave a
  40. multicast group. This option takes a NET_NETWORK_MULTICAST_REQUEST
  41. structure.
  42. --*/
  43. typedef enum _SOCKET_IGMP_OPTION {
  44. SocketIgmpOptionInvalid,
  45. SocketIgmpOptionJoinMulticastGroup,
  46. SocketIgmpOptionLeaveMulticastGroup
  47. } SOCKET_IGMP_OPTION, *PSOCKET_IGMP_OPTION;
  48. //
  49. // -------------------------------------------------------------------- Globals
  50. //
  51. //
  52. // -------------------------------------------------------- Function Prototypes
  53. //