as far as I understand, for multicast there is currently only an OS_FIFO available to receive multicast UDP messages. The problem with this is, that I am not able to use select() to wait for multiple I/O streams. As far as I discovered, I have to create a custom I/O driver using file descriptors as it is explained in section 16.2 in the programmers guide. As far as I figured out, the UDP socket code does exactly the same. My UDP socket had the socket 37 according to the programmers guide it is for TCP
Is possible that TCP only uses the sockets from 5 to 36? Then they are 32 in total5 – 37 for TCP (32 in total)

Back to the multicast select() problem:
The last entry point in the multicast packet handling is the MULTICastProcessFunction *pMultiCastFunc FAST_IP_VAR; callback handler, am I right? Then I have to copy MultiProcessFunc() function from multicast.cpp and modify it, so that is calls my multicast processing function instead of the default process_mcudp(). My function must be similar to the process_udp() function, where after posting the packet to the appropriate fifo the notification "activates" the file descriptor with SetDataAvail().
Does anyone implemented it already or has a better idea? Any comments?
Stephan