vm_mvc Kernel-Service
Zweck
Liest oder schreibt Teilseiten von Dateien.
Syntax
Parameter
| Element | Beschreibung |
|---|---|
| in_sid | Das primäre Speicherobjekt m1. |
| in_pno | Das PNO-Objekt m1 . Wenn es sich um eine Leseoperation handelt, verweist dieser Parameter auf die Quelle. Ist dies nicht der Fall, bezieht sie sich auf ein Ziel. |
| in_pgoffs | Die relative Byteadresse im PNO-Objekt. |
| in_Anzahl | Die Anzahl der Byte bis null oder bis zum Kopieren im Speicher. |
| Befehl in_cmd | Der Grund für den Funktionsaufruf Mögliche Werte sind Null, Null (Schutz), Lesen oder Schreiben. |
| in_xmemdp | Der xmem-Deskriptor für das zweite Speicherobjekt, m2. |
| in_ptr | Die relative Byteadresse im xmem-Objekt |
Beschreibung
Der vm_mvc -Kernel-Service soll von Clientdateisystemen verwendet werden, die Lese-oder Schreiboperationen für Teilseiten von Dateien ausführen, wobei die Datei durch das Objekt m1 und der Lese-oder Schreibpuffer durch das Objekt m2 angegeben wird. Solche Fälle entstehen unter anderem bei EOF-Handhabung, Fragmenten, Kompression und Löchern.
Bei den beiden Speicherobjekten m1 und m2ermöglicht der vm_mvc -Kernel-Service die Ausführung einer der folgenden Operationen:
- Null-Byte im m1 -Objekt (VM_MVC_ZERO).
- Mit Nullen überschreiben und das m1 -Objekt schützen (VM_MVC_PROTZERO).
- Kopieren Sie Byte aus dem Objekt m1 in das Objekt m2 (VM_MVC_LESEN).
- Kopieren Sie Byte aus dem Objekt m2 in das Objekt m1 (VM_MVC_WRITE-Wert).
Das erste Speicherobjekt, m1, wird durch einen Parameter Sid und einen Parameter PNO gekennzeichnet. Das zweite Speicherobjekt m2ist durch einen xmem-Deskriptor und einen Zeiger für einen Offset gekennzeichnet. Das zweite Speicherobjekt ist ein Benutzer-oder Kernelpuffer.
Anmerkung: Das zweite Speicherobjekt muss fixiert werden.
Flags
| Befehl in_cmd | Zweck |
|---|---|
| VM_MVC_ZERO | Die Bytes im Objekt m1 werden mit Nullen überschrieben. |
| VM_MVC_LESEN | Kopiert Bytes aus dem Objekt m1 in das Objekt m2 |
| VM_MVC_WRITE-Wert | Kopiert Bytes aus dem Objekt m2 in das Objekt m1 |
| VM_MVC_PROTZERO | Nullen werden ausgegeben und das m1 -Objekt wird geschützt. |
Ausführungsumgebung
Der Kernel-Service vm_mvc kann nur über Prozessumgebung aufgerufen werden.
Rückgabewerte
| Element | Beschreibung |
|---|---|
| 0 | Gibt an, dass die E/A-Zugriffsoperationen erfolgreich ausgeführt wurden. |
| ENOENT | Gibt an, dass die Gruppe (sid, pno) keinem realen Rahmen zugeordnet wurde. |
| EINVAL | Gibt einen der folgenden Fehler an:
|