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....