•  Back 
  •  Applikationsfunktionen 
  •  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-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