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-File8.3.10 appl_search TOS Name: »Application search« - im System vorhandene Applikationen suchen. AES-Nummer: 18 Deklaration: int16_t appl_search ( int16_t ap_smode, int8_t *ap_sname, int16_t *ap_stype, int16_t *ap_sid ); Beschreibung: Je nach Parameter sucht die Funktion verschiedene im System vorhandene Applikationen. Es bedeuten: Parameter Bedeutung ap_smode Suche APP_FIRST 0 erste Applikation APP_NEXT 1 nächste Applikation APP_DESK 2 System Shell APP_TASKINFO 0x100 Taskinformation anfordern, XaAES Bit das hinzugefügt werden kann. ap_sname Puffer der den Namen der gefundenen Applikation aufnimmt (mindestens 9 Bytes). ap_stype Typ des Prozesses als Bitvektor APP_SYSTEM 0x001 System-Prozeß APP_APPLICATION 0x002 Applikation APP_ACCESSORY 0x004 Accessory APP_SHELL 0x008 System Shell APP_HIDDEN 0x100 Task ist ausgeblendet, XaAES nur bei APP_TASKINFO APP_FOCUS 0x200 Aktive Applikation, XaAES nur bei APP_TASKINFO ap_sid ID der gefundenen Applikation Es ist möglich der Langname einer Applikation zu ermittelt, wenn man ihre Applikations-ID kennt. Der Langname ist derjenige, der von der Applikation bei einem menu_register()- Aufruf übergeben wurde und auch in der Menüleiste dargestellt wird. Kennt man die Applikations-ID apid einer Anwendung, so wird ihr Langname durch folgenden Aufruf von appl_search in den Buffer langname übertragen: appl_search(-apid, &langname[0], &typ, &pid) type ist hierbei die auch normalerweise gelieferte Bitmaske des Applikationstyps, pid die MiNT-pid (nicht: apid) der Applikation. Als erster Parameter ist also der negative Wert der Applikations-ID zu übergeben, um den Langnamen eben dieser Applikation zu ermitteln. Dieser Name kann maximal 32 Zeichen lang sein (31 Zeichen plus ein Nullbyte), man sollte also einen entsprechend großen Buffer für langname reservieren. APP_TASKINFO liefert automatisch den Langnamen einer Applikation und steht nur unter XaAES zur Verfügung. Mit dieser Routine können keine Threads gefunden werden. Geneva have three extra modes: ∙ X_APS_CHEXIT (-1) Retrieves the name, ID, and type of the last application to exit. This makes it possible for a program which receives a CH_EXIT notice to determine the name of the program which exited. Note that this information is not buffered; this means that if one process terminates and its parent does not make the appl_search() call before a second one does, the information will no longer reflect the first process which terminated. ∙ X_APS_CHILD0 (0x7100) Retrieve the data concerning the child of the current application which has the lowest application ID. (This is not necessarily the first child application the parent ran.) ∙ X_APS_CHILD (0x7101) Retrieve the data for each additional child of the current application. Ergebnis: Die Funktion liefert den Wert 1, wenn kein Fehler aufgetreten ist, bzw. den Wert 0, wenn keine weiteren Applikationen vorhanden sind. Verfügbar: Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 4) festgestellt werden. Die Ermittlung des Langname und Taskinformationen erkennt man an appl_getinfo (Opcode 64). Gruppe: Applikationen Querverweis: Binding appl_find Broadcasting