The problem that you are encountering is due to FD_SET and FD_ZERO (along with FD_CLR and FD_ISSET) not being APIs in the conventional sense. They are implemented as macros in the C header file QSYSINC/SYS,TYPES. These APIs are not called, they are imbedded into to compiled program.
You will need to re-implement the “APIs” using standard COBOL operations. FD_ZERO should be easy enough, just move low values to fds for the length of a fd_set structure. FD_SET may be a bit more challenging as you’re working with bits (not exactly a strong point for COBOL). You might find this <a href=”http://www.brucevining.com/index.php?option=com_content&view=article&id=19:cc-working-with-bits&catid=1:online-publications&Itemid=19″>article</a> to be of interest.
<a href=”http://www.brucevining.com/”>Bruce Vining Services</a>