•  Back 
  •  Classic XAcc 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - das Betriebssystem
Author      : 
Version     : tos.hyp (5. März 2013)
Subject     : Programmieren/Atari
Nodes       : 3001
Index Size  : 93602
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Titel
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File15.13.2.3  Request/Reply-Protokoll                                 TOS

Es werden zwei weitere Message-Typen eingeführt, um einen allgemeinen 
Datenaustausch zu ermöglichen:

#define ACC_REQUEST     0x480
#define ACC_REPLY       0x481

 ACC_REQUEST

   Mittels dieser Nachricht fordert man bei einer anderen Applikation 
   einen Dienst an. Der Aufbau dieser Nachricht ist folgendermaßen:

         msg[0]:     ACC_REQUEST (0x480)
         msg[1]:     Application-ID des Senders
         msg[2]:     0
         msg[3]:     Das high-Byte ist frei für Applikationsspezifische
                     Informationen und im low-Byte ist der Typ der
                     Daten codiert, die mit dieser Nachricht verschickt
                                                                           werden:
                     0x01  String, d.h. msg[4]+msg[5] ist
                           ein Pointer auf den String
                     0x02  Env-String, d.h
                           msg[4]+msg[5] ist ein Pointer
                           auf den Env-String (mehrere durch
                           '\0' getrennte Strings mit
                           abschließenden doppelten '\0'-Bytes)
                     0x03  binär-Daten, d.h.
                           msg[4]+msg[5] ist ein Pointer auf
                           die binär-Daten. In diesem Fall muß der
                           Empfänger natürlich über die Struktur
                           Bescheid wissen! (lokale Typunterscheidung
                           ist z.B. mittels des high-Bytes möglich)
                     0x04  code, d.h. msg[4] bis msg[7]
                           enthalten direkt die Daten (sinnvoll bei
                           Übertragung von Datenmengen bis 8 Byte)
         msg[4,5]:   Pointer auf die Daten (außer Typ 0x04)
         msg[6,7]:   Länge des Datenbereichs incl. eventueller
                     '\0'-Bytes (außer Typ 0x04)

   Es existieren zwei verschiedene Möglichkeiten, diese Nachricht zu 
   beantworten:

ACC_ACK mit msg[3]=0, wenn die empfangende Applikation diese 
        Nachricht nicht bearbeiten kann

      ∙ ACC_REPLY, wenn die Nachricht bearbeitet werden konnte und 
        eine Antwort zurückgeschickt wird

 ACC_REPLY

   Mittels dieser Nachricht wird eine ACC_REQUEST Anforderung 
   erfolgreich beantwortet. Der Aufbau dieser Nachricht ist 
   folgendermaßen:

               msg[0]:     ACC_REPLY (0x481)
               msg[1]:
                   .
                   .       siehe ACC_REQUEST!
                   .
               msg[7]:

Applikationen, die oben beschriebene Protokollelemente unterstützen, 
müssen in ihrer XDSC-Beschreibung das Extended-Feature "RQ" enthalten 
haben.