www.riscos.com Technical Support:
Issued by NetPrint to determine if there is a local printer server running
R1 = &40200 (reason code)
R1 = 0 to claim the command, or preserved to pass on
This service call is issued by NetPrint to determine if there is a local printer server running.
If NetPrint is trying to print to a remote server, it should listen for replies on Econet ports &D0 and &D1, since old and new versions (respectively) of the printer server protocol use those ports. (See Printer server protocol interface.) However, if a printer server is running on the local machine, it uses port &D1 to listen for data. Hence if both NetPrint and a local printer server are in use, packets can arrive at port &D1 for two different programs, with no way of telling the owner of a given packet.
To avoid any potential confusion, NetPrint issues this service call. If it is claimed there is a local printer server running, and so NetPrint can only listen on port &D0; it cannot communicate with printer servers that reply on port &D1 using the old protocol. If it is not claimed, NetPrint can listen on ports &D0 and &D1, and can communicate with older printer servers.