Sindbad~EG File Manager
// stap/staprun/stapio static probes tapset
//
// Copyright (C) 2009 Red Hat Inc.
//
// This file is part of systemtap, and is free software. You can
// redistribute it and/or modify it under the terms of the GNU General
// Public License (GPL); either version 2, or (at your option) any
// later version.
/**
* probe stap.pass0 - Starting stap pass0 (parsing command line arguments)
*
* @session: the systemtap_session variable s
*
* pass0 fires after command line arguments have been parsed.
*/
probe stap.pass0 = process("stap").mark("pass0__start") {
session = $arg1
}
/**
* probe stap.pass0.end - Finished stap pass0 (parsing command line arguments)
* @session: the systemtap_session variable s
*
* pass0.end fires just before the gettimeofday() call for pass1.
*/
probe stap.pass0.end = process("stap").mark("pass0__end") {
session = $arg1
}
/**
* probe stap.pass1a - Starting stap pass1 (parsing user script)
* @session: the systemtap_session variable s
*
* pass1a fires just after the call to gettimeofday(), before the
* user script is parsed.
*/
probe stap.pass1a = process("stap").mark("pass1a__start") {
session = $arg1
}
/**
* probe stap.pass1b - Starting stap pass1 (parsing library scripts)
* @session: the systemtap_session variable s
*
* pass1b fires just before the library scripts are parsed.
*/
probe stap.pass1b = process("stap").mark("pass1b__start") {
session = $arg1
}
/**
* probe stap.pass1.end - Finished stap pass1 (parsing scripts)
* @session: the systemtap_session variable s
*
* pass1.end fires just before the jump to cleanup if s.last_pass = 1.
*/
probe stap.pass1.end = process("stap").mark("pass1__end") {
session = $arg1
}
/**
* probe stap.pass2 - Starting stap pass2 (elaboration)
* @session: the systemtap_session variable s
*
* pass2 fires just after the call to gettimeofday(), just before the
* call to semantic_pass.
*/
probe stap.pass2 = process("stap").mark("pass2__start") {
session = $arg1
}
/**
* probe stap.pass2.end - Finished stap pass2 (elaboration)
* @session: the systemtap_session variable s
*
* pass2.end fires just before the jump to cleanup if s.last_pass = 2
*/
probe stap.pass2.end = process("stap").mark("pass2__end") {
session = $arg1
}
/**
* probe stap.pass3 - Starting stap pass3 (translation to C)
* @session: the systemtap_session variable s
*
* pass3 fires just after the call to gettimeofday(), just before the
* call to translate_pass.
*/
probe stap.pass3 = process("stap").mark("pass3__start") {
session = $arg1
}
/**
* probe stap.pass3.end - Finished stap pass3 (translation to C)
* @session: the systemtap_session variable s
*
* pass3.end fires just before the jump to cleanup if s.last_pass = 3
*/
probe stap.pass3.end = process("stap").mark("pass3__end") {
session = $arg1
}
/**
* probe stap.pass4 - Starting stap pass4 (compile C code into kernel module)
* @session: the systemtap_session variable s
*
* pass4 fires just after the call to gettimeofday(), just before the
* call to compile_pass.
*/
probe stap.pass4 = process("stap").mark("pass4__start") {
session = $arg1
}
/**
* probe stap.pass4.end - Finished stap pass4 (compile C code into kernel module)
* @session: the systemtap_session variable s
*
* pass4.end fires just before the jump to cleanup if s.last_pass = 4
*/
probe stap.pass4.end = process("stap").mark("pass4__end") {
session = $arg1
}
/**
* probe stap.pass5 - Starting stap pass5 (running the instrumentation)
* @session: the systemtap_session variable s
*
* pass5 fires just after the call to gettimeofday(), just before the
* call to run_pass.
*/
probe stap.pass5 = process("stap").mark("pass5__start") {
session = $arg1
}
/**
* probe stap.pass5.end - Finished stap pass5 (running the instrumentation)
* @session: the systemtap_session variable s
*
* pass5.end fires just before the cleanup label
*/
probe stap.pass5.end = process("stap").mark("pass5__end") {
session = $arg1
}
/**
* probe stap.pass6 - Starting stap pass6 (cleanup)
* @session: the systemtap_session variable s
*
* pass6 fires just after the cleanup label, essentially the same spot
* as pass5.end
*/
probe stap.pass6 = process("stap").mark("pass6__start") {
session = $arg1
}
/**
* probe stap.pass6.end - Finished stap pass6 (cleanup)
* @session: the systemtap_session variable s
*
* pass6.end fires just before main's return.
*/
probe stap.pass6.end = process("stap").mark("pass6__end") {
session = $arg1
}
/**
* probe stap.cache_clean - Removing file from stap cache
* @path: the path to the .ko/.c file being removed
*
* Fires just before the call to unlink the module/source file.
*/
probe stap.cache_clean = process("stap").mark("cache__clean") {
path = user_string_quoted($arg1)
}
/**
* probe stap.cache_add_mod - Adding kernel instrumentation module to cache
* @source_path: the path the .ko file is coming from (incl filename)
* @dest_path: the path the .ko file is going to (incl filename)
*
* Fires just before the file is actually moved. Note: if moving fails,
* cache_add_src and cache_add_nss will not fire.
*/
probe stap.cache_add_mod = process("stap").mark("cache__add__module") {
source_path = user_string_quoted($arg1)
dest_path = user_string_quoted($arg2)
}
/**
* probe stap.cache_add_src - Adding C code translation to cache
* @source_path: the path the .c file is coming from (incl filename)
* @dest_path: the path the .c file is going to (incl filename)
*
* Fires just before the file is actually moved. Note: if moving the
* kernel module fails, this probe will not fire.
*/
probe stap.cache_add_src = process("stap").mark("cache__add__source") {
source_path = user_string_quoted($arg1)
dest_path = user_string_quoted($arg2)
}
/**
* probe stap.cache_add_nss - Add NSS (Network Security Services) information to cache
* @source_path: the path the .sgn file is coming from (incl filename)
* @dest_path: the path the .sgn file is coming from (incl filename)
*
* Fires just before the file is actually moved. Note: stap must compiled
* with NSS support; if moving the kernel module fails, this probe will
* not fire.
*/
probe stap.cache_add_nss = process("stap").mark("cache__add__nss") ? {
source_path = user_string_quoted($arg1)
dest_path = user_string_quoted($arg2)
}
/**
* probe stap.cache_get - Found item in stap cache
* @source_path: the path of the .c source file
* @module_path: the path of the .ko kernel module file
*
* Fires just before the return of get_from_cache, when the cache grab
* is successful.
*/
probe stap.cache_get = process("stap").mark("cache__get") {
source_path = user_string_quoted($arg1)
module_path = user_string_quoted($arg2)
}
/**
* probe stap.system - Starting a command from stap
* @command: the command string to be run by posix_spawn (as sh -c <str>)
*
* Fires at the entry of the stap_system command.
*/
probe stap.system = process("stap").mark("stap_system__start") {
command = user_string_quoted($arg1)
}
/**
* probe stap.system.spawn - stap spawned new process
* @ret: the return value from posix_spawn
* @pid: the pid of the spawned process
*
* Fires just after the call to posix_spawn.
*/
probe stap.system.spawn = process("stap").mark("stap_system__spawn") {
/* posix_spawn(3p) for meaning of ret */
ret = $arg1
pid = $arg2
}
/**
* probe stap.system.return - Finished a command from stap
* @ret: a return code associated with running waitpid on the spawned process;
* a non-zero value indicates error
*
* Fires just before the return of the stap_system function, after waitpid.
*/
probe stap.system.return = process("stap").mark("stap_system__complete") {
ret = $arg1
}
/**
* probe staprun.insert_module - Inserting SystemTap instrumentation module
* @path: the full path to the .ko kernel module about to be inserted
*
* Fires just before the call to insert the module.
*/
probe staprun.insert_module = process("staprun").mark("insert__module") {
path = user_string_quoted($arg1)
}
/**
* probe staprun.remove_module - Removing SystemTap instrumentation module
* @name: the stap module name to be removed (without the .ko extension)
*
* Fires just before the call to remove the module.
*/
probe staprun.remove_module = process("staprun").mark("remove__module") {
name = user_string_quoted($arg1)
}
/**
* probe staprun.send_control_message - Sending a control message
* @type: type of message being send; defined in runtime/transport/transport_msgs.h
* @data: a ptr to a binary blob of data sent as the control message
* @len: the length (in bytes) of the data blob
*
* Fires at the beginning of the send_request function.
*/
probe staprun.send_control_message = process("staprun").mark("send__ctlmsg") {
type = $arg1
data = $arg2
len = $arg3
}
/**
* probe stapio.receive_control_message - Received a control message
* @type: type of message being send; defined in runtime/transport/transport_msgs.h
* @data: a ptr to a binary blob of data sent as the control message
* @len: the length (in bytes) of the data blob
*
* Fires just after a message was receieved and before it's processed.
*/
/*
*** Due to stapio not being in a user's PATH and the build environment of ***
*** stap, there is no immediate 'good' way to insert the correct path here ***
*** so comment out this probe. Note however, the static marker is still ***
*** present in source. ***
probe stapio.receive_control_message = process("@libexecdir@/systemtap/stapio").mark("recv__ctlmsg") {
type = $arg1
data = $arg2
len = $arg3
}
*/
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists