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