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