•  Back 
  •  Protokolle 
  •  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.4  Document-History-Protokoll                                   TOS

Das Document-History-(DHST-) Protokoll dient dazu, eine globale Liste 
der zuletzt benutzten Dokumente zu verwalten (ähnlich dem Abruf-Menü 
in z.B. Texel) und an einer einheitlichen Stelle (hier: Start-Me-Up- 
Menü) schnell abrufbar zu machen.

Dazu ein kurzer Auszug der Struktur in C-Notation:

 #define DHST_ADD 0xdadd
 #define DHST_ACK 0xdade

typedef struct
{
   int8_t *appname,
          *apppath,
          *docname,
          *docpath;
} DHSTINFO;

Jedesmal wenn der Anwender eine Datei öffnet, sucht die Applikation 
nach dem Cookie 'DHST'. Ist dieser vorhanden, gibt das untere Word des 
Cookie-Wertes die AES-ID des DHST-Servers an, an den die Nachricht 
DHST_ADD geschickt wird. Die Applikation legt also im globalen Spei- 
cher eine DHSTINFO-Struktur an und füllt sie entsprechend auf:

 appname:     Name der Applikation
              (z.B. "Texel")

 apppath:     absoluter Pfad der Applikation
              (z.B. "c:\program\texel.app")

 docname:     Name des Dokuments
              (z.B. "balmer.txl")

 docpath:     absoluter Pfad des Dokuments
              (z.B. "d:\daten\balmer.txl")

Dann schickt sie dem DHST-Server folgende Nachricht:

 msg[0]    DHST_ADD (0xdadd)
 msg[1]    ap_id der Anwendung
 msg[2]    0
 msg[3]    und
 msg[4]    Pointer auf DHSTINFO-Struktur
 msg[5]    0
 msg[6]    0
 msg[7]    0

Als Antwort erhält die Applikation folgende Message, mit der sie den 
globalen Speicher wieder freigeben kann:

 msg[0]    DHST_ACK (0xdade)
 msg[1]    ap_id des DHST-Servers
 msg[2]    0
 msg[3]    and
 msg[4]    Pointer auf DHSTINFO-Struktur (wie bei DHST_ADD übergeben)
 msg[5]    0
 msg[6]    0
 msg[7]    0=Fehler, sonst: OK

In der ST-Computer 10/98 findet sich ein ausführlicher Artikel zu 
diesem Thema.