xref: /illumos-gate/usr/src/man/man3proc/Paddr_to_map.3proc (revision 43051d2742bbe5911de73322064cb573b6aff975)
1*43051d27SRobert Mustacchi.\"
2*43051d27SRobert Mustacchi.\" This file and its contents are supplied under the terms of the
3*43051d27SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
4*43051d27SRobert Mustacchi.\" You may only use this file in accordance with the terms of version
5*43051d27SRobert Mustacchi.\" 1.0 of the CDDL.
6*43051d27SRobert Mustacchi.\"
7*43051d27SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
8*43051d27SRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
9*43051d27SRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
10*43051d27SRobert Mustacchi.\"
11*43051d27SRobert Mustacchi.\"
12*43051d27SRobert Mustacchi.\" Copyright 2015 Joyent, Inc.
13*43051d27SRobert Mustacchi.\"
14*43051d27SRobert Mustacchi.Dd May 11, 2016
15*43051d27SRobert Mustacchi.Dt PADDR_TO_MAP 3PROC
16*43051d27SRobert Mustacchi.Os
17*43051d27SRobert Mustacchi.Sh NAME
18*43051d27SRobert Mustacchi.Nm Paddr_to_map ,
19*43051d27SRobert Mustacchi.Nm Paddr_to_text_map ,
20*43051d27SRobert Mustacchi.Nm Plmid_to_map ,
21*43051d27SRobert Mustacchi.Nm Pname_to_map
22*43051d27SRobert Mustacchi.Nd lookup memory map information
23*43051d27SRobert Mustacchi.Sh SYNOPSIS
24*43051d27SRobert Mustacchi.Lb libproc
25*43051d27SRobert Mustacchi.In libproc.h
26*43051d27SRobert Mustacchi.Ft "const prmap_t *"
27*43051d27SRobert Mustacchi.Fo Paddr_to_map
28*43051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
29*43051d27SRobert Mustacchi.Fa "uintptr_t addr"
30*43051d27SRobert Mustacchi.Fc
31*43051d27SRobert Mustacchi.Ft "const prmap_t *"
32*43051d27SRobert Mustacchi.Fo Paddr_to_text_map
33*43051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
34*43051d27SRobert Mustacchi.Fa "uintptr_t addr"
35*43051d27SRobert Mustacchi.Fc
36*43051d27SRobert Mustacchi.Ft "const prmap_t *"
37*43051d27SRobert Mustacchi.Fo Plmid_to_map
38*43051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
39*43051d27SRobert Mustacchi.Fa "Lmid_t lmid"
40*43051d27SRobert Mustacchi.Fa "const char *name"
41*43051d27SRobert Mustacchi.Fc
42*43051d27SRobert Mustacchi.Ft "const prmap_t *"
43*43051d27SRobert Mustacchi.Fo Pname_to_map
44*43051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
45*43051d27SRobert Mustacchi.Fa "const char *name"
46*43051d27SRobert Mustacchi.Fc
47*43051d27SRobert Mustacchi.Sh DESCRIPTION
48*43051d27SRobert MustacchiThe
49*43051d27SRobert Mustacchi.Fn Paddr_to_map ,
50*43051d27SRobert Mustacchi.Fn Paddr_to_text_map ,
51*43051d27SRobert Mustacchi.Fn Plmid_to_map ,
52*43051d27SRobert Mustacchiand
53*43051d27SRobert Mustacchi.Fn Pname_to_map
54*43051d27SRobert Mustacchifunctions lookup memory map information in the process handle
55*43051d27SRobert Mustacchi.Fa P .
56*43051d27SRobert MustacchiThe
57*43051d27SRobert Mustacchi.Sy prmap_t
58*43051d27SRobert Mustacchistructure provides information such as the size, offset, and object of
59*43051d27SRobert Mustacchithe mapping and is defined in
60*43051d27SRobert Mustacchi.Xr proc 4 .
61*43051d27SRobert Mustacchi.Pp
62*43051d27SRobert MustacchiThe pointer to the data returned by the library will only be valid for
63*43051d27SRobert Mustacchias long as the handle
64*43051d27SRobert Mustacchi.Fa P
65*43051d27SRobert Mustacchiis valid. Any calls to
66*43051d27SRobert Mustacchi.Xr Prelease 3PROC
67*43051d27SRobert Mustacchiwill invalidate the data.
68*43051d27SRobert Mustacchi.Pp
69*43051d27SRobert MustacchiThe
70*43051d27SRobert Mustacchi.Fn Paddr_to_map
71*43051d27SRobert Mustacchifunction attempts to find the mapping information corresponding to the
72*43051d27SRobert Mustacchiaddress
73*43051d27SRobert Mustacchi.Fa addr .
74*43051d27SRobert Mustacchi.Pp
75*43051d27SRobert MustacchiThe
76*43051d27SRobert Mustacchi.Fn Paddr_to_text_map
77*43051d27SRobert Mustacchifunction is similar to the
78*43051d27SRobert Mustacchi.Fn Paddr_to_map
79*43051d27SRobert Mustacchifunction; however, it only returns successfully if the specified address
80*43051d27SRobert Mustacchicorresponds to a text mapping as identified by the run-time link-editor.
81*43051d27SRobert MustacchiOne use of this is to ensure that a mapping is actually a text-mapping
82*43051d27SRobert Mustacchibefore inserting a breakpoint in it.
83*43051d27SRobert Mustacchi.Pp
84*43051d27SRobert MustacchiThe
85*43051d27SRobert Mustacchi.Fn Pname_to_map
86*43051d27SRobert Mustacchifunction looks up the object named
87*43051d27SRobert Mustacchi.Fa name
88*43051d27SRobert Mustacchiand returns the corresponding mapping information. Two special
89*43051d27SRobert Mustacchivalues may be used for name. The macro
90*43051d27SRobert Mustacchi.Dv PR_OBJ_EXEC
91*43051d27SRobert Mustacchirefers to the executable object itself and the macro
92*43051d27SRobert Mustacchi.Dv PR_OBJ_LDSO refers to the object ld.so.1 .
93*43051d27SRobert Mustacchi.Pp
94*43051d27SRobert MustacchiThe
95*43051d27SRobert Mustacchi.Fn Plmid_to_map
96*43051d27SRobert Mustacchifunction is similar to
97*43051d27SRobert Mustacchi.Fn Pname_to_map .
98*43051d27SRobert MustacchiIt allows passing a link-map identifier,
99*43051d27SRobert Mustacchi.Fa lmid ,
100*43051d27SRobert Mustacchiwhich constricts the search of the object named with
101*43051d27SRobert Mustacchi.Fa name
102*43051d27SRobert Mustacchito that link-map. The special value of
103*43051d27SRobert Mustacchi.Dv PR_LMID_EVERY
104*43051d27SRobert Mustacchimay be passed to indicate that every link-map should be searched, which
105*43051d27SRobert Mustacchiis equivalent in behavior to the
106*43051d27SRobert Mustacchi.Fn Pname_to_map
107*43051d27SRobert Mustacchifunction.
108*43051d27SRobert Mustacchi.Sh RETURN VALUES
109*43051d27SRobert MustacchiUpon successful completion, the
110*43051d27SRobert Mustacchi.Fn Paddr_to_map ,
111*43051d27SRobert Mustacchi.Fn Paddr_to_text_map ,
112*43051d27SRobert Mustacchi.Fn Plmid_to_map ,
113*43051d27SRobert Mustacchiand
114*43051d27SRobert Mustacchi.Fn Pname_to_map
115*43051d27SRobert Mustacchifunctions return a pointer to the corresponding mapping information.
116*43051d27SRobert MustacchiIf none exists then
117*43051d27SRobert Mustacchi.Dv NULL
118*43051d27SRobert Mustacchiis returned.
119*43051d27SRobert Mustacchi.Sh INTERFACE STABILITY
120*43051d27SRobert Mustacchi.Sy Uncommitted
121*43051d27SRobert Mustacchi.Sh MT-LEVEL
122*43051d27SRobert MustacchiSee
123*43051d27SRobert Mustacchi.Sy LOCKING
124*43051d27SRobert Mustacchiin
125*43051d27SRobert Mustacchi.Xr libproc 3LIB .
126*43051d27SRobert Mustacchi.Sh SEE ALSO
127*43051d27SRobert Mustacchi.Xr libproc 3LIB ,
128*43051d27SRobert Mustacchi.Xr Prelease 3PROC ,
129*43051d27SRobert Mustacchi.Xr proc 4
130