Topic : TOS - The Operating System Author : Version : tos.hyp (December 19, 2008) Subject : Programmieren/Atari Nodes : 3010 Index Size : 93790 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Title @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File13.13.3.4 Request/Reply protocol TOS Two further messages were introduced to enable a general data exchange: #define ACC_REQUEST 0x480 #define ACC_REPLY 0x481 ACC_REQUEST With this message one requests a service from another application. The makeup of this message is as follows: msg[0]: ACC_REQUEST (0x480) msg[1]: Application ID of the sender msg[2]: 0 msg[3]: The high-byte is free for application-specific information, and in the low-byte the type of the data is coded that are sent with this message: 0x01 String, i.e. msg[4]+msg[5] is a pointer to the string 0x02 EEnv-string, i.e. msg[4]+msg[5] is a pointer to the Env-string (multiple strings separated by '\0', with a terminating double '\0'-bytes) 0x03 Binary data, i.e. msg[4]+msg[5] is a pointer to the binary data. In this case the receiver naturally has to be aware of the data structure! (Local type differentiation is possible by means of the high-byte, for instance) 0x04 Code, i.e. msg[4] to msg[7] directly contain the data (useful for transmission of data amounts up to 8 bytes) msg[4,5]: Pointer to the data (except type 0x04) msg[6,7]: Length of data area, incl. possible '\0'-bytes (except type 0x04) There are two different options for replying to this message: . ACC_ACK with msg[3]=0, if the receiving application cannot process this message . ACC_REPLY, if the message could be processed and a reply has been sent back ACC_REPLY A successful ACC_REQUEST request is answered with this message. The makeup of this message is as follows: msg[0]: ACC_REPLY (0x481) msg[1]: . . see ACC_REQUEST! . msg[7]: Applications that support the protocol elements described above have to contain the Extended feature 'RQ' in their XDSC description.