10SN/A/* 25776SN/A * CDDL HEADER START 30SN/A * 40SN/A * The contents of this file are subject to the terms of the 50SN/A * Common Development and Distribution License, Version 1.0 only 60SN/A * (the "License"). You may not use this file except in compliance 70SN/A * with the License. 80SN/A * 90SN/A * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 100SN/A * or http://www.opensolaris.org/os/licensing. 110SN/A * See the License for the specific language governing permissions 120SN/A * and limitations under the License. 130SN/A * 140SN/A * When distributing Covered Code, include this CDDL HEADER in each 150SN/A * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 160SN/A * If applicable, add the following below this CDDL HEADER, with the 170SN/A * fields enclosed by brackets "[]" replaced with your own identifying 180SN/A * information: Portions Copyright [yyyy] [name of copyright owner] 191472SN/A * 201472SN/A * CDDL HEADER END 211472SN/A */ 220SN/A 230SN/A/* 240SN/A * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 257550SN/A * Use is subject to license terms. 267550SN/A */ 277550SN/A/* 280SN/A * Copyright (c) 2013, Joyent, Inc. All rights reserved. 290SN/A */ 300SN/A 310SN/A#ifndef _DT_PID_H 320SN/A#define _DT_PID_H 334100SN/A 340SN/A#include <libproc.h> 350SN/A#include <sys/fasttrap.h> 360SN/A#include <dt_impl.h> 370SN/A 380SN/A#ifdef __cplusplus 390SN/Aextern "C" { 400SN/A#endif 410SN/A 420SN/A#define DT_PROC_ERR (-1) 430SN/A#define DT_PROC_ALIGN (-2) 440SN/A 450SN/Aextern int dt_pid_create_probes(dtrace_probedesc_t *, dtrace_hdl_t *, 460SN/A dt_pcb_t *pcb); 470SN/Aextern int dt_pid_create_probes_module(dtrace_hdl_t *, dt_proc_t *); 480SN/A 490SN/Aextern int dt_pid_create_entry_probe(struct ps_prochandle *, dtrace_hdl_t *, 500SN/A fasttrap_probe_spec_t *, const GElf_Sym *); 510SN/A 520SN/Aextern int dt_pid_create_return_probe(struct ps_prochandle *, dtrace_hdl_t *, 530SN/A fasttrap_probe_spec_t *, const GElf_Sym *, uint64_t *); 540SN/A 550SN/Aextern int dt_pid_create_offset_probe(struct ps_prochandle *, dtrace_hdl_t *, 560SN/A fasttrap_probe_spec_t *, const GElf_Sym *, ulong_t); 570SN/A 580SN/Aextern int dt_pid_create_glob_offset_probes(struct ps_prochandle *, 590SN/A dtrace_hdl_t *, fasttrap_probe_spec_t *, const GElf_Sym *, const char *); 600SN/A 610SN/Aextern void dt_pid_get_types(dtrace_hdl_t *, const dtrace_probedesc_t *, 620SN/A dtrace_argdesc_t *, int *); 630SN/A 640SN/A#ifdef __cplusplus 650SN/A} 660SN/A#endif 670SN/A 680SN/A#endif /* _DT_PID_H */ 690SN/A