aboutsummaryrefslogtreecommitdiff
path: root/man/man3/getcallerpc.3
diff options
context:
space:
mode:
Diffstat (limited to 'man/man3/getcallerpc.3')
-rw-r--r--man/man3/getcallerpc.338
1 files changed, 38 insertions, 0 deletions
diff --git a/man/man3/getcallerpc.3 b/man/man3/getcallerpc.3
new file mode 100644
index 00000000..8fc86d8c
--- /dev/null
+++ b/man/man3/getcallerpc.3
@@ -0,0 +1,38 @@
+.TH GETCALLERPC 3
+.SH NAME
+getcallerpc \- fetch return PC of current function
+.SH SYNOPSIS
+.br
+.B #include <u.h>
+.br
+.B #include <libc.h>
+.PP
+.B ulong getcallerpc(void *firstarg)
+.SH DESCRIPTION
+.I Getcallerpc
+is a portable way to discover the PC to which the current function will return.
+.I Firstarg
+should be a pointer to the first argument to the function in question.
+.SH EXAMPLE
+.IP
+.EX
+void
+printpc(ulong arg)
+{
+ print("Called from %.8lux\en", getcallerpc(&arg));
+}
+
+void
+main(int argc, char *argv[])
+{
+ printpc(0);
+ printpc(0);
+ printpc(0);
+}
+.EE
+.SH SOURCE
+.B /sys/src/libc/$objtype/getcallerpc.[cs]
+.SH BUGS
+The
+.I firstarg
+parameter should not be necessary.