summaryrefslogtreecommitdiffstats
path: root/runtime/docs/examples
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/docs/examples')
-rw-r--r--runtime/docs/examples/argv.c12
-rw-r--r--runtime/docs/examples/foreach.c9
-rw-r--r--runtime/docs/examples/map.c7
3 files changed, 28 insertions, 0 deletions
diff --git a/runtime/docs/examples/argv.c b/runtime/docs/examples/argv.c
new file mode 100644
index 00000000..5200c350
--- /dev/null
+++ b/runtime/docs/examples/argv.c
@@ -0,0 +1,12 @@
+MAP arglist ;
+
+int inst_do_execve (char * filename, char __user *__user *argv, char __user *__user *envp, struct pt_regs * regs)
+{
+ struct map_node_str *ptr;
+
+ _stp_copy_argv_from_user (arglist, argv);
+
+ foreach (arglist, ptr)
+ printk ("%s ", ptr->str);
+ printk ("\n");
+}
diff --git a/runtime/docs/examples/foreach.c b/runtime/docs/examples/foreach.c
new file mode 100644
index 00000000..fc110674
--- /dev/null
+++ b/runtime/docs/examples/foreach.c
@@ -0,0 +1,9 @@
+/* example showing how to print all the stats in a map using foreach() */
+
+struct map_node_stat *ptr;
+
+foreach (map, ptr)
+ printf ("map[%s,%ld] = [c=%lld s=%lld min=%lld max=%lld]\n", key1str(ptr),
+ key2int(ptr), ptr->stats.count, ptr->stats.sum, ptr->stats.min,
+ ptr->stats.max);
+
diff --git a/runtime/docs/examples/map.c b/runtime/docs/examples/map.c
new file mode 100644
index 00000000..ca661d05
--- /dev/null
+++ b/runtime/docs/examples/map.c
@@ -0,0 +1,7 @@
+
+/* create a map with a max of 100 elements */
+MAP mymap = map_new(100, INT64);
+
+/* mymap[birth year] = 2000 */
+map_key_str (mymap, "birth year");
+map_set_int64 (mymap, 2000);