HomeProtokolleProtokolleBubbleGEM

15.1 AV-Protokoll

Das AV-Protokoll (Accessory-Venus) wurde von Stefan Eissing entwickelt und zuerst im alternativen Desktop Gemini eingesetzt. Mittlerweile wird dieses Protokoll jedoch von vielen weiteren Shells (Ease, MagXDesk, Thing, ...) unterstützt. Dieser Abschnitt beschreibt die Version des Protokolls aus der Gemini-Distribution vom 29. Januar 1995 (Gemini 1.a).

Die Kommunikation zwischen zwei Prozessen erfolgt beim AV-Protokoll über den Austausch von (erweiterten) AES-Nachrichten, die sich einer der folgenden Kategorien zuteilen lassen:

Achtung: An dieser Stelle sei darauf hingewiesen, daß im Hinblick auf zukünftige Betriebssystem-Versionen zur Kommunikation zwischen verschiedenen Programmen benutzte oder über Zeiger zugewiesene Speicherbereiche global sein müssen (Mxalloc-Funktion mit Global-Flag). Andernfalls wird es beim Einsatz auf Rechnern mit PMMU (z.B. Atari-TT oder Falcon) zu Speicherschutzverletzungen kommen.

Sollten in Nachrichten Pfade oder Dateinamen vorkommen, so muß immer der absolute Pfad angegeben werden (also mit Laufwerk) und die Laufwerksbuchstaben müssen Großbuchstaben sein. Pfade sollten immer mit einem Backslash enden!

Mit AV_PROTOKOLL kann jede Applikation nachfragen, welche Nachrichten verstanden werden (nicht alle Shells unterstützen das vollständige Protokoll). Es wäre schön, wenn auch andere Programme auf dieses Protokoll reagieren würden. Zumindest AV_SENDKEY ist sicher leicht zu implementieren und ist die einzige Methode, wie über Nachrichten Tastaturdrücke simuliert werden können.

Unter normalem TOS fragt dazu ein Accessorie, wenn es eine AC_CLOSE-Nachricht vom AES erhalten hat, die Applikation (mit ID) 0 per AV_PROTOKOLL ob sie etwas davon versteht. In einer Multitasking-Umgebung (MultiTOS, MiNT/N.AES oder MagiC) muß aber das Programm nicht mehr die ID 0 haben, zudem kommt es (fast) nicht mehr zu AC_CLOSE-Nachrichten. Außerdem können nicht nur Accessories, sondern auch normale Programme mit dem AV-Server kommunizieren wollen. Was tun?

Wenn es mehr als eine Hauptapplikation geben kann, dann sollte das Programm bzw. Accessory versuchen, mit GEMINI Kontakt aufzunehmen. Die ID kann ja mit appl_find ermittelt werden. Scheitert dies, so kann noch nach AVSERVER oder dem Inhalt der (AES)-Environmentvariable AVSERVER gesucht werden. Besonders die letzte Möglichkeit erlaubt eine leichte Konfiguration von außen. Die neuen Versionen der Library VAFUNC von Stephan Gerle (in gutsortierten Mailboxen erhältlich) verfahren fast genauso.

Querverweis: Nachrichten Drag&Drop-Protokoll OLGA-Protokoll

15.1.1 AV-Protokoll, Quoting im

Mit Quoting ist im AV-Protkoll gemeint, daß Dateinamen optional mit einfachen Anführungszeichen 'name' versehen werden können. Dies ist aber nur erlaubt, wenn beide Parteien (Server und Client) sich darüber einig sind, d.h. es verstehen können.

Wie geht das also vor sich? Angenommen der Server schickt an eine Applikation einen Dateinamen, der ein Leerzeichen enthält. Eine Applikation, die Quoting nicht kann, wird statt einem zwei Dateinamen erkennen, da normalerweise Leerzeichen Dateinamen trennen. Versteht die Applikation aber Quoting (Bit 4 in seinem Protokollstatus), so wird der Server den Dateinamen mit umgeben und die Applikation erkennt, daß das Leerzeichen zum Dateinamen gehört. Gleiches gilt natürlich auch für Dateinamen, die von einer Applikation an einen Server geschickt werden.

Die Frage bleibt, wie man denn nun einfache Anführungszeichen überträgt. Nun, solche Zeichen, die zum Dateinamen gehören, werden einfach verdoppelt. Aus Zorro's Hypertext wird für die Übertragung 'Zorros Hypertext'. In diesen Fällen wird also die gleiche Methode wie beim Drag&Drop-Protokoll eingesetzt.

Querverweis:
AV_PROTOKOLL   VA_ACC_QUOTING(a)   VA_SERVER_QUOTING(a)   VA_PROTOSTATUS   Drag&Drop-Protokoll

15.1.2 AV-Funktionen

Diese Nachrichten werden von einer Applikation an Gemini bzw. einen vorhandenen AV-Server geschickt.

AV_ACCWINDCLOSED Applikation hat ein Fenster geschlossen.
AV_ACCWINDOPEN Applikation hat ein Fenster geöffnet.
AV_ASKCONFONT Ermitteln des Zeichensatzes der Console.
AV_ASKFILEFONT Ermitteln des Zeichensatzes für Dateien.
AV_ASKOBJECT Ermitteln des derzeit selektierten Objektes.
AV_COPY_DRAGGED Informieren über eine Kopier-Aktion.
AV_COPYFILE Dateien bzw. Ordner kopieren.
AV_DELFILE Dateien bzw. Ordner löschen.
AV_DRAG_ON_WINDOW Informieren über verschobene Objekte.
AV_EXIT Aus dem AV-Protokoll ausklinken.
AV_FILEINFO Datei- bzw. Ordnerinformation anzeigen.
AV_GETSTATUS Aktuellen Status ermitteln.
AV_OPENCONSOLE Öffnet das Console-Fenster.
AV_OPENWIND Öffnet ein Datei-Fenster.
AV_PATH_UPDATE Inhalt eines Verzeichnisses wurde geändert.
AV_PROTOKOLL Informieren über unterstützte Nachrichten.
AV_SENDCLICK Maus-Ereignis senden.
AV_SENDKEY Tastatur-Ereignis senden.
AV_SETWINDPOS Position für Verzeichnisfenster festlegen.
AV_STARTED Antwort auf eine VA_START-Nachricht.
AV_STARTPROG Starten einer Applikation bzw. Datei.
AV_STATUS Aktuellen Status setzen.
AV_VIEW Viewer für einen bestimmten Dateityp laden.
AV_WHAT_IZIT Information über Position auf dem Bildschirm.
AV_XWIND Öffnet ein Datei-Fenster.

Querverweis: VA-Funktionen   Nachrichten

15.1.2.1 AV_ACCWINDCLOSED

Name: »AV_ACCWINDCLOSED«
Nummer: 0x4726
Beschreibung: Eine Applikation teilt dem AV-Server mit, daß ein Fenster geschlossen wurde. Dies braucht die Applikation nur in dem Fall zu tun, wenn sie selbst das Fenster schließt.

Parameter Bedeutung
Word 3 AES-Handle des Fensters
Gruppe: AV-Funktionen
Querverweis: AV_ACCWINDOPEN   AV-Protokoll

15.1.2.2 AV_ACCWINDOPEN

Name: »AV_ACCWINDOPEN«
Nummer: 0x4724
Beschreibung: Mit dieser Nachricht kann eine Applikation dem AV-Server mitteilen, daß sie ein Fenster geöffnet hat.

Parameter Bedeutung
Word 3 AES-Handle des geöffneten Fensters
Gruppe: AV-Funktionen
Querverweis: AV_ACCWINDCLOSED   AV-Protokoll

15.1.2.3 AV_ASKCONFONT

Name: »AV_ASKCONFONT«
Nummer: 0x4714
Beschreibung: Mit dieser Nachricht fragt eine Applikation den AV-Server nach dem eingestellten Zeichensatz für das Console-Fenster.
Gruppe: AV-Funktionen
Querverweis: AV_ASKFILEFONT   VA_CONFONT   VA_FILEFONT   AV-Protokoll

15.1.2.4 AV_ASKFILEFONT

Name: »AV_ASKFILEFONT«
Nummer: 0x4712
Beschreibung: Mit dieser Nachricht fragt eine Applikation den AV-Server nach dem eingestellten Zeichensatz für Dateinamen.
Gruppe: AV-Funktionen
Querverweis: AV_ASKCONFONT   VA_CONFONT   VA_FILEFONT   AV-Protokoll

15.1.2.5 AV_ASKOBJECT

Name: »AV_ASKOBJECT«
Nummer: 0x4716
Beschreibung: Mit dieser Nachricht fragt eine Applikation den AV-Server nach dem derzeit selektierten Objekt. Es wird der Name des derzeit selektierten Objektes zurückgegeben; ist kein Objekt selektiert, so ist der String leer.

Falls mehrere Objekte selektiert sind, so sind ihre Namen durch Leerzeichen getrennt.
Gruppe: AV-Funktionen
Querverweis: VA_OBJECT   AV-Protokoll

15.1.2.6 AV_COPY_DRAGGED

Name: »AV_COPY_DRAGGED«
Nummer: 0x4728
Beschreibung: Über diese Nachricht teilt eine Applikation dem AV-Server mit, daß die Objekte, die auf sein Fenster gezogen wurden, zu kopieren sind. Dies kann z.B. nach dem Ziehen von Objekten auf das TreeView-Fenster erwünscht sein.

Parameter Bedeutung
Word 3 Status der Tastatur (Alt,Control,Shift)
Word 4+5 Zeiger auf einen String, der den Namen des Zielobjektes enthält.
  Achtung: Dies muss ein Pfad sein.


Diese Nachricht ist nur als Antwort auf die Mitteilung VA_DRAGACCWIND gedacht.
Gruppe: AV-Funktionen
Querverweis: VA_DRAGACCWIND   AV-Protokoll

15.1.2.7 AV_COPYFILE

Name: »AV_COPYFILE«
Nummer: 0x4755
Beschreibung: Dieser Befehl weist den AV-Server an, bestimmte Dateien oder Ordner zu kopieren bzw. zu verschieben.

Parameter Bedeutung
Word 3+4 Zeiger auf Quelldateien/Ordner
Word 5+6 Zeiger auf den Zielordner
Word 7 Verschiedene Flags
  Bit 0 = Originale löschen
  Bit 1 = Kopien umbenennen
  Bit 2 = Ziel einfach überschreiben
  Bit 3 = Nur symbolische Links der Quellen erzeugen
    = (Bit 0 ist dann bedeutungslos)
  Bit 4-15 = reserviert, immer 0


Mehrere Dateien müssen durch Leerzeichen voneinander getrennt, und Ordner stets mit abschließendem '\' angegeben werden.
Gruppe: AV-Funktionen
Querverweis: VA_FILECOPIED   AV-Protokoll

15.1.2.8 AV_DELFILE

Name: »AV_DELFILE«
Nummer: 0x4757
Beschreibung: Dieser Befehl weist den AV-Server an, bestimmte Dateien bzw. Ordner zu löschen.

Parameter Bedeutung
Word 3+4 Zeiger auf die zu löschenden Dateien bzw. Ordner
Word 5-7 reserviert (immer 0)


Mehrere Dateien bzw. Ordner müssen stets durch Leerzeichen getrennt, und Ordner immer mit abschließendem '\' angegeben werden.
Gruppe: AV-Funktionen
Querverweis: VA_FILEDELETED   AV-Protokoll

15.1.2.9 AV_DRAG_ON_WINDOW

Name: »AV_DRAG_ON_WINDOW«
Nummer: 0x4734
Beschreibung: Eine Applikation teilt dem AV-Server mit, daß Objekte auf eines seiner mittels AV_WHATIZIT erfragten Fenster gezogen worden sind.

Parameter Bedeutung
Word 3 x-Position, wohin die Maus gezogen wurde
Word 4 y-Position, wohin die Maus gezogen wurde
Word 5 Status der Tastatur (Alt,Control,Shift)
Word 6+7 Zeiger auf einen String, der die Namen der Objekte enthält.


Die Namen sind Namen von Dateien, Ordnern oder Laufwerken, jeweils durch ein Leerzeichen getrennt. Namen von Ordnern oder Laufwerken enden mit einem Backslash.
Gruppe: AV-Funktionen
Querverweis: VA_DRAG_COMPLETE   VA_DRAGACCWIND   AV-Protokoll

15.1.2.10 AV_EXIT

Name: »AV_EXIT«
Nummer: 0x4736
Beschreibung: Eine Applikation teilt dem AV-Server mit, daß sie nicht mehr am Protokoll teilnimmt.

Parameter Bedeutung
Word 3 AES-ID der Applikation


Das Absetzen dieser Nachricht sollte auf keinen Fall vergessen werden!
Gruppe: AV-Funktionen
Querverweis: appl_init   AV-Protokoll

15.1.2.11 AV_FILEINFO

Name: »AV_FILEINFO«
Nummer: 0x4753
Beschreibung: Mit diesem Befehl wird der AV-Server aufgefordert, einen Informations-Dialog für eine bestimmte Datei bzw. einen Ordner anzuzeigen.

Parameter Bedeutung
Word 3+4 Zeiger auf Datei bzw. Ordnernamen (ggfs. durch Leerzeichen getrennt)
Word 5-7 reserviert (immer 0)


Mehrere Ordner bzw. Dateien werden durch Leerzeichen getrennt. Ordnernamen müssen mit abschließendem '\' übergeben werden.
Gruppe: AV-Funktionen
Querverweis: VA_FILECHANGED   AV-Protokoll

15.1.2.12 AV_GETSTATUS

Name: »AV_GETSTATUS«
Nummer: 0x4703
Beschreibung: Eine Applikation erfragt beim AV-Server den aktuellen Status, den es diesem per AV_STATUS einmal gegeben hat.
Gruppe: AV-Funktionen
Querverweis: AV_STATUS   AV-Protokoll

15.1.2.13 AV_OPENCONSOLE

Name: »AV_OPENCONSOLE«
Nummer: 0x4718
Beschreibung: Eine Applikation fordert den AV-Server auf, das Console-Fenster zu öffnen. Ist dieses bereits offen, so wird es nach vorne gebracht.

Diese Aktion ist vor allem dann sinnvoll, wenn eine Applikation ein TOS-Programm mittels der system-Funktion starten möchte.

Achtung: GEM-Programme dürfen von einer Applikation auf keinen Fall per system gestartet werden. Ferner sollte diese Nachricht nur auf ausdrücklichen Wunsch des Benutzers eingesetzt werden, da sie ansonsten schnell zur Verwirrung führen kann.

Diese Nachricht steht z.Zt. nur in Gemini zur Verfügung.
Gruppe: AV-Funktionen
Querverweis: AV_OPENWIND   AV_XWIND   VA_CONSOLEOPEN   VA_XOPEN   VA_WINDOPEN   AV_STARTPROG

15.1.2.14 AV_OPENWIND

Name: »AV_OPENWIND«
Nummer: 0x4720
Beschreibung: Eine Applikation fordert den AV-Server auf, ein Datei-Fenster zu öffnen.

Parameter Bedeutung
Word 3+4 Zeiger auf den Pfad des Fensters
Word 5+6 Zeiger auf Wildcard der darzustellenden Daten


Die Nachricht sollte nur dann eingesetzt werden, wenn die Ursache für den Benutzer klar ersichtlich ist.
Gruppe: AV-Funktionen
Querverweis: AV_OPENCONSOLE   AV_XWIND   VA_CONSOLEOPEN   VA_WINDOPEN   VA_XOPEN

15.1.2.15 AV_PATH_UPDATE

Name: »AV_PATH_UPDATE«
Nummer: 0x4730
Beschreibung: Eine Applikation teilt dem AV-Server mit, daß sich der Inhalt eines Verzeichnisses geändert hat. Dieses kann dann neu eingelesen bzw. dargestellt werden.

Parameter Bedeutung
Word 3+4 Zeiger auf den absoluten Pfad


In Gemini wirkt dies auch auf die Unterverzeichnisse. Ein Update von 'C:\' sorgt also dafür, daß alles, was mit Laufwerk C:\ zu tun hat, aktualisiert wird.
Gruppe: AV-Funktionen
Querverweis: AV_OPENWIND   AV_XWIND   AV-Protokoll

15.1.2.16 AV_PROTOKOLL

Name: »AV_PROTOKOLL«
Nummer: 0x4700
Beschreibung: Mit dieser Nachricht sollte bei anderen Applikationen und dem AV-Server nachgefragt werden, ob und welche Nachrichten verstanden werden.

Parameter Bedeutung
Word 3 Bit 0 = VA_SETSTATUS
  Bit 1 = VA_START
  Bit 2 = AV_STARTED
  Bit 3 = VA_FONTCHANGED
  Bit 4 = Quoting von Dateinamen wird verstanden und benutzt
  Bit 5 = VA_PATH_UPDATE
  Bit 6-15 = reserviert, immer 0
Word 4+5 reserviert, immer 0
Word 6+7 Zeiger auf den Programm-Namen wie er
  auch bei appl_find übergeben
  werden muß (8 Zeichen lang und nullterminiert).
Gruppe: AV-Funktionen
Querverweis: AV_STARTED   VA_FONTCHANGED   VA_SETSTATUS   VA_START

15.1.2.17 AV_SENDCLICK

Name: »AV_SENDCLICK«
Nummer: 0x4709
Beschreibung: Eine Applikation schickt dem AV-Server einen Maus-Event.

Parameter Bedeutung
Word 3 ev_mmox
Word 4 ev_mmoy
Word 5 ev_mmobutton
Word 6 ev_mmokstate
Word 7 ev_mbreturn
Gruppe: AV-Funktionen
Querverweis: evnt_button   evnt_multi

15.1.2.18 AV_SENDKEY

Name: »AV_SENDKEY«
Nummer: 0x4710
Beschreibung: Eine Applikation schickt dem AV-Server einen Tastatur-Event, den sie möglicherweise selbst nicht versteht.

Parameter Bedeutung
Word 3 Status der Tastatur (ev_mmokstate)
Word 4 Scancode der Taste (ev_mkreturn)


Als inoffizielle Erweiterung ("CodeAlpha") existiert ein Konzept, mit dem auch ASCII Zeichen übertragen werden können, zu denen kein Scancode existiert. Hierzu wird als Scancode 0, als ASCII Wert der gewünschte und in msg[5] der Wert $5048 übergeben, letzteres um anzuzeigen, daß msg[4] tatsächlich gültig ist und keine Umrechnung über Scancode-Tabellen erforderlich ist.

Diese Nachricht sollte nach Möglichkeit immer unterstützt werden, da mit ihrer Hilfe u.a. ein applikationsübergreifendes Wechseln der Fenster realisiert werden kann.
Gruppe: AV-Funktionen
Querverweis: evnt_keybd   evnt_multi   Scan-Code Tabelle

15.1.2.19 AV_SETWINDPOS

Name: »AV_SETWINDPOS«
Nummer: 0x4759
Beschreibung: Mit diesem Befehl kann ein Client angeben, an welcher Position und mit welcher Größe das nächste Verzeichnisfenster vom AV-Server geöffnet werden soll.

Parameter Bedeutung
Word 3 x-Position
Word 4 y-Position
Word 5 Breite
Word 6 Höhe des Fensters
Word 7 reserviert (immer 0)


Bei den Werten in Word-3 und Word-4 handelt es sich um absolute Koordinaten. Wird durch AV_XWIND kein neues Fenster geöffnet (sondern nur ein bereits geöffnetes Fenster getoppt), so hat dieser Befehl keine Wirkung.
Gruppe: AV-Funktionen
Querverweis: AV_OPENWIND   AV_XWIND

15.1.2.20 AV_STARTED

Name: »AV_STARTED«
Nummer: 0x4738
Beschreibung: Eine Applikation teilt dem AV-Server mit, daß es die VA_START-Nachricht verstanden hat. Der Server kann daraufhin den Speicher des Strings, der an die Nachricht gehängt war, freigeben.

Parameter Bedeutung
Word 3+4 Zeiger auf eine Kommandozeile, in der Pfad oder Dateinamen stehen können, und der auch NULL sein darf.


Um zu erkennen, um welche VA_START-Nachricht es sich handelt, werden die Werte von VA_START zurückgeliefert.
Gruppe: AV-Funktionen
Querverweis: VA_START   AV-Protokoll

15.1.2.21 AV_STARTPROG

Name: »AV_STARTPROG«
Nummer: 0x4722
Beschreibung: Eine Applikation fordert den AV-Server auf, ein Programm zu starten.

Parameter Bedeutung
Word 3+4 Zeiger auf den Programmnamen mit komplettem Pfad
Word 5+6 Zeiger auf eine Kommandozeile (kann NULL sein)
Word 7 beliebiges 16-Bit Wort, welches in VA_PROGSTART wieder zurückgeliefert wird.


In Gemini werden auch die angemeldeten Applikationen mit berücksichtigt. Dadurch ist es möglich eine Datei anzugeben, für die dann ein Programm gesucht wird.
Gruppe: AV-Funktionen
Querverweis: VA_PROGSTART   AV-Protokoll

15.1.2.22 AV_STATUS

Name: »AV_STATUS«
Nummer: 0x4704
Beschreibung: Eine Applikation teilt dem AV-Server seinen Status mit, der von diesem gespeichert und später per AV_GETSTATUS wieder abgefragt werden kann.

Parameter Bedeutung
Word 3+4 Zeiger auf einen String der keine Steuerzeichen
  enthalten, und nicht länger als 256 Zeichen
  sein darf. Der Zeiger darf auch NULL sein.


Die Applikation muss sich vorher beim Server per AV_PROTOKOLL angemeldet haben.
Gruppe: AV-Funktionen
Querverweis: AV_GETSTATUS   AV_PROTOKOLL   AV-Protokoll

15.1.2.23 AV_VIEW

Name: »AV_VIEW«
Nummer: 0x4751
Beschreibung: Mit diesem Befehl wird der AV-Server angewiesen, den Viewer für eine bestimmte Datei aufzurufen.

Parameter Bedeutung
Word 3+4 Zeiger auf den Namen der anzuzeigenden Datei.
Word 5 0 = Startet den Viewer
  1 = Startet den Editor (!nl)
Word 6-7 reserviert (immer 0)


Es darf nur eine einzelne Datei angegeben werden; ist kein entsprechender Viewer vorhanden, so erhält der Benutzer eine Fehlermeldung.
Gruppe: AV-Funktionen
Querverweis: VA_VIEWED   AV-Protokoll

15.1.2.24 AV_WHAT_IZIT

Name: »AV_WHAT_IZIT«
Nummer: 0x4732
Beschreibung: Eine Applikation fragt beim AV-Server nach, was sich an einer bestimmten Position auf dem Bildschirm befindet.

Parameter Bedeutung
Word 3 x-Koordinate
Word 4 y-Koordinate


Die Koordinaten sind normale Pixelkoordinaten mit Ursprung in der linken oberen Bildschirmecke.
Gruppe: AV-Funktionen
Querverweis: VA_THAT_IZIT   AV-Protokoll

15.1.2.25 AV_XWIND

Name: »AV_XWIND«
Nummer: 0x4740
Beschreibung: Eine Applikation fordert den AV-Server auf, ein Datei-Fenster zu öffnen. Es gilt:

Parameter Bedeutung
Word 3+4 Zeiger auf den Pfad für das Fenster
Word 5+6 Zeiger auf Wildcard als Filter für die Anzeige
Word 7 Bitmaske
  0x0001 = Fenster evtl. toppen
  0x0002 = Wildcard soll nur selektieren
  0x0004 = Vorhandenes Fenster soll
           weiterverwendet werden.
  Alle anderen Bits müssen auf Null gesetzt werden.


Diese Nachricht sollte nur dann eingesetzt werden, wenn die Ursache für den Benutzer klar ersichtlich ist.
Gruppe: AV-Funktionen
Querverweis: AV_OPENCONSOLE   AV_OPENWIND   VA_CONSOLEOPEN   VA_WINDOPEN   VA_XOPEN   AV-Protokoll

15.1.3 VA-Funktionen

Diese Nachrichten werden von einem vorhandenen AV-Server an eine Applikation geschickt.

VA_ACC_QUOTING(a) Protokoll-Status auf Quoting testen.
VA_CONFONT Zeichensatz der Console übermitteln.
VA_CONSOLEOPEN Ermitteln, ob Console-Fenster geöffnet ist.
VA_COPY_COMPLETE Antwort auf AV_COPY.
VA_DRAGACCWIND Objekte wurden auf Appl.-Fenster gezogen.
VA_DRAG_COMPLETE AV_DRAG_ON_WINDOW-Aktion ist beendet.
VA_FILECHANGED Antwort auf AV_FILEINFO.
VA_FILECOPIED Antwort auf AV_COPYFILE.
VA_FILEDELETED Antwort auf AV_DELFILE.
VA_FILEFONT Zeichensatz für Dateien übermitteln.
VA_FONTCHANGED Ein eingestellter Zeichensatz wurde verändert.
VA_OBJECT Liefert die Namen der selektierten Objekte.
VA_PATH_UPDATE Inhalt eines Verzeichnisses wurde geändert.
VA_PROGSTART Information, ob Programm gestartet werden konnte.
VA_PROTOSTATUS Antwort auf AV_PROTOKOLL.
VA_SERVER_QUOTING(a) Protokoll-Status auf Quoting testen.
VA_SETSTATUS Status einer Applikation übermitteln.
VA_START Eine Applikation wurde aktiviert.
VA_THAT_IZIT Informiert über Objekt an Bildschirmposition.
VA_VIEWED Antwort auf AV_VIEW.
VA_WINDOPEN Gibt an, ob das Console-Fenster geöffnet ist.
VA_XOPEN Gibt an, ob ein Fenster geöffnet werden konnte.

Querverweis: AV-Funktionen   Nachrichten

15.1.3.1 VA_ACC_QUOTING(a)

Dies ist ein Test des Protokollstatus auf Quoting. In C läßt sich der Test als Makro wie folgt realisieren:

#define VA_ACC_QUOTING(a)   ((a) & 0x10)

15.1.3.2 VA_CONFONT

Name: »VA_CONFONT«
Nummer: 0x4715
Beschreibung: Liefert den derzeit eingestellten Zeichensatz für das Console-Fenster. Es gilt:

Parameter Bedeutung
Word 3 Zeichensatznummer (ID)
Word 4 Zeichensatzgröße (Points)
Gruppe: VA-Funktionen
Querverweis: AV_ASKCONFONT   AV_ASKFILEFONT   VA_FILEFONT

15.1.3.3 VA_CONSOLEOPEN

Name: »VA_CONSOLEOPEN«
Nummer: 0x4719
Beschreibung: Gibt zurück, ob das Console-Fenster nach vorne gebracht worden ist.

Parameter Bedeutung
Word 3  0  = nein
  <>0 = ja
Gruppe: VA-Funktionen
Querverweis: AV_OPENCONSOLE   AV-Protokoll

15.1.3.4 VA_COPY_COMPLETE

Name: »VA_COPY_COMPLETE«
Nummer: 0x4729
Beschreibung: Diese Nachricht ist eine direkte Antwort auf AV_COPY_DRAGGED.

Parameter Bedeutung
Word 3 Status des Kopierens


Ein Wert <> 0 gibt an, daß wirklich etwas kopiert oder verschoben worden ist. Dies kann die Applikation evtl. zum Neuaufbau eines Fensters nutzen.
Gruppe: VA-Funktionen
Querverweis: AV_COPY_DRAGGED   AV-Protokoll

15.1.3.5 VA_DRAGACCWIND

Name: »VA_DRAGACCWIND«
Nummer: 0x4725
Beschreibung: Der AV-Server teilt einer Applikation mit, daß Objekte auf eines seiner mittels AV_ACCWINDOPEN angemeldeten Fenster gezogen worden sind.

Parameter Bedeutung
Word 3 AES-Handle des Fensters
Word 4 x-Position der Maus
Word 5 y-Position der Maus
Word 6+7 Zeiger auf einen String, der die Namen der Objekte enthält.
Gruppe: VA-Funktionen
Querverweis: AV_ACCWINDOPEN   AV_ACCWINDCLOSED   AV_DRAG_ON_WINDOW

15.1.3.6 VA_DRAG_COMPLETE

Name: »VA_DRAG_COMPLETE«
Nummer: 0x4735
Beschreibung: Der AV-Server teilt einer Applikation mit, daß die Aktion die per AV_DRAG_ON_WINDOW ausgelöst wurde, beendet ist.
Parameter Bedeutung
Word 3 Status der Aktion

Ein Wert <> 0 bedeutet, daß wirklich etwas kopiert oder verschoben wurde. Dies kann die Applikation evtl. zum Neuaufbau eines Fensters nutzen.


Der zurückgelieferte Wert entspricht dem, der auch bei AV_COPY_COMPLETE zurück gegeben wird.
Gruppe: VA-Funktionen
Querverweis: AV_DRAG_ON_WINDOW   VA_DRAGACCWIND   AV-Protokoll

15.1.3.7 VA_FILECHANGED

Name: »VA_FILECHANGED«
Nummer: 0x4754
Beschreibung: Diese Nachricht wird vom AV-Server als Antwort auf eine AV_FILEINFO-Message an den Client geschickt.
Parameter Bedeutung
Word 3+4 Zeiger auf die Namen der Dateien bzw. Ordner die bei AV_FILEINFO übergeben wurden.
Word 5-7 reserviert (immer 0)


Beachtet werden sollte, daß der Benutzer die Dateinamen im Dialog verändert haben könnte, und deshalb ggfs. der über die Wörter 3+4 erreichbare String nicht mehr mit dem von AV_FILEINFO übereinstimmt.
Gruppe: VA-Funktionen
Querverweis: AV_FILEINFO   AV-Protokoll

15.1.3.8 VA_FILECOPIED

Name: »VA_FILECOPIED«
Nummer: 0x4756
Beschreibung: Diese Nachricht wird vom AV-Server als Antwort auf eine AV_COPYFILE-Message an den Client geschickt.

Parameter Bedeutung
Word 3 0 = Fehler
  1 = alles ok
Word 4-7 reserviert (immer 0)
Gruppe: VA-Funktionen
Querverweis: AV_COPYFILE   AV-Protokoll

15.1.3.9 VA_FILEDELETED

Name: »VA_FILEDELETED«
Nummer: 0x4758
Beschreibung: Diese Nachricht wird vom AV-Server als Antwort auf eine AV_DELFILE-Message an den Client geschickt.

Parameter Bedeutung
Word 3 0 = Fehler
  1 = alles ok
Word 4-7 reserviert (immer 0)
Gruppe: VA-Funktionen
Querverweis: AV_DELFILE   AV-Protokoll

15.1.3.10 VA_FILEFONT

Name: »VA_FILEFONT«
Nummer: 0x4713
Beschreibung: Liefert den derzeit eingestellten Zeichensatz für ein Dateifenster zurück.

Parameter Bedeutung
Word 3 Zeichensatznummer (ID)
Word 4 Zeichensatzgröße (Points)
Gruppe: VA-Funktionen
Querverweis: AV_ASKCONFONT   AV_ASKFILEFONT   VA_CONFONT

15.1.3.11 VA_FONTCHANGED

Name: »VA_FONTCHANGED«
Nummer: 0x4739
Beschreibung: Der AV-Server informiert eine Applikation darüber, daß sich einer der eingestellten Zeichensätze verändert hat.

Parameter Bedeutung
Word 3 Zeichensatz für Dateifenster (ID)
Word 4 Größe des Zeichensatzes (Points)
Word 5 Zeichensatz für Console-Fenster (ID)
Word 6 Größe des Zeichensatzes (Points)


Die Nachricht wird an alle Applikationen geschickt, die vorher schon einmal einen Zeichensatz beim AV-Server erfragt haben.
Gruppe: VA-Funktionen
Querverweis: AV_ASKCONFONT   AV_ASKFILEFONT   VA_FILEFONT

15.1.3.12 VA_OBJECT

Name: »VA_OBJECT«
Nummer: 0x4717
Beschreibung: Liefert die Namen der derzeit selektierten Objekte.

Parameter Bedeutung
Word 3+4 Zeiger auf eine Kommandozeile mit den Namen der selektierten Objekte.
Gruppe: VA-Funktionen
Querverweis: AV_ASKOBJECT   AV-Protokoll

15.1.3.13 VA_PATH_UPDATE

Name: »VA_PATH_UPDATE«
Nummer: 0x4760
Beschreibung: Mit dieser Nachricht teilt der AV-Server einem Client mit, daß sich der Inhalt eines Verzeichnisses geändert hat.

Parameter Bedeutung
Word 3+4 Zeiger auf das Verzeichnis
Word 5-7 reserviert (immer 0)


Das angegebene Verzeichnis ist stets mit dem Zeichen '\' abgeschlossen. Der Client muss zunächst per AV_PROTOKOLL anzeigen, daß er diese Nachricht versteht, und beim Eintreffen derselben dann alle betroffenen Unterverzeichnisse neu einlesen bzw. schließen.
Gruppe: VA-Funktionen
Querverweis: AV_PROTOKOLL   AV-Protokoll

15.1.3.14 VA_PROGSTART

Name: »VA_PROGSTART«
Nummer: 0x4723
Beschreibung: Der AV-Server informiert eine Applikation, ob ein angegebenes Programm gestartet wurde.

Parameter Bedeutung
Word 3  0  = nicht gestartet
  <>0 = gestartet
Word 4 Returncode des Programms
Word 7 16-Bit Wort aus AV_STARTPROG


Im allgemeinen wird die Applikation im Fehlerfall sofort eine Nachricht bekommen; falls das Programm aber gestartet wird, erhält die Applikation diese Nachricht erst nach dem Start des Programms, da die Routine, welche den Pexec ausführt, nicht mehr wissen kann, das eine Applikation noch schnell eine Nachricht bekommen muss. Bei einem GEM-Programm kann man den Erfolg auch an dem AC_CLOSE erkennen.

Die Fehlererkennung ist leider nicht optimal; ferner weist der Rückgabewert nicht aus, ob das Programm fehlerfrei gelaufen ist.
Gruppe: VA-Funktionen
Querverweis: AV_STARTPROG   VA_START   AV-Protokoll

15.1.3.15 VA_PROTOSTATUS

Name: »VA_PROTOSTATUS«
Nummer: 0x4701
Beschreibung: Dem Sender von AV_PROTOKOLL wird mitgeteilt, daß der Empfänger etwas von diesem Protokoll weiß. Die Worte 3-7 des Nachrichtenpuffers enthalten die Information, welche Nachrichten verstanden werden.

Parameter Bedeutung
WORD 3 Bit 0 = AV_SENDKEY
  Bit 1  = AV_ASKFILEFONT
  Bit 2  = AV_ASKCONFONT, AV_OPENCONSOLE
  Bit 3  = AV_ASKOBJECT
  Bit 4  = AV_OPENWIND
  Bit 5  = AV_STARTPROG
  Bit 6  = AV_ACCWINDOPEN, AV_ACCWINDCLOSED
  Bit 7  = AV_STATUS, AV_GETSTATUS
  Bit 8  = AV_COPY_DRAGGED
  Bit 9  = AV_PATH_UPDATE, AV_WHAT_IZIT, AV_DRAG_ON_WINDOW
  Bit 10 = AV_EXIT
  Bit 11 = AV_XWIND
  Bit 12 = VA_FONTCHANGED
  Bit 13 = AV_STARTED
  Bit 14 = Quoting von Dateinamen wird
           verstanden und benutzt.
  Bit 15 = AV_FILEINFO
WORD 4 Bit 0 = AV_COPYFILE
  Bit 1 = AV_DELFILE
  Bit 2 = AV_VIEW
  Bit 3 = AV_SETWINDPOS
  Bit 4 = erlaubt Anlegen symbolischer Links
      mit AV_COPYFILE
  Bit 5 = AV_SENDCLICK
Word 5 reserviert
Word 6+7 Zeiger auf den Programmnamen, wie er auch bei appl_find übergeben werden muss.


Gesetzte Bits signalisieren, daß eine Nachricht bzw. eine Nachrichtengruppe verstanden wird. Alle nicht belegten Bits (insbesondere in den Worten 4 und 5) sind für zukünftige Zwecke reserviert, und sollten daher mit Null vorbesetzt werden.
Gruppe: VA-Funktionen
Querverweis: AV_PROTOKOLL   AV-Protokoll

15.1.3.16 VA_SERVER_QUOTING(a)

Dies ist ein Test des Protokollstatus auf Quoting. In C läßt sich der Test als Makro wie folgt realisieren:

#define VA_SERVER_QUOTING(a)  ((a) & 0x40)

15.1.3.17 VA_SETSTATUS

Name: »VA_SETSTATUS«
Nummer: 0x4705
Beschreibung: Der AV-Server teilt einer Applikation den abgespeicherten Status bei Nachfrage durch AV_GETSTATUS mit.

Parameter Bedeutung
Word 3+4 Zeiger auf einen String, der keine Steuerzeichen
  enthält. Ein NULL-Wert gibt an, daß kein Status
  gespeichert war.


Der gelieferte Status kann anschließend von der Applikation gesetzt werden.
Gruppe: VA-Funktionen
Querverweis: AV_GETSTATUS   AV-Protokoll

15.1.3.18 VA_START

Name: »VA_START«
Nummer: 0x4711
Beschreibung: Diese Nachricht wird vom AV-Server zum Start einer Applikation benötigt. Es gilt:

Parameter Bedeutung
Word 3+4 Zeiger auf eine Kommandozeile, in welcher
  Pfade oder Dateinamen stehen, oder NULL.
Gruppe: VA-Funktionen
Querverweis: AV_STARTPROG   AV_STARTED   VA_PROGSTART

15.1.3.19 VA_THAT_IZIT

Name: »VA_THAT_IZIT«
Nummer: 0x4733
Beschreibung: Der AV-Server teilt einer Applikation auf Nachfrage mit, was sich an einer bestimmten Position auf dem Bildschirm befindet.

Parameter Bedeutung
Word 3 ID der zuständigen Applikation
Word 4 Typ des Objektes
  VA_OB_UNKNOWN   (0) = unbekannt
  VA_OB_TRASHCAN  (1) = Papierkorb
  VA_OB_SHREDDER  (2) = Reißwolf
  VA_OB_CLIPBOARD (3) = Klemmbrett
  VA_OB_FILE      (4) = Datei
  VA_OB_FOLDER    (5) = Ordner
  VA_OB_DRIVE     (6) = Laufwerkssymbol
  VA_OB_WINDOW    (7) = Fenster
  VA_OB_NOTEPAD   (8) = Notizblock
  VA_OB_NOTE      (9) =  
Word 5+6 Zeiger auf den Namen des Objektes, oder NULL.


Alle anderen Werte sind für zukünftige Zwecke reserviert.
Gruppe: VA-Funktionen
Querverweis: AV_WHAT_IZIT   AV-Protokoll

15.1.3.20 VA_VIEWED

Name: »VA_VIEWED«
Nummer: 0x4752
Beschreibung: Diese Nachricht wird vom AV-Server als Antwort auf eine AV_VIEW-Message an den Client verschickt.

Parameter Bedeutung
Word 3 0 = Fehler
  1 = alles ok
Word 4-7 reserviert (immer 0)


Mit Hilfe dieser Nachricht teilt der Server dem Client mit, ob die gewünschte Datei angezeigt wird, oder nicht. Die Antwort wird sofort und immer verschickt, falls ein Fehler aufgetreten ist; anderenfalls erhält man die Antwort in einer Multitasking-Umgebung sobald der Viewer aktiv ist (oder unter Single-TOS nach Beendigung des Viewers) falls der Server nicht vorher beendet wurde (z.B. durch Auslagerung vor dem Start des Viewers).
Gruppe: VA-Funktionen
Querverweis: AV_VIEW   AV-Protokoll

15.1.3.21 VA_WINDOPEN

Name: »VA_WINDOPEN«
Nummer: 0x4721
Beschreibung: Der AV-Server informiert eine Applikation darüber, ob das Console-Fenster geöffnet werden konnte.
Gruppe: VA-Funktionen
Querverweis: AV_OPENCONSOLE   VA_CONSOLEOPEN   AV-Protokoll

15.1.3.22 VA_XOPEN

Name: »VA_XOPEN«
Nummer: 0x4741
Beschreibung: Der AV-Server informiert eine Applikation darüber, ob ein angegebenes Fenster geöffnet werden konnte.

Parameter Bedeutung
Word 3  0  = nein
  <>0 = ja
Gruppe: VA-Funktionen
Querverweis: AV_OPENWIND   AV_XWIND   VA_WINDOPEN

HomeProtokolleProtokolleBubbleGEM