Atari Logo
Atari Computer

Hauptseite -
Welches System? -
Hardware -
Software -
Emulatoren -
Internet
MausNet
Programmieren
Verweise
Über

Der Miscellaneous Manager


Der 'Miscellaneous'-Manager enthält alle Funktionen, die thematisch nicht in die anderen Manager hineinpassen. Daher ist diese Sammlung etwas willkürlich.
Die Aufrufe im einzelnen:

Die Funktion 'get_err_text'
    char *  cdecl  get_err_text (int16 error_code);
Gibt für die angegebene Fehlernummer die Beschreibung aus.

Viele Funktionen des STinG API geben negative Fehlercodes zurück, wenn während der Ausführung ein Problem auftrat. Es ist ermüdend, in einem Client für jeden Fehler, der auftreten könnte, einen entsprechenden Text bereitzustellen. Daher stellt STinG für jeden Fehler eine Beschreibung zur Verfügung, wenn der Client den Fehlercode an diesen Aufruf übergibt. Ein Pointer auf eine Textzeile, die in eine Ausgabe- oder Statuszeile geschrieben werden kann, wird zurückgeliefert. Die Zeilen dürfen maximal 40 Zeichen lang sein.


Die Funktion 'getvstr'
    char *  cdecl  getvstr (char *specifier);
Ermittelt Konfigurationsstrings.

Diese Funktion wird benutzt, um Strings aus der DEFAULT.CFG auszulesen. Wenn zum Beispiel die Zeile

     THREADING = 200
in der DEFAULT.CFG existiert, dann wird der Aufruf
     getvstr ("THREADING");
einen Pointer auf den String "200" zurückliefern. Es wird nicht case-sensitiv gesucht, daher würde es zum selben Ergebnis führen, wenn man nach "threading" sucht. Der Pointer zeigt auf das erste "Nicht-Leerzeichen" nach dem "=".

Existiert die gesuchte Variable nicht, so wird ein Pointer auf "0" zurückgeliefert, wie auch für den Fall, daß kein "Nicht-Leerzeichen" nach dem Gleichheitszeichen folgt. Wenn nicht einmal das Gleichheitszeichen existiert, so wird die pure Anwesenheit der Variable angezeigt, indem ein Pointer auf "1" zurückgeliefert wird.

Siehe auch setvstr()


Die Funktion 'setvstr'
    int16  cdecl  setvstr (char *specifier, char *value);
Setzt Konfigurationsstrings.

Diese Funktion kann dazu benutzt werden, um einen bestimmten Konfigurationsstring anzulegen oder zu ändern. Eine neue Variable, deren Name durch den Text festgelegt wird, auf den 'specifier' zeigt, wird angelegt, wenn sie nicht existiert. Der neue Wert ist der Text, auf den 'value' zeigt. Will man zum Beispiel dasselbe erreichen, als wenn beim Booten

     DIALER = 10.11.12.13
in der DEFAULT.CFG stünde, muß die Funktion folgendermaßen aufgerufen werden:
     setvstr ("DIALER", "10.11.12.13");
Danach werden Aufrufe von getvstr mit 'specifier'="DIALER" einen Pointer auf den Text "10.11.12.13" zurückgeben.
Die Funktion 'set_flag'
    int16  cdecl  set_flag (int16 flag_number);
Fordert eine Semaphore an.

Diese Funktion benutzt den MC680X0-Befehl 'TAS', der nicht durch einen Interrupt unterbrochen werden kann, um eine Semaphore zu setzen, die durch die dem Aufruf übergebene Zahl festgelegt ist. Wenn sie vorher mit der gleichen Zahl aufgerufen wurde (d.h. "lock denied"), wird TRUE zurückgeliefert. Anderenfalls erhält das aufrufende Programm den 'lock' und es wird FALSE zurückgeliefert.

Die Lock-Zahlen werden alle für einen speziellen Zweck angemeldet, wer möchte, daß ein neuer "lock" definiert wird, muß das mit uns absprechen!

Siehe auch clear_flag()


Die Funktion clear_flag

Gibt eine Semaphore frei.

Diese Funktion gibt eine Semaphore frei, wobei der gegenwärtige Status egal ist. Diese Funktion sollte aufgerufen werden, nachdem der "lock" erfolgreich über 'set_flag' angefordert wurde und der Zugriff beendet wurde. Es wird nichts zurückgeliefert.


Die Funktion 'resolve'
   int16  cdecl  resolve (char *inp, char **real, uint32 *lst, int16 len);
Gibt DNS-Anfragen aus.

Diese Funktion erfragt zu einem Domain-Namen die IP-Adresse und umgekehrt. Der Parameter 'inp' ist ein Pointer auf den Input-String, welcher entweder eine IP-Adresse oder ein Domainname ist. 'real' ist entweder NULL oder ein Pointer auf einen Pointer auf ein Zeichen, der mit einem Pointer auf den gefundenen Domainnamen gefüllt wird. Wenn 'inp' auf einen Domainnamen zeigt, wird überprüft, ob es sich um ein Alias handelt, und der richtige Domainname wird über 'real' zurückgegeben. Alle gefundenen IP-Adressen werden in das Adress-Array eingetragen, auf das 'lst' zeigt, die maximale Länge der Liste wird in 'len' festgelegt.

Wenn real nicht NULL ist, wird in '*real' ein Pointer eingetragen. Nachdem der String, auf den er zeigt, ausgewertet wurde, muß der Bereich über KRfree freigegeben werden:

     KRfree (*real);
Gibt die Anzahl der eingetragenen IP-Adressen oder einen Fehler zurück.

Wenn RESOLVE.STX nicht geladen ist, ist nur eine Dummyfunktion verfügbar. Diese gibt immer E_CANTRESOLVE zurück.


Zurück zur Startseite
Zum Anfang der Seite


Best viewed with any browser English version not yet available.

Änderungen und Irrtümer vorbehalten. Letzte Änderung:
14 September 2001.
Home - Mail an den Webmaster - Impressum