STROGYLO@GRPATVX1.BITNET (Dimitris Strogylopoulos) (04/25/91)
Dear friendly Mac Gurus, this is a request for help about programming with the MACtcp driver from Apple.. Problems that appeared to make my life more difficult involve the following: i) First of all we have problems in using the TCPNotifyProc (the ASR) I hope that you have some experience in using it.. and I would like to ask you if we can call other subroutines from inside the ASR code... (any subroutines or any specific ones...etc.) We have managed to make the two MACs II able to exchange strings (like the VAX/VMS Phone utility) but after 2 or 3 strings sent the machine hungs...(sometimes with system error bombs, ID=10,12)... It once happened that, the code entered the ASR routine and when we called another routine from there it didn't pass its arguments and then the machine hunged...Maybe it's something to do with the pascal void definition of the function TCPNotifyProc, as pascal functions pass arguments in reverse order than C...(!#@$) Something else to ask about ASRs is, that the manual of MACTcp says that after the call of the ASR, the D3-D7 and A3-A7 machine registers should be preserved...What does this mean ...? Should WE do that by means of writing our own code or does the MACTCP driver does that...? If we do that, how we do it..? Is it vital for the proper functioning of our code..??? ii) Does the use of MultiFinder have any relationship with the strange behaviour of the program....? iii) Some talk is necessary about the asychronous calls..? How are they implemented...? When an asychronous call is issued, does the parameter block pointed at by our pointer enter the driver queue as a node (in the classical sense of a queue node) (?) or a copy of it enters the queue..? In other words can we use the same parameter block pointer for succesive calls to the driver with simply changing the necessary fields in the TCPioPB structure...? Is there a situation that we "touch" the first fields of the ioPB structure (the ones concerning the QUEUE, ioTrap..etc.?) In case you are aware of anything of the above your contribution will be strongly appreciated.. Thanks in advance..! Dimitris....