In order to control which interface multicast datagrams will be sent on, the API provides the IP_MULTICAST_IF socket option. This option can be used to set the interface for sending outbound multicast datagrams from the sockets application. Multicast datagrams can be transmitted on only one interface at a time. You can determine the interface being used by the way of the GETSOCKOPT API with IP_MULTICAST_IF as the OPTNAME. Figure 1 illustrates the use of IP_MULTICAST_IF by the use of the SETSOCKOPT and GETSOCKOPT APIs.
***********************************************************************
* *
* Issue SETSOCKOPT/GETSOCKOPT - IP_MULTICAST_IF *
* *
***********************************************************************
EZASMI TYPE=SETSOCKOPT, ISSUE SETSOCKOPT X
S=S, SOCKET DESCRIPTOR X
OPTLEN=OPTLEN4, OPTION LENGTH X
OPTNAME='IP_MULTICAST_IF', OPTION NAME X
OPTVAL=MULTIF, OPTION VALUE X
RETCODE=RETCODE, (SPECIFY RETCODE FIELD) X
ERROR=ERROR ABEND IF MACRO ERROR
BAL R14,RCCHECK --> CHECK IT
XC MULTIFO,MULTIFO
EZASMI TYPE=GETSOCKOPT, ISSUE GETSOCKOPT X
S=S, SOCKET DESCRIPTOR X
OPTLEN=OPTLEN4, OPTION LENGTH X
OPTNAME='IP_MULTICAST_IF', OPTION NAME X
OPTVAL=MULTIFO, OPTION VALUE X
RETCODE=RETCODE, (SPECIFY RETCODE FIELD) X
ERROR=ERROR ABEND IF MACRO ERROR
BAL R14,RCCHECK --> CHECK IT