11576e8f8SGeorge V. Neville-Neil#!/usr/sbin/dtrace -s 21576e8f8SGeorge V. Neville-Neil/*- 31576e8f8SGeorge V. Neville-Neil * Copyright (c) 2015 George V. Neville-Neil <gnn@neville-neil.com> 41576e8f8SGeorge V. Neville-Neil * All rights reserved. 51576e8f8SGeorge V. Neville-Neil * 61576e8f8SGeorge V. Neville-Neil * Redistribution and use in source and binary forms, with or without 71576e8f8SGeorge V. Neville-Neil * modification, are permitted provided that the following conditions 81576e8f8SGeorge V. Neville-Neil * are met: 91576e8f8SGeorge V. Neville-Neil * 1. Redistributions of source code must retain the above copyright 101576e8f8SGeorge V. Neville-Neil * notice, this list of conditions and the following disclaimer. 111576e8f8SGeorge V. Neville-Neil * 2. Redistributions in binary form must reproduce the above copyright 121576e8f8SGeorge V. Neville-Neil * notice, this list of conditions and the following disclaimer in the 131576e8f8SGeorge V. Neville-Neil * documentation and/or other materials provided with the distribution. 141576e8f8SGeorge V. Neville-Neil * 151576e8f8SGeorge V. Neville-Neil * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND 161576e8f8SGeorge V. Neville-Neil * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 171576e8f8SGeorge V. Neville-Neil * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 181576e8f8SGeorge V. Neville-Neil * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE 191576e8f8SGeorge V. Neville-Neil * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 201576e8f8SGeorge V. Neville-Neil * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 211576e8f8SGeorge V. Neville-Neil * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 221576e8f8SGeorge V. Neville-Neil * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 231576e8f8SGeorge V. Neville-Neil * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 241576e8f8SGeorge V. Neville-Neil * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 251576e8f8SGeorge V. Neville-Neil * SUCH DAMAGE. 261576e8f8SGeorge V. Neville-Neil * 271576e8f8SGeorge V. Neville-Neil * retval - show the return value of any probe named by the user 281576e8f8SGeorge V. Neville-Neil * 291576e8f8SGeorge V. Neville-Neil * USAGE: retval name 301576e8f8SGeorge V. Neville-Neil * 311576e8f8SGeorge V. Neville-Neil * The name can be a full function name or a wild card name. The 321576e8f8SGeorge V. Neville-Neil * caller is responsible for handling the escaping of wild cards. 331576e8f8SGeorge V. Neville-Neil */ 341576e8f8SGeorge V. Neville-Neil 351576e8f8SGeorge V. Neville-Neil#pragma D option quiet 361576e8f8SGeorge V. Neville-Neil 371576e8f8SGeorge V. Neville-Neilfbt::$1:return { 38*a5ff72cbSGeorge V. Neville-Neil printf("%s+0x%x returned %d\n", probefunc, arg0, arg1); 391576e8f8SGeorge V. Neville-Neil} 401576e8f8SGeorge V. Neville-Neil 41