summaryrefslogtreecommitdiffstats
path: root/hash.cxx
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2009-04-20 16:41:52 -0700
committerJosh Stone <jistone@redhat.com>2009-04-20 16:41:52 -0700
commit1f329b5e2af4710a254e252529e8eee2fab4fd67 (patch)
tree402dd46adb0e54a7aa0a54f38bdba0e19dbc9501 /hash.cxx
parent3e1c25aa1f788ad5075e2563cc208b58ab6273b5 (diff)
downloadsystemtap-steved-1f329b5e2af4710a254e252529e8eee2fab4fd67.tar.gz
systemtap-steved-1f329b5e2af4710a254e252529e8eee2fab4fd67.tar.xz
systemtap-steved-1f329b5e2af4710a254e252529e8eee2fab4fd67.zip
Add a function to hash typequery modules
Diffstat (limited to 'hash.cxx')
-rw-r--r--hash.cxx20
1 files changed, 20 insertions, 0 deletions
diff --git a/hash.cxx b/hash.cxx
index 01013c43..45ae05eb 100644
--- a/hash.cxx
+++ b/hash.cxx
@@ -273,4 +273,24 @@ find_tracequery_hash (systemtap_session& s)
s.tracequery_path = hashdir + "/tracequery_" + result + ".ko";
}
+
+void
+find_typequery_hash (systemtap_session& s, const string& name, string& module)
+{
+ hash h;
+ get_base_hash(s, h);
+
+ // Add the typequery name to distinguish the hash
+ h.add(name);
+
+ // Get the directory path to store our cached module
+ string result, hashdir;
+ h.result(result);
+ if (!create_hashdir(s, result, hashdir))
+ return;
+
+ module = hashdir + "/typequery_" + result
+ + (name[0] == 'k' ? ".ko" : ".so");
+}
+
/* vim: set sw=2 ts=8 cino=>4,n-2,{2,^-2,t0,(0,u0,w1,M1 : */