# This file contains simple bridging functions to the runtime function _print (msg) %{ _stp_print (THIS->msg); %} function print (msg) { _print (msg . "\n") } // same as print function log (msg) { _print (msg . "\n") } function _printk (msg) %{ printk (KERN_INFO "%s\n", THIS->msg); %} function printk (msg) { _printk (msg . "") } function _warn (msg) %{ _stp_warn ("%s", THIS->msg); %} function warn (msg) { _warn (msg . "") } // NB: exit() does *not* cause immediate return from current function/probe function exit () %{ _stp_exit (); %} function _error (msg) %{ CONTEXT->last_error = "called error()"; /* kill current probe */ _stp_error ("%s", THIS->msg); /* implies _stp_exit */ %} function error (msg) { _error (msg . "") }