home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser 1998 October / STC_CD_10_1998.iso / BASE / AVPROTO / AV.TXT < prev    next >
Encoding:
Text File  |  1998-09-26  |  19.3 KB  |  805 lines

  1.  
  2. Hinweis:
  3. Dieser Text wurde automatisch aus dem beiliegenden Hypertext
  4. generiert; letztgenannte Form ist daher vorzuziehen, weil einige
  5. Passagen vom Vorhandensein von Verweisen deutlich profitieren.
  6.  
  7. Das AV Protokoll
  8. ----------------
  9.  
  10. Bei diesem Protokoll handelt es sich um eine komfortable und weit
  11. verbreitete Möglichkeit, Information zwischen Programmen auszutauschen.
  12. Das AV Protokoll basiert auf einem Server, welcher die Koordination und
  13. die meiste Arbeit übernimmt, sowie beliebig vielen Klienten, die sich alle
  14. beim Server anmelden müssen, um am Protokoll teilnehmen zu können.
  15.  
  16. Die einzigen mir bekannten vollständigen Server sind Jinnee, Thing und
  17. Gemini, daneben gibt es noch einige Applikationen, die ebenfalls die Rolle
  18. des Servers übernehmen können, das AV Protokoll jedoch nicht vollständig
  19. implementiert haben, wie z.B. Ease, AVServer, MagiCDesk oder CAT.
  20.  
  21.  
  22.  
  23.  
  24. AV_PROTOKOLL
  25. ------------
  26.  
  27. Der Sender fragt beim Empfänger nach, welche Nachrichten verstanden
  28. werden. Falls der Empfänger nicht antwortet, so ist davon auszugehen,
  29. das er mit diesem Protokoll nichts anfangen kann.
  30. Unter SingleTOS scheint es sinnvoll, diese Nachricht bei jedem AC_CLOSE
  31. an die Applikation #0 zu verschicken, unter MTasking-Systemen ist diese
  32. Nachricht an die Applikation, deren Name in der Environment Variablen
  33. AVSERVER zu finden ist, zu verschicken.
  34.  
  35.  msg[3]   = Bitfeld
  36.                 Bit 0:  VA_SETSTATUS
  37.                 Bit 1:  VA_START
  38.                 Bit 2:  AV_STARTED
  39.                 Bit 3:  VA_FONTCHANGED
  40.                 Bit 4:  Quoting
  41.                 Bit 5:  VA_PATH_UPDATE
  42.             Alle anderen Bits sind für Erweiterungen reserviert und
  43.             sollten daher mit 0 vorbesetzt werden.
  44.  msg[4]   = 0 (reserviert)
  45.  msg[5]   = 0 (reserviert)
  46.  msg[6/7] = Pointer auf den Accessorynamen, wie er bei appl_find benutzt
  47.             werden mu₧; also 8 Zeichen lang und nullterminiert. Wer auf
  48.             der sicheren Seite sein will, trägt den Namen komplett in Gro₧-
  49.             buchstaben ein.
  50.  
  51. Der Empfänger antwortet mit VA_PROTOSTATUS
  52.  
  53. #define AV_PROTOKOLL 0x4700
  54.  
  55.  
  56.  
  57.  
  58. VA_PROTOSTATUS
  59. --------------
  60.  
  61. Dem Sender von AV_PROTOKOLL wird mitgeteilt, da₧ der Empfänger etwas von
  62. diesem Protokoll wei₧,  und welche Nachrichten verstanden werden.
  63.  
  64.  msg[3]   = Bitfeld
  65.                 Bit 0   AV_SENDKEY
  66.                 Bit 1   AV_ASKFILEFONT
  67.                 Bit 2   AV_ASKCONFONT, AV_OPENCONSOLE
  68.                 Bit 3   AV_ASKOBJECT
  69.                 Bit 4   AV_OPENWIND
  70.                 Bit 5   AV_STARTPROG
  71.                 Bit 6   AV_ACCWINDOPEN, AV_ACCWINDCLOSED
  72.                 Bit 7   AV_STATUS, AV_GETSTATUS
  73.                 Bit 8   AV_COPY_DRAGGED
  74.                 Bit 9   AV_PATH_UPDATE, AV_WHAT_IZIT, AV_DRAG_ON_WINDOW
  75.                 Bit 10  AV_EXIT
  76.                 Bit 11  AV_XWIND
  77.                 Bit 12  VA_FONTCHANGED
  78.                 Bit 13  AV_STARTED
  79.                 Bit 14: Versteht und benutzt Quoting von Dateinamen
  80.                 Bit 15: AV_FILEINFO, VA_FILECHANGED
  81.  msg[4]:        Bit 0:  AV_COPYFILE, VA_FILECOPIED
  82.                 Bit 1:  AV_DELFILE, VA_FILEDELETED
  83.                 Bit 2:  AV_VIEW, VA_VIEWED
  84.                 Bit 3:  AV_SETWINDPOS
  85.                 Bit 4:  erlaubt Anlegen symbolischer Links mit AV_COPYFILE
  86.  msg[5]   = 0 (reserviert)
  87.  msg[6/7] = Pointer auf den Programmnamen, wie er bei appl_find benutzt
  88.             werden mu₧; also 8 Zeichen lang und nullterminiert. Wer auf der
  89.             sicheren Seite sein will, trägt den Namen komplett in Gro₧buch-
  90.             staben ein.
  91.  
  92. #define VA_PROTOSTATUS 0x4701
  93.  
  94.  
  95.  
  96.  
  97. AV_GETSTATUS
  98. ------------
  99.  
  100. Der Sender fragt den Empfänger nach dem zuvor per AV_STATUS gesetzten
  101. String, dabei mu₧ der Sender sich vorher mittels AV_PROTOKOLL angemeldet
  102. haben.
  103.  
  104. Der Empfänger antwortet mit VA_SETSTATUS
  105.  
  106. #define AV_GETSTATUS 0x4703
  107.  
  108.  
  109.  
  110.  
  111. AV_STATUS
  112. ---------
  113.  
  114. Der Sender hinterlä₧t einen beliebigen String beim Empfänger, den dieser
  115. in seiner INF-Datei speichert und auf Anfrage (AV_GETSTATUS) dem Sender
  116. mit VA_SETSTAUTS wieder zu Verfügung stellen kann.
  117. Der Sender mu₧ sich dabei vorher mit AV_PROTOKOLL angemeldet haben.
  118.  
  119.  msg[3/4] = Pointer auf einen String, der keine Steuerzeichen enthalten
  120.             darf und nicht länger als 256 Zeichen sein darf. Dieser
  121.             Pointer darf allerdings NULL sein.
  122.  
  123. #define AV_STATUS 0x4704
  124.  
  125.  
  126.  
  127.  
  128. VA_SETSTATUS
  129. ------------
  130.  
  131. Der Sender antwortet auf AV_GETSTATUS, indem er den mittels AV_STATUS
  132. hinterlegten String an den Emfänger verschickt.
  133.  
  134.  msg[3/4] = Pointer auf einen String, der keine Steuerzeichen enthält.
  135.             Dieser Pointer kann allerdings NULL sein, dann war
  136.             kein Status gespeichert.
  137.  
  138. #define VA_SETSTATUS 0x4705
  139.  
  140.  
  141.  
  142.  
  143. AV_SENDKEY
  144. ----------
  145.  
  146. Der Sender gibt mangels Bedarf einen Tastendruck an den Empfänger weiter,
  147. damit dieser ihn evtl. verarbeiten kann.
  148.  
  149.  msg[3] = Tastaturstatus (ev_mmokstate, also SHIFT, CTRL, ALT...)
  150.  msg[4] = ASCII/Scancode der gedrückten Taste (ev_mkreturn)
  151.  
  152. Diese Werte entsprechen exakt dem, was durch evnt_multi() zurückgegeben
  153. wird.
  154.  
  155. Als inoffizielle Erweiterung ("Code-Alpha") existiert ein Konzept, mit dem
  156. auch ASCII Zeichen übertragen werden können, zu denen kein Scancode
  157. existiert. Hierzu wird als Scancode 0, als ASCII Wert der gewünschte und
  158. in msg[5] der Wert $5048 übergeben, letzteres um anzuzeigen, da₧ msg[4]
  159. tatsächlich gültig ist und keine Umrechnung über Scancode-Tabellen
  160. erforderlich ist.
  161.  
  162. #define AV_SENDKEY 0x4710
  163.  
  164.  
  165.  
  166.  
  167. VA_START
  168. --------
  169.  
  170. Der Sender aktiviert den Empfänger, wobei eine Kommandozeile übergeben
  171. werden kann.
  172.  
  173.  msg[3/4] = Pointer auf eine Kommandozeile, der auch NULL sein kann.
  174.             In der Kommandozeile stehen Pfade oder Dateinamen.
  175.  
  176. Der Empfänger antwortet mit AV_STARTED.
  177.  
  178. #define VA_START 0x4711
  179.  
  180.  
  181.  
  182.  
  183. AV_ASKFILEFONT
  184. --------------
  185.  
  186. Der Sender fragt nach dem beim Empfänger für die Darstellung von Datei-
  187. namen eingestellten Font.
  188.  
  189. Der Empfänger antwortet mit VA_FILEFONT.
  190.  
  191. #define AV_ASKFILEFONT 0x4712
  192.  
  193.  
  194.  
  195.  
  196. VA_FILEFONT
  197. -----------
  198.  
  199. Die Antwort auf AV_ASKFILEFONT:
  200.  
  201.  msg[3] = Dateifontnummer (font id)
  202.  msg[4] = Dateifontgrö₧e (in points)
  203.  
  204. #define VA_FILEFONT 0x4713
  205.  
  206.  
  207.  
  208.  
  209. AV_ASKCONFONT
  210. -------------
  211.  
  212. Der Sender fragt nach dem beim Empfänger für die Console eingestellten
  213. Font.
  214.  
  215. Der Empfänger antwortet mit VA_CONFONT.
  216.  
  217. #define AV_ASKCONFONT 0x4714
  218.  
  219.  
  220.  
  221.  
  222. VA_CONFONT
  223. ----------
  224.  
  225. Die Antwort auf AV_ASKCONFONT:
  226.  
  227.  msg[3] = Consolefontnummer (font id)
  228.  msg[4] = Consolefontgrö₧e (in points)
  229.  
  230. #define VA_CONFONT 0x4715
  231.  
  232.  
  233.  
  234.  
  235. AV_ASKOBJECT
  236. ------------
  237.  
  238. Der Sender fragt den Empfänger nach den derzeit selektierten Objekten.
  239.  
  240. Der Empfänger antwortet mit VA_OBJECT.
  241.  
  242. #define AV_ASKOBJECT 0x4716
  243.  
  244.  
  245.  
  246.  
  247. VA_OBJECT
  248. ---------
  249.  
  250. Die Antwort auf AV_ASKOBJECT:
  251.  
  252.  msg[3/4] = Namen aller selektierten Dateien, durch Leerzeichen von-
  253.             einander getrennt. Falls keine Objekte selektiert sind, so
  254.             kann dieser Pointer NULL sein.
  255.  
  256. Der Empfänger antwortet mit AV_STARTED.
  257.  
  258. #define VA_OBJECT 0x4717
  259.  
  260.  
  261.  
  262.  
  263. AV_OPENCONSOLE
  264. --------------
  265.  
  266. Der Empfänger soll sein Consolefenster öffnen bzw. nach vorne bringen.
  267.  
  268. Der Empfänger antwortet mit VA_CONSOLEOPEN.
  269.  
  270. #define AV_OPENCONSOLE  0x4718
  271.  
  272.  
  273.  
  274.  
  275. VA_CONSOLEOPEN
  276. --------------
  277.  
  278. Die Antwort auf AV_OPENCONSOLE:
  279.  
  280.  msg[3] = 0            -> Console wurde nicht geöffnet
  281.           anderer Wert -> Console ist jetzt offen und liegt vorne
  282.  
  283. #define VA_CONSOLEOPEN 0x4719
  284.  
  285.  
  286.  
  287.  
  288. AV_OPENWIND
  289. -----------
  290.  
  291. Der Empfänger soll ein Datei-Fenster öffnen.
  292.  
  293.  msg[3/4] = Pfad für das Fenster
  294.  msg[5/6] = Wildcard für darzustellende Dateien.
  295.  
  296. Der Empfänger antwortet mit VA_WINDOPEN.
  297.  
  298. #define AV_OPENWIND 0x4720
  299.  
  300.  
  301.  
  302.  
  303. VA_WINDOPEN
  304. -----------
  305.  
  306. Die Antwort auf AV_OPENWIND:
  307.  
  308.  msg[3] = 0            -> Fenster konnte nicht geöffnet werden
  309.           anderer Wert -> Fenster ist jetzt offen und liegt vorne
  310.  
  311. #define VA_WINDOPEN 0x4721
  312.  
  313.  
  314.  
  315.  
  316. AV_STARTPROG
  317. ------------
  318.  
  319. Der Empfänger soll ein Programm starten.
  320.  
  321.  msg[3/4] = Programmname mit kompletten Pfad; kann auch eine beliebige
  322.             Datei sein, für die der Empfänger dann die zugehörige
  323.             Applikation startet
  324.  msg[5/6] = Kommandozeile (kann NULL sein)
  325.  msg[7]   = Beliebiges 16-Bit Wort, das in VA_PROGSTART wieder
  326.             zurückgeliefert wird.
  327.  
  328. Der Empfänger antwortet mit VA_PROGSTART.
  329.  
  330. #define AV_STARTPROG 0x4722
  331.  
  332.  
  333.  
  334.  
  335. VA_PROGSTART
  336. ------------
  337.  
  338. Die Antwort auf AV_STARTPROG:
  339.  
  340.  msg[3] = 0            -> Programm wure nicht gestartet
  341.           anderer Wert -> Programm wurde gestartet
  342.  
  343.  msg[4] = Returncode des gestarteten Programms (so vorhanden)
  344.  msg[7] = 16-Bit Wort aus AV_STARTPROG
  345.  
  346. #define VA_PROGSTART 0x4723
  347.  
  348.  
  349.  
  350.  
  351. AV_ACCWINDOPEN
  352. --------------
  353.  
  354. Der Sender teilt dem Empfänger mit, das ein neues Fenster geöffnet wurde,
  355. um z.B. Drag&Drop Operationen oder Windowcycling Applikationsübergreifend
  356. zu ermöglichen.
  357.  
  358.  msg[3] = AES-Handle des geöffneten Fensters
  359.  
  360. #define AV_ACCWINDOPEN 0x4724
  361.  
  362.  
  363.  
  364.  
  365. VA_DRAGACCWIND
  366. --------------
  367.  
  368. Der Sender teilt dem Empfänger mit, da₧ Objekte auf eines seiner mittels
  369. AV_ACCWINDOPEN angemeldeten Fenster gezogen worden sind.
  370.  
  371.  msg[3]   = AES-Handle des Fensters
  372.  msg[4]   = X-Position der Maus
  373.  msg[5]   = Y-Position der Maus
  374.  msg[6/7] = Pointer auf einen String, der die Namen der Objekte enthält.
  375.  
  376. Mögliche Antwort: AV_COPY_DRAGGED
  377.  
  378. #define VA_DRAGACCWIND 0x4725
  379.  
  380.  
  381.  
  382.  
  383. AV_ACCWINDCLOSED
  384. ----------------
  385.  
  386. Der Sender teilt dem Empfänger mit, da₧ eines der mit AV_ACCWINDOPEN
  387. angemeldeten Fenster wieder geschlossen wurde. Falls das betreffene
  388. Fenster im Zusammenhang mit AC_CLOSE geschlossen wurde, so kann das
  389. Abmelden entfallen.
  390.  
  391.  msg[3] = AES-Handle des Fensters
  392.  
  393. #define AV_ACCWINDCLOSED 0x4726
  394.  
  395.  
  396.  
  397.  
  398. AV_COPY_DRAGGED
  399. ---------------
  400.  
  401. Eine Antwort auf VA_DRAGACCWIND:
  402.  
  403. Der Sender teilt dem Empfänger mit, da₧ er die Dateien kopieren soll,
  404. die er mittels VA_DRAGACCWIND zuvor gemeldet hat.
  405.  
  406.  msg[3]   = Tastaturstatus (Alternate, Control, Shift)
  407.  msg[4/5] = Pointer auf einen String, der den Namen des Zielobjektes
  408.             enthält. Dies mu₧ ein Pfad sein!
  409.  
  410. Der Empfänger antwortet mit VA_COPY_COMPLETE.
  411.  
  412. #define AV_COPY_DRAGGED 0x4728
  413.  
  414.  
  415.  
  416.  
  417. VA_COPY_COMPLETE
  418. ----------------
  419.  
  420. Die Antwort auf AV_COPY_DRAGGED:
  421.  
  422.  msg[3] = Wenn hier ein Wert ungleich Null steht, dann wurde
  423.           wirklich etwas kopiert oder verschoben.
  424.  
  425. #define VA_COPY_COMPLETE 0x4729
  426.  
  427.  
  428.  
  429.  
  430. AV_PATH_UPDATE
  431. --------------
  432.  
  433. Der Sender teilt dem Empfänger mit, da₧ sich der Inhalt eines Ver-
  434. zeichnisses geändert hat. Der Empfänger stellt dann dieses Verzeichnis
  435. (so ein Fenster davon offen ist) neu dar. Dies wirkt auch auf die
  436. Unterverzeichnisse; Update von "C:\" sorgt dafür, da₧ alles, was mit
  437. Laufwerk C:\ zu tun hat, neu eingelesen wird.
  438.  
  439.  msg[3/4] = Pointer auf den absoluten Pfad
  440.  
  441. #define AV_PATH_UPDATE 0x4730
  442.  
  443.  
  444.  
  445.  
  446. AV_WHAT_IZIT
  447. ------------
  448.  
  449. Der Sender fragt den Empfänger, was sich an Position X/Y auf dem
  450. Bildschirm befindet. Die Koordinaten sind normale Pixelkoordinaten
  451. mit Ursprung in der linken oberen Bildschirmecke.
  452.  msg[3] = X-Koordinate
  453.  msg[4] = Y-Koordinate
  454.  
  455. Der Empfänger antwortet mit VA_THAT_IZIT.
  456.  
  457. #define AV_WHAT_IZIT 0x4732
  458.  
  459.  
  460.  
  461.  
  462. VA_THAT_IZIT
  463. ------------
  464.  
  465. Die Antwort auf AV_WHAT_IZIT:
  466.  
  467.  msg[3]   = ID der zuständigen Applikation
  468.  msg[4]   = Typ des Objektes
  469.              Unbekannt: 0
  470.              Mülleimer: 1
  471.              Shredder : 2
  472.              Clipboard: 3
  473.              Datei    : 4
  474.              Ordner   : 5
  475.              Laufwerk : 6
  476.              Fenster  : 7
  477.              (alle anderen für Erweiterungen reserviert.)
  478.  msg[5+6] = Zeiger auf den Namen des Objektes (oder NULL, falls nicht
  479.             vorhanden)
  480.  
  481. Mögliche Antwort des Empfängers: AV_DRAG_ON_WINDOW
  482.  
  483. #define VA_THAT_IZIT    0x4733
  484. #define VA_OB_UNKNOWN   0
  485. #define VA_OB_TRASHCAN  1
  486. #define VA_OB_SHREDDER  2
  487. #define VA_OB_CLIPBOARD 3
  488. #define VA_OB_FILE      4
  489. #define VA_OB_FOLDER    5
  490. #define VA_OB_DRIVE     6
  491. #define VA_OB_WINDOW    7
  492.  
  493.  
  494.  
  495.  
  496. AV_DRAG_ON_WINDOW
  497. -----------------
  498.  
  499. Der Sender teilt dem Empfänger mit, da₧ Objekte auf eines seiner mittels
  500. AV_WHATIZIT erfragten Fenster gezogen worden sind. Die Namen sind Namen
  501. von Dateien, Ordnern oder Laufwerken, jeweils durch ein Leerzeichen
  502. getrennt. Namen von Ordnern oder Laufwerken enden mit einem Backslash.
  503.  
  504.  msg[3]   = X-Position, wohin die Maus gezogen wurde
  505.  msg[4]   = Y-Position, wohin die Maus gezogen wurde
  506.  msg[5]   = Tastaturstatus (Shift,Control,Alternate)
  507.  msg[6/7] = Pointer auf einen String, der die Namen der Objekte enthält.
  508.  
  509. Der Empfänger antwortet mit VA_DRAG_COMPLETE
  510.  
  511. #define AV_DRAG_ON_WINDOW 0x4734
  512.  
  513.  
  514.  
  515.  
  516. VA_DRAG_COMPLETE
  517. ----------------
  518.  
  519. Die Antwort auf AV_DRAG_ON_WINDOW:
  520.  
  521. Die Aktion, die mittels AV_DRAG_ON_WINDOW ausgelöst wurde (Kopieren,
  522. Verschieben, LÖschen oder ablegen auf den Hintergrund) ist beendet.
  523. Bei Erfolg wird ein Wert wie bei AV_COPY_COMPLETE zurückgeliefert.
  524.  
  525.  msg[3] = Status der Aktion. (!= 0 hei₧t, da₧ wirklich etwas
  526.           kopiert oder verschoben wurde.
  527.  
  528. #define VA_DRAG_COMPLETE 0x4735
  529.  
  530.  
  531.  
  532.  
  533. AV_EXIT
  534. -------
  535.  
  536. Der Sender teilt dem Empfänger mit, da₧ er nicht mehr am Protokoll
  537. teilnimmt (z.B. weil der Sender terminieren wird)
  538.  
  539.  msg[3] = AES-ID des Senders
  540.  
  541. #define AV_EXIT 0x4736
  542.  
  543.  
  544.  
  545.  
  546. AV_STARTED
  547. ----------
  548.  
  549. Die Antwort auf VA_START:
  550. Der Sender teilt dem Empfänger mit, da₧ er die VA_START Nachricht
  551. verstanden hat und der Speicher des Strings, der an die Nachricht
  552. angehängt war, freigegeben werden kann. Zum Erkennen um welche VA_START
  553. Nachricht es sich handelt, werden die Werte von VA_START zurückgeliefert.
  554.  
  555.  msg[3/4] = Der Pointer aus der VA_START Nachricht.
  556.  
  557. #define AV_STARTED 0x4738
  558.  
  559.  
  560.  
  561.  
  562. VA_FONTCHANGED
  563. --------------
  564.  
  565. Der Sender teilt dem Empfänger mit, da₧ die von ihm zuvor mit
  566. AV_ASKFILEFONT und/oder AV_ASKCONFONT erfragten Werte sich geändert
  567. haben.
  568. Der Sender verschickt diese Nachricht an alle Applikationen, die schon
  569. mal einen der Fonts bei ihm erfragt haben.
  570.  
  571.  msg[3] = Dateifontnummer   (font id)
  572.  msg[4] = Dateifontgrö₧e    (in points)
  573.  msg[5] = Consolefontnummer (font id)
  574.  msg[6] = Consolefontgrö₧e  (in points)
  575.  
  576. #define VA_FONTCHANGED 0x4739
  577.  
  578.  
  579.  
  580.  
  581. AV_XWIND
  582. --------
  583.  
  584. Der Empfänger soll ein Datei-Fenster öffnen (eXtended).
  585.  
  586.  msg[3/4] = Pfad für das Fenster
  587.  msg[5/6] = Wildcard als Filter für die Anzeige
  588.  msg[7]   = Bitmaske  0x0001 - toppe evtl. vorhandenes Fenter
  589.                       0x0002 - Wildcard soll nur selektieren
  590.                              - alle anderen Bits auf 0 setzen!
  591.  
  592. Der Empfänger antwortet mit VA_XOPEN.
  593.  
  594. #define AV_XWIND 0x4740
  595.  
  596.  
  597.  
  598.  
  599. VA_XOPEN
  600. --------
  601.  
  602. Die Antwort auf AV_XWIND:
  603.  
  604.  msg[3] = Gibt an, ob das Fenster geöffnet werden konnte.
  605.           (Word 3 == 0 (nein) != 0 (ja))
  606.  
  607. #define VA_XOPEN 0x4741
  608.  
  609.  
  610.  
  611.  
  612. AV_VIEW
  613. -------
  614.  
  615. Der Server soll den Viewer für eine bestimmte Datei aufrufen. Ist
  616. kein Viewer vorhanden, erhält der Benutzer eine Fehlermeldung.
  617. Mit dieser Message kann der Server dazu aufgefordert werden z.B.
  618. einen IMG-Viewer statt einem umfangreichen Grafikprogramm für
  619. IMG-Dateien zu starten.
  620.  
  621.  msg[3/4]: Zeiger auf den Namen der anzuzeigenden Datei (es ist nur
  622.            EINE einzelne Datei zulässig!)
  623.  msg[5-7]: reserviert, immer 0
  624.  
  625. Der Empfänger antwortet mit AV_VIEWED.
  626.  
  627. #define AV_VIEW 0x4751
  628.  
  629.  
  630.  
  631.  
  632. VA_VIEWED
  633. ---------
  634.  
  635. Antwort auf AV_VIEW. Der Server teilt dem Client mit, ob die
  636. Datei angezeigt wird oder nicht. Die Antwort wird sofort und immer
  637. verschickt, falls ein Fehler aufgetreten ist. Andernfalls erhält
  638. man die Antwort in einer Multitasking-Umgebung sobald der Viewer
  639. aktiv ist oder unter Single-TOS nach Beendigung des Viewers, falls
  640. der Server nicht vorher beendet wurde (z.B. durch Auslagerung vor
  641. dem Start des Viewers).
  642.  
  643.   msg[3]  : 0=Fehler, 1=Alles ok
  644.   msg[4-7]: reserviert, immer 0
  645.  
  646. #define VA_VIEWED 0x4752
  647.  
  648.  
  649.  
  650.  
  651. AV_FILEINFO
  652. -----------
  653.  
  654. Datei-/Ordnerinfo anzeigen. Als Antwort erhält man VA_FILECHANGED.
  655.  
  656.  msg[3/4]: Zeiger auf Datei oder Ordnernamen. Mehrere Dateien/Ordner
  657.            werden durch Leerzeichen getrennt. Ordner MÜSSEN mit ab-
  658.            schliessendem '\' übergeben werden!
  659.  msg[5-7]: reserviert, immer 0
  660.  
  661. #define AV_FILEINFO 0x4753
  662.  
  663.  
  664.  
  665.  
  666. VA_FILECHANGED
  667. --------------
  668.  
  669. Antwort auf AV_FILEINFO.
  670.  
  671.  msg[3/4]: Zeiger auf die Namen der Dateien/Ordner, die bei
  672.            AV_FILEINFO übergeben wurden, wobei natürlich einige
  673.            Dateien/Ordner neue Namen haben können
  674.  
  675.            Beispiel: Es wurde 'C:\ANNA.TXT C:\AUTO\' übergeben.
  676.                      Der Benutzer ändert 'ANNA.TXT' in 'ANNELIE.TXT'
  677.                      um. Als Ergebnis erhält man dann in dieser
  678.                      Message den String 'C:\ANNELIE.TXT C:\AUTO\'
  679.  
  680.  msg[5-7]: reserviert, immer 0
  681.  
  682. #define VA_FILECHANGED 0x4754
  683.  
  684.  
  685.  
  686.  
  687. AV_COPYFILE
  688. -----------
  689.  
  690. Dateien/Ordner kopieren/verschieben. Als Antwort erhält man
  691. VA_FILECOPIED.
  692.  
  693.  msg[3/4]: Zeiger auf die Quelldateie(n) und -Ordner, durch Leer-
  694.            stellen getrennt, Order mit abschliessendem '\'
  695.  msg[5/6]: Zeiger auf den Zielordner
  696.  msg[7]  : Bit 0:    Originale löschen (verschieben)
  697.            Bit 1:    Kopien umbenennen
  698.            Bit 2:    Ziel kommentarlos überschreiben
  699.            Bit 3:    Nur symbolische Links der Quellen erzeugen
  700.                      (Bit 0 ist dann bedeutungslos)
  701.            Bit 3-15: reserviert, immer 0
  702.  
  703. #define AV_COPYFILE 0x4755
  704.  
  705.  
  706.  
  707.  
  708. VA_FILECOPIED
  709. -------------
  710.  
  711. Antwort auf AV_COPYFILE.
  712.  
  713.  msg[3]  : 0=Fehler, 1=Alles Ok
  714.  msg[4-7]: reserviert, immer 0
  715.  
  716. #define VA_FILECOPIED 0x4756
  717.  
  718.  
  719.  
  720.  
  721. AV_DELFILE
  722. ----------
  723.  
  724. Dateien/Ordner löschen. Als Antwort erhält man VA_FILEDELETED.
  725.  
  726.  msg[3/4]: Zeiger auf die zu löschenden Dateie(n)/Ordner, durch Leer-
  727.            stellen getrennt, Order mit abschliessendem '\'
  728.  msg[5-7]: reserviert, immer 0
  729.  
  730. #define AV_DELFILE 0x4757
  731.  
  732.  
  733.  
  734.  
  735. VA_FILEDELETED
  736. --------------
  737.  
  738. Antwort auf AV_DELFILE.
  739.  
  740.   msg[3]  : 0=Fehler, 1=Alles Ok
  741.   msg[4-7]: reserviert, immer 0
  742.  
  743. #define VA_FILEDELETED 0x4758
  744.  
  745.  
  746.  
  747.  
  748. AV_SETWINDPOS
  749. -------------
  750.  
  751. Als Erweiterung zu AV_XWIND bzw. AV_OPENWIND gedacht. Hiermit
  752. kann ein Client angeben, an welcher Position und mit welcher
  753. Grö₧e das nächste Verzeichnisfenster (mit AV_XWIND oder AV_OPENWIND)
  754. geöffnet werden soll. Die Koordinaten werden absolut angegeben.
  755.  
  756. Wird durch AV_XWIND kein neues Fenster geöffnet, sondern nur ein
  757. bereits offenes Fenster getoppt, ist diese Message ohne Wirkung!
  758.  
  759.  msg[3]:  Position X
  760.  msg[4]:  Position Y
  761.  msg[5]:  Breite
  762.  msg[6]:  Höhe
  763.  msg[7]:  reserviert, immer 0
  764.  
  765. #define AV_SETWINDPOS 0x4759
  766.  
  767.  
  768.  
  769.  
  770. VA_PATH_UPDATE
  771. --------------
  772.  
  773. Hat der Client bei AV_PROTOKOLL kundgetan, dass er diese Message
  774. akzeptiert, teilt der Server hiermit mit, dass sich der Inhalt
  775. eines Verzeichnisses geändert hat. Der Client sollte dann ggf.
  776. auch alle betroffenen Unterverzeichnisse neu lesen bzw. schliessen,
  777. wenn diese nicht mehr existieren.
  778.  
  779.  msg[3/4]: Zeiger auf das Verzeichnis, immer mit '\' abgeschlossen
  780.  msg[5-7]: reserviert, immer 0
  781.  
  782. #define VA_PATH_UPDATE 0x4760
  783.  
  784.  
  785.  
  786.  
  787. AV_SENDKLICK
  788. ------------
  789.  
  790. Eine Applikation oder ein Thread schickt einer anderen Applikation
  791. oder einem anderen Thread der eigenen Applikation einen Maus-Event, den sie
  792. selbst in evnt_multi() bekommen hat. Interessant für Threads in MagiC und
  793. für BubbleGEM. Analogie zu AV_SENDKEY.
  794.  
  795.  msg[3]: ev_mmox
  796.  msg[4]: ev_mmoy
  797.  msg[5]: ev_mmobutton
  798.  msg[6]: ev_mmokstate
  799.  msg[7]: ev_mbreturn
  800.  
  801. ev_mmox, ev_mmoy, ev_mmobutton, ev_mmokstate und ev_mbreturn sind die Daten
  802. aus evnt_multi(), genauso wie bei AV_SENDKEY ev_mmokstate und ev_mkreturn.
  803.  
  804. #define AV_SENDKLICK 0x4709
  805.