xref: /illumos-gate/usr/src/man/man3proc/Paddr_to_map.3proc (revision 72d3dbb9ab4481606cb93caca98ba3b3a8eb6ce2)
143051d27SRobert Mustacchi.\"
243051d27SRobert Mustacchi.\" This file and its contents are supplied under the terms of the
343051d27SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
443051d27SRobert Mustacchi.\" You may only use this file in accordance with the terms of version
543051d27SRobert Mustacchi.\" 1.0 of the CDDL.
643051d27SRobert Mustacchi.\"
743051d27SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
843051d27SRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
943051d27SRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
1043051d27SRobert Mustacchi.\"
1143051d27SRobert Mustacchi.\"
1243051d27SRobert Mustacchi.\" Copyright 2015 Joyent, Inc.
1343051d27SRobert Mustacchi.\"
1443051d27SRobert Mustacchi.Dd May 11, 2016
1543051d27SRobert Mustacchi.Dt PADDR_TO_MAP 3PROC
1643051d27SRobert Mustacchi.Os
1743051d27SRobert Mustacchi.Sh NAME
1843051d27SRobert Mustacchi.Nm Paddr_to_map ,
1943051d27SRobert Mustacchi.Nm Paddr_to_text_map ,
2043051d27SRobert Mustacchi.Nm Plmid_to_map ,
2143051d27SRobert Mustacchi.Nm Pname_to_map
2243051d27SRobert Mustacchi.Nd lookup memory map information
2343051d27SRobert Mustacchi.Sh SYNOPSIS
2443051d27SRobert Mustacchi.Lb libproc
2543051d27SRobert Mustacchi.In libproc.h
2643051d27SRobert Mustacchi.Ft "const prmap_t *"
2743051d27SRobert Mustacchi.Fo Paddr_to_map
2843051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
2943051d27SRobert Mustacchi.Fa "uintptr_t addr"
3043051d27SRobert Mustacchi.Fc
3143051d27SRobert Mustacchi.Ft "const prmap_t *"
3243051d27SRobert Mustacchi.Fo Paddr_to_text_map
3343051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
3443051d27SRobert Mustacchi.Fa "uintptr_t addr"
3543051d27SRobert Mustacchi.Fc
3643051d27SRobert Mustacchi.Ft "const prmap_t *"
3743051d27SRobert Mustacchi.Fo Plmid_to_map
3843051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
3943051d27SRobert Mustacchi.Fa "Lmid_t lmid"
4043051d27SRobert Mustacchi.Fa "const char *name"
4143051d27SRobert Mustacchi.Fc
4243051d27SRobert Mustacchi.Ft "const prmap_t *"
4343051d27SRobert Mustacchi.Fo Pname_to_map
4443051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
4543051d27SRobert Mustacchi.Fa "const char *name"
4643051d27SRobert Mustacchi.Fc
4743051d27SRobert Mustacchi.Sh DESCRIPTION
4843051d27SRobert MustacchiThe
4943051d27SRobert Mustacchi.Fn Paddr_to_map ,
5043051d27SRobert Mustacchi.Fn Paddr_to_text_map ,
5143051d27SRobert Mustacchi.Fn Plmid_to_map ,
5243051d27SRobert Mustacchiand
5343051d27SRobert Mustacchi.Fn Pname_to_map
5443051d27SRobert Mustacchifunctions lookup memory map information in the process handle
5543051d27SRobert Mustacchi.Fa P .
5643051d27SRobert MustacchiThe
5743051d27SRobert Mustacchi.Sy prmap_t
5843051d27SRobert Mustacchistructure provides information such as the size, offset, and object of
5943051d27SRobert Mustacchithe mapping and is defined in
6043051d27SRobert Mustacchi.Xr proc 4 .
6143051d27SRobert Mustacchi.Pp
6243051d27SRobert MustacchiThe pointer to the data returned by the library will only be valid for
6343051d27SRobert Mustacchias long as the handle
6443051d27SRobert Mustacchi.Fa P
65*72d3dbb9SYuri Pankovis valid.
66*72d3dbb9SYuri PankovAny calls to
6743051d27SRobert Mustacchi.Xr Prelease 3PROC
6843051d27SRobert Mustacchiwill invalidate the data.
6943051d27SRobert Mustacchi.Pp
7043051d27SRobert MustacchiThe
7143051d27SRobert Mustacchi.Fn Paddr_to_map
7243051d27SRobert Mustacchifunction attempts to find the mapping information corresponding to the
7343051d27SRobert Mustacchiaddress
7443051d27SRobert Mustacchi.Fa addr .
7543051d27SRobert Mustacchi.Pp
7643051d27SRobert MustacchiThe
7743051d27SRobert Mustacchi.Fn Paddr_to_text_map
7843051d27SRobert Mustacchifunction is similar to the
7943051d27SRobert Mustacchi.Fn Paddr_to_map
8043051d27SRobert Mustacchifunction; however, it only returns successfully if the specified address
8143051d27SRobert Mustacchicorresponds to a text mapping as identified by the run-time link-editor.
8243051d27SRobert MustacchiOne use of this is to ensure that a mapping is actually a text-mapping
8343051d27SRobert Mustacchibefore inserting a breakpoint in it.
8443051d27SRobert Mustacchi.Pp
8543051d27SRobert MustacchiThe
8643051d27SRobert Mustacchi.Fn Pname_to_map
8743051d27SRobert Mustacchifunction looks up the object named
8843051d27SRobert Mustacchi.Fa name
89*72d3dbb9SYuri Pankovand returns the corresponding mapping information.
90*72d3dbb9SYuri PankovTwo special values may be used for name.
91*72d3dbb9SYuri PankovThe macro
9243051d27SRobert Mustacchi.Dv PR_OBJ_EXEC
9343051d27SRobert Mustacchirefers to the executable object itself and the macro
9443051d27SRobert Mustacchi.Dv PR_OBJ_LDSO refers to the object ld.so.1 .
9543051d27SRobert Mustacchi.Pp
9643051d27SRobert MustacchiThe
9743051d27SRobert Mustacchi.Fn Plmid_to_map
9843051d27SRobert Mustacchifunction is similar to
9943051d27SRobert Mustacchi.Fn Pname_to_map .
10043051d27SRobert MustacchiIt allows passing a link-map identifier,
10143051d27SRobert Mustacchi.Fa lmid ,
10243051d27SRobert Mustacchiwhich constricts the search of the object named with
10343051d27SRobert Mustacchi.Fa name
104*72d3dbb9SYuri Pankovto that link-map.
105*72d3dbb9SYuri PankovThe special value of
10643051d27SRobert Mustacchi.Dv PR_LMID_EVERY
10743051d27SRobert Mustacchimay be passed to indicate that every link-map should be searched, which
10843051d27SRobert Mustacchiis equivalent in behavior to the
10943051d27SRobert Mustacchi.Fn Pname_to_map
11043051d27SRobert Mustacchifunction.
11143051d27SRobert Mustacchi.Sh RETURN VALUES
11243051d27SRobert MustacchiUpon successful completion, the
11343051d27SRobert Mustacchi.Fn Paddr_to_map ,
11443051d27SRobert Mustacchi.Fn Paddr_to_text_map ,
11543051d27SRobert Mustacchi.Fn Plmid_to_map ,
11643051d27SRobert Mustacchiand
11743051d27SRobert Mustacchi.Fn Pname_to_map
11843051d27SRobert Mustacchifunctions return a pointer to the corresponding mapping information.
11943051d27SRobert MustacchiIf none exists then
12043051d27SRobert Mustacchi.Dv NULL
12143051d27SRobert Mustacchiis returned.
12243051d27SRobert Mustacchi.Sh INTERFACE STABILITY
12343051d27SRobert Mustacchi.Sy Uncommitted
12443051d27SRobert Mustacchi.Sh MT-LEVEL
12543051d27SRobert MustacchiSee
12643051d27SRobert Mustacchi.Sy LOCKING
12743051d27SRobert Mustacchiin
12843051d27SRobert Mustacchi.Xr libproc 3LIB .
12943051d27SRobert Mustacchi.Sh SEE ALSO
13043051d27SRobert Mustacchi.Xr libproc 3LIB ,
13143051d27SRobert Mustacchi.Xr Prelease 3PROC ,
13243051d27SRobert Mustacchi.Xr proc 4
133