mincore Subroutine
Zweck
Bestimmt den Speicherort von Speicherseiten.
Bibliothek
Standard-C-Bibliothek (libc.a)
Syntax
Beschreibung
Die Subroutine mincore gibt den Primärspeicherresidenzstatus für Regionen zurück, die aus Aufrufen der Subroutine mmap erstellt wurden. Der Status wird als Zeichen für jede Speicherseite in dem mit den Parametern addr und len angegebenen Bereich zurückgegeben. Das niedrigstwertige Bit jedes zurückgegebenen Zeichens wird auf 1 gesetzt, wenn sich die referenzierte Seite im primären Speicher befindet. Andernfalls wird das Bit auf 0 gesetzt. Die Einstellungen der anderen Bits in jedem Zeichen sind nicht definiert.
Parameter
| Element | Beschreibung |
|---|---|
| addr | Gibt die Startadresse der Speicherseiten an, deren Speicherort bestimmt werden soll. Muss ein Vielfaches der Seitengröße sein, die von der Subroutine sysconf mit dem Wert _SC_PAGE_SIZE für den Parameter Name zurückgegeben wird. |
| len | Gibt die Länge (in Byte) der Speicherregion an, deren Speicherort bestimmt werden soll. Wenn der Wert für len kein Vielfaches der Seitengröße ist, die von der Subroutine sysconf zurückgegeben wird, die den Wert _SC_PAGE_SIZE für den Parameter Name verwendet, Die Länge der Region wird auf das nächste Vielfache der Seitengröße aufgerundet. |
| vec | Gibt den Zeichenbereich an, in dem der Residenzstatus zurückgegeben wird. Das System geht davon aus, dass das mit dem Parameter vec angegebene Zeichenarray groß genug ist, um ein zurückgegebenes Zeichen für jede angegebene Seite einzuschließen. |
Rückgabewerte
Bei erfolgreicher Ausführung gibt die Subroutine mincore den Wert 0 zurück. Andernfalls gibt es -1 zurück und setzt die globale Variable errno, um den Fehler anzuzeigen.
Fehlercodes
Wenn die Subroutine mincore nicht erfolgreich ist, wird die globale Variable errno auf einen der folgenden Werte gesetzt:
| Element | Beschreibung |
|---|---|
| EFAULT | Ein Teil des Puffers, auf den der Parameter vec verweist, liegt außerhalb des gültigen Bereichs oder ist anderweitig nicht zugänglich. |
| EINVAL | Der Parameter addr ist kein Vielfaches der Seitengröße, die von der Subroutine sysconf mithilfe des Werts _SC_PAGE_SIZE für den Parameter Name zurückgegeben wird. |
| ENOMEM | Adressen im Bereich (addr, addr + len) sind für den Adressraum des Prozesses ungültig oder geben mindestens eine Seite an, die nicht zugeordnet ist. |