1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22/* 23 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27#ifndef _PMAP_COMMON_H 28#define _PMAP_COMMON_H 29 30#ifdef __cplusplus 31extern "C" { 32#endif 33 34typedef struct lwpstack { 35 lwpid_t lwps_lwpid; 36 stack_t lwps_stack; 37} lwpstack_t; 38 39/* 40 * Used to set the advice type var (at_map) when parsing the arguments to 41 * pmadvise. Later, when creating the map list, at_map is used as a mask 42 * to determine if any generic advice applies to each memory mapping. 43 */ 44enum atype_enum { 45 AT_PRIVM, 46 AT_SHARED, 47 AT_HEAP, 48 AT_STACK, 49 AT_SEG, 50 AT_NTYPES 51}; 52 53extern int cmpstacks(const void *, const void *); 54extern char *make_name(struct ps_prochandle *, int, uintptr_t, 55 const char *, char *, size_t); 56extern char *anon_name(char *, const pstatus_t *, lwpstack_t *, uint_t, 57 uintptr_t, size_t, int, int, int *); 58 59 60#ifdef __cplusplus 61} 62#endif 63 64#endif /* _PMAP_COMMON_H */ 65