p ro c (4 )
P I O C N M A P , P I O C M A P
Diese Operationen liefern Informationen über die Speicherzuordnungen = Map
pings (virtuelle Ad ressbereiche) für den überwachten Prozeß.
einem durch p adressierten
zurück. Mit Hilfe dieses Resultats kann man einen Speicher reservieren, der einer
Operation zur Verfügung gestellt wird, welche die Liste der aktuell
P I O C M A P
aktiven Zuordnungen ausgibt. Für
Elementen des Typs
Struktur) zurückgegeben; ein weiteres Element, das nur Nullen enthält, markiert
das Ende der Liste.
typedef struct prmap {
caddr_t pr_vaddr;
u_long
pr_size;
off_t
pr_off;
long
pr_mflags;
long
pr_filler[4]; /
} prmap_t;
ist die virtuelle Basis-Adresse (die Untergrenze) der Zuordnung
pr_vaddr
innerhalb des überwachten Prozesses und
pr_off
ist die Distanz innerhalb des abgebildeten Objekts, auf welche die Basis-
Adresse abgebildet ist.
ist eine Bitmaske von Schutz- und Attribut-Bits:
pr_mf lags
M A _ R E A D
M A _ W R I T E
M A _ E X E C
M A _ S H A R E D
M A J 3 R E A K
M A _ S T A C K
P I O C O P E N M
Der Return-Code retval stellt einen Nur-Lese-Dateideskriptor für ein dem
überwachten Prozeß zugeordnetes Objekt zur Verfügung. Ist p gleich Null, ist die
durch
exec
gefunden worden. Dies ermöglicht es einem Fehlersuchprogramm, die Symbolta
belle der Objektdatei zu finden, ohne den Pfadnamen der ausführbaren Datei zu
kennen. Ist p nicht Null, verweist es auf die Struktur
Adresse innerhalb des überwachten Prozesses und des abgebildeten Objekts
enthält, sofern dieses existiert. Es kann verwendet werden, um einen Dateideskrip
tor für eine gemeinsam benutzte Bibliothek zu finden, der zu dem Prozeß gehört.
Im Fehlerfall wird -1 zurückgegeben (ungültige Adresse oder kein abgebildetes
Objekt für die angegebene Adresse).
4-100
die Anzahl der gegenwärtig aktiven Zuordnungen
int
für jede Zuordnung wird ein Feldelement (eine
prmap_t;
/*
virtuelle Basis-Adresse */
/*
Größe der Zuordnung in Bytes */
/*
Relativ-Zeiger in entsprechendem Objekt,
falls vorhanden */
/
r Schutz- und Attribut-Bits */
r Freier Bereich für zukünftige Erweiterungen */
Zuordnung ist von dem überwachten Prozeß lesbar
Zuordnung ist von dem überwachten Prozeß schreibbar
Zuordnung ist von dem überwachten Prozeß ausführbar
Zuordnungs-Änderungen gelten allgemein
Zuordnung ist durch den
Zuordnung ist durch Stapelfehler gewachsen
ausgeführte Datei des überwachten Prozesses (seine
verweist der Zeiger p auf ein Feld von
P I O C M A P
ist seine Größe in Bytes.
pr_size
Systemaufruf gewachsen
brk
p ro c (4 )
gibt in
P I O C N M A P
Datei)
a.out
die die virtuelle
caddr_t,
04/92