probe process (@1).library(@2).statement("bar@sdt_misc.c+12") {printf ("bar %d\n",$i)}
probe process (@1).library(@2).statement("baz@sdt_misc.c+2") {printf ("baz %d %s\n",$i,user_string($s))}
probe process (@1).library(@2).statement("buz@sdt_misc.c+8") {printf ("buz %d\n",$parm)}

probe process (@1).library(@2).function("bar") {printf ("bar begin\n")}
probe process (@1).library(@2).function("baz") {printf ("baz begin\n")}
probe process (@1).library(@2).function("buz") {printf ("buz begin\n")}

probe process (@1).library(@2).function("bar").return {printf ("bar end\n")}
probe process (@1).library(@2).function("baz").return {printf ("baz end\n")}
probe process (@1).library(@2).function("buz").return {printf ("buz end\n")}

probe process(@1).library(@2).mark("test_probe_0")
{
  printf("In %s probe %#x\n", $$name, $arg1)
}

probe process(@1).library(@2).mark("test_probe_1")
{
  printf("In %s probe %#x\n", $$name, $arg1)
}

probe process(@1).library(@2).mark("test_probe_2")
{
  printf("In %s probe %#x\n", $$name, $arg1)
}

probe process(@1).library(@2).mark("test_probe_3")
{
  printf("In %s probe %#x %#x\n", $$name, $arg1, $arg2)
}

probe process(@1).library(@2).mark("test_probe_4")
{
  printf("In %s dtrace probe %#x\n", $$name, $arg1)
}

