loadext, Einheitenkonfigurationssubroutine
Zweck
Lädt oder entlädt Kernelerweiterungen oder Abfragen für Kernelerweiterungen im Kernel.
Syntax
Parameter
| Element | Beschreibung |
|---|---|
| Datendefinitionsname | Gibt den Namen der Kernelerweiterung an, die geladen, entladen oder abgefragt werden soll. |
| load | Gibt an, ob die Subroutine Laadext die Kernelerweiterung laden soll |
| Abfrage | Gibt an, ob eine Abfrage der Kernelerweiterung ausgeführt wird. |
Beschreibung
Die Einheitenkonfigurationssubroutine Laadext bietet die Möglichkeit, Kernelerweiterungen zu laden oder zu entladen. Es kann auch verwendet werden, um die Kernelmodul-ID (kmid) einer zuvor geladenen Objektdatei abzurufen. Der im Parameter Datendefinitionsname übergebene Kernelerweiterungsname ist entweder der Basisname der Objektdatei oder enthält Verzeichnispfadinformationen. Wenn der im Parameter Datendefinitionsname angegebene Pfadname für die Kernelerweiterung keinen führenden ./ hat (Punkt, Schrägstrich), ../ Doppelpunkt, Schrägstrich) oder / (Schrägstrich), verknüpft die Subroutine loadext die Datei /usr/lib/drivers und den im Parameter dd_name übergebenen Basisnamen, um einen absoluten Pfadnamen zu erhalten. Andernfalls wird der im Parameter Datendefinitionsname angegebene Pfadname unverändert verwendet.
Wenn der Parameter Laden den Wert "True" hat, werden die angegebene Kernelerweiterung und ihre KMID geladen. Wenn die angegebene Objektdatei bereits in den Kernel geladen wurde, wird der Ladezähler erhöht und es wird keine neue Kopie geladen.
Wenn der Parameter Laden den Wert "False" hat, hängt die ausgeführte Aktion vom Wert des Parameters Abfrage ab. Wenn Abfrage auf ' False' gesetzt ist, fordert die Routine Laadext ein Entladen der angegebenen Kernelerweiterung an. Dies bewirkt, dass der Kernel den Ladezähler verringert, der der Objektdatei zugeordnet ist. Wenn der Ladezähler und der Nutzungszähler der Objektdatei 0 werden, entlädt der Kernel die Objektdatei. Wenn der Parameter Abfrage auf 'True' gesetzt ist, fragt die Subroutine Laadext den Kernel nach der kmid der angegebenen Objektdatei ab. Diese kmid wird dann an den Aufrufenden zurückgegeben.
Wenn sowohl der Parameter Laden als auch der Parameter Abfrage den Wert 'True' aufweisen, wird die Funktion 'load' ausgeführt.
Achtung: Wiederholtes Laden und Entladen von Kernelerweiterungen kann zu einem Speicherverlust führen.
Dateien
| Element | Beschreibung |
|---|---|
| /usr/lib/libcfg.a | Archivierung von Einheitenkonfigurationssubroutinen. |
Rückgabewerte
Nach erfolgreicher Beendigung gibt die Subroutine Laadext die kmid zurück. Wenn ein Fehler auftritt oder die abgefragte Objektdatei nicht geladen ist, gibt die Routine einen Nullwert zurück.