IPPROTO_RM Socket Options

The following table describes IPPROTO_RM socket options that apply to sockets created for the IPv4 address family (AF_INET) with the protocol parameter to the socket function specified as reliable multicast (IPPROTO_RM). See the getsockopt and setsockopt function reference pages for more information on getting and setting socket options.

To enumerate protocols and discover supported properties for each installed protocol, use the WSAEnumProtocols, WSCEnumProtocols, or WSCEnumProtocols32 function.

Windows XP:  Reliable Multicast Programming (PGM) is not supported.

Some socket options require more explanation than these tables can convey; such options contain links to additional pages.

IPPROTO_RM Socket Options
OptionGetSetOptval TypeDescription
RM_ADD_RECEIVE_IFyesULONGReceiver only. Adds an interface on which to listen (the default is the first local interface enumerated). The optval parameter specifies the network interface in network byte order to add. The value specified replaces the default interface on the first call for a given socket, and adds other interfaces on subsequent calls. To obtain INADDR_ANY behavior, each network interface must be added separately.
RM_DEL_RECEIVE_IFyesULONGReceiver only. Removes an interface added using RM_ADD_RECEIVE_IF. The optval parameter specifies the network interface in network byte order to delete.
RM_FLUSHCACHEyesN/ANot implemented.
RM_HIGH_SPEED_INTRANET_OPTyesyesULONGReceiver only. Specifies whether a high bandwidth LAN (100Mbps+) connection is used.
RM_LATEJOINyesyesULONGSender only. Percentage of window size allowed to be requested by late-joining receivers upon session acceptance. Maximum value is 75% (default is zero). Disable this setting by calling again with value set to zero.
RM_RATE_WINDOW_SIZEyesyes RM_SEND_WINDOW Sender only. Sets the transmission rate limit, window advance time, and window size.
RM_RECEIVER_STATISTICSyes RM_RECEIVER_STATS Receiver only. Retrieves statistics for the receiving session.
RM_SEND_WINDOW_ADV_RATEyesyesULONGSender only. Specifies the incremental advance rate for the trailing edge send window (default is 15%). Maximum value is 50%.
RM_SENDER_STATISTICSyes RM_SENDER_STATS Sender only. Retrieves statistics for the sending session.
RM_SENDER_WINDOW_ADVANCE_METHODyesyesULONGSender only. The optval parameter specifies the method used when advancing the trailing edge send window. The optval parameter can only be E_WINDOW_ADVANCE_BY_TIME (the default). Note that E_WINDOW_USE_AS_DATA_CACHE is not supported.
RM_SET_MCAST_TTLyesULONGSender only. Sets the maximum time to live (TTL) setting for multicast packets. Maximum and default value is 255.
RM_SET_MESSAGE_BOUNDARYyesULONGSender only. Specifies size of the next message to be sent, in bytes. Meaningful only to message mode sockets (SOCK_RDM). Can be set while the session is in progress.
RM_SET_SEND_IFyesyesULONGSender only. Sets the sending interface IP address in network byte order.
RM_USE_FECyesyes RM_FEC_INFO Sender only. Notifies sender to apply forward error correction techniques to send repair data. FEC has three modes: pro-active parity packets only, OnDemand parity packets only, or both. See RM_FEC_INFO structure for more information.


Windows Support for IPPROTO_RM options
OptionWindows 7Windows Server 2008Windows VistaWindows Server 2003Windows XPWindows 2000Windows NT4Windows 9x/Me



The IPPROTO_RM socket options and the structures used by these socket options are defined in the Wsrm.h header file.

The IPPROTO_RM or the IPPROTO_PGM constant can be used to specify the protocol parameter to the socket function to use the RM socket options. On the Microsoft Windows Software Development Kit (SDK) released for Windows Vista and later, the IPPROTO_PGM constant is defined in the Ws2def.h header file to the same value as the IPPROTO_RM constant defined in the Wsrm.h header file.