tst.ProbeData.c revision 23b5c241225a8ade2b6b9f06ebb891ee459e3b02
18c2aff776a775d34a4c9893a4c72e0434d68e36artem/*
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * CDDL HEADER START
18c2aff776a775d34a4c9893a4c72e0434d68e36artem *
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * The contents of this file are subject to the terms of the
3f7d54a6b84904c8f4d8daa4c7b577bede7df8b9Garrett D'Amore * Common Development and Distribution License (the "License").
506aa7c68b127eefb0197e329af7e9abcc3ebc98Garrett D'Amore * You may not use this file except in compliance with the License.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem *
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * or http://www.opensolaris.org/os/licensing.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * See the License for the specific language governing permissions
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * and limitations under the License.
00687e57f8c568d4f8fb446b6530a2942842292fartem *
00687e57f8c568d4f8fb446b6530a2942842292fartem * When distributing Covered Code, include this CDDL HEADER in each
00687e57f8c568d4f8fb446b6530a2942842292fartem * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
00687e57f8c568d4f8fb446b6530a2942842292fartem * If applicable, add the following below this CDDL HEADER, with the
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * fields enclosed by brackets "[]" replaced with your own identifying
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * information: Portions Copyright [yyyy] [name of copyright owner]
18c2aff776a775d34a4c9893a4c72e0434d68e36artem *
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * CDDL HEADER END
18c2aff776a775d34a4c9893a4c72e0434d68e36artem */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem/*
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * Use is subject to license terms.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#pragma ident "%Z%%M% %I% %E% SMI"
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemtypedef void f(char *);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemstatic void
18c2aff776a775d34a4c9893a4c72e0434d68e36artemf_a(char *a)
18c2aff776a775d34a4c9893a4c72e0434d68e36artem{
18c2aff776a775d34a4c9893a4c72e0434d68e36artem}
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemstatic void
18c2aff776a775d34a4c9893a4c72e0434d68e36artemf_b(char *a)
18c2aff776a775d34a4c9893a4c72e0434d68e36artem{
18c2aff776a775d34a4c9893a4c72e0434d68e36artem}
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemstatic void
18c2aff776a775d34a4c9893a4c72e0434d68e36artemf_c(char *a)
18c2aff776a775d34a4c9893a4c72e0434d68e36artem{
18c2aff776a775d34a4c9893a4c72e0434d68e36artem}
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemstatic void
18c2aff776a775d34a4c9893a4c72e0434d68e36artemf_d(char *a)
18c2aff776a775d34a4c9893a4c72e0434d68e36artem{
18c2aff776a775d34a4c9893a4c72e0434d68e36artem}
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemstatic void
18c2aff776a775d34a4c9893a4c72e0434d68e36artemf_e(char *a)
18c2aff776a775d34a4c9893a4c72e0434d68e36artem{
18c2aff776a775d34a4c9893a4c72e0434d68e36artem}
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemstatic void
18c2aff776a775d34a4c9893a4c72e0434d68e36artemfN(f func, char *a, int i)
18c2aff776a775d34a4c9893a4c72e0434d68e36artem{
18c2aff776a775d34a4c9893a4c72e0434d68e36artem func(a);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem}
00687e57f8c568d4f8fb446b6530a2942842292fartem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemstatic void
00687e57f8c568d4f8fb446b6530a2942842292fartemfN2(f func, char *a, int i)
3f7d54a6b84904c8f4d8daa4c7b577bede7df8b9Garrett D'Amore{
3f7d54a6b84904c8f4d8daa4c7b577bede7df8b9Garrett D'Amore func(a);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem}
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemint
18c2aff776a775d34a4c9893a4c72e0434d68e36artemmain()
18c2aff776a775d34a4c9893a4c72e0434d68e36artem{
18c2aff776a775d34a4c9893a4c72e0434d68e36artem /*
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * Avoid length of 1, 2, 4, or 8 bytes so DTrace will treat the data as
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * a byte array.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem char a[] = {(char)-7, (char)201, (char)0, (char)0, (char)28, (char)1};
18c2aff776a775d34a4c9893a4c72e0434d68e36artem char b[] = {(char)84, (char)69, (char)0, (char)0, (char)28, (char)0};
18c2aff776a775d34a4c9893a4c72e0434d68e36artem char c[] = {(char)84, (char)69, (char)0, (char)0, (char)28, (char)1};
18c2aff776a775d34a4c9893a4c72e0434d68e36artem char d[] = {(char)-7, (char)201, (char)0, (char)0, (char)29, (char)0};
18c2aff776a775d34a4c9893a4c72e0434d68e36artem char e[] = {(char)84, (char)69, (char)0, (char)0, (char)28, (char)0};
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem fN(f_a, a, 1);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem fN(f_b, b, 0);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem fN(f_d, d, 102);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem fN2(f_e, e, -2);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem fN(f_c, c, 0);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem fN(f_a, a, -1);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem fN(f_d, d, 101);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem fN(f_e, e, -2);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem fN(f_e, e, 2);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem fN2(f_e, e, 2);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem}
18c2aff776a775d34a4c9893a4c72e0434d68e36artem