¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: How to wait indefinitely for a read on CTC device?


 

Hi Bob,
I appreciated much your post. Even if I was doing a lot of EXCP programming over the years I could learn something new in this area.
I'm currently working on an MVS Front-End Application that runs in Windows and communicates via IP to an MVS 3.8 that is running under Hercules. For the discussed topic I found another simple way of getting around. In the Assembler Server program that runs in MVS I need to know if the peer (The front-end program in Windows) is ready to communicate. So I check if the peer has initialized a 'Read' operation. I can check this by repeatedly (every 5 seconds) issuing a Sense command to the CTC. If the 'other' side has issued a read I get a x'02' response with means that the peer has issued a read and is read to communicate. To overcome running in timeouts with outstanding reads I send an 'Alive' packet every 5 seconds when there is no other useful activity.?
Now some consideration about communicating with a program running in Windows that uses IP and 'plays' the role of a peer to the Hercules emulation that transfers the request to another side over IP. In the MVS Assembler program I'm running on a 'real' device and can of course use any CCW commands that are acceptable for CTC's. On the other hand in the Windows side I have no possibility to? issue real CCW command like Sense. I can only send or receive data over IP. In a case where you communicate to a real CTC peer you can do it with only one MVS device address for an exchange in both directions. But since in Windows I can do only send and receives without the possibility to 'see' if the peer is in a Read or whatever state you need to use two MVS device addresses. Over one address you send (Write Command x'01') to the Windows program and on the other address your receive (Read Command x'02') messages from Windows. It seems that the same approach has been used in the MVS-DDT tool but the source code is not available to see how it was really done. Anyway so far it works fine.?
As soon as I'm finished with my 'exercise' and corrected the last bugs I can gladly publish the source code here. Watch this space....

Join [email protected] to automatically receive all group messages.