summaryrefslogtreecommitdiff
path: root/usr/rsc/fib/6c.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-08-24 17:30:00 -0700
committerRuss Cox <rsc@golang.org>2009-08-24 17:30:00 -0700
commitb5581bb7ceb7984d71d4a1fe845deb77cf8a697b (patch)
treed050621c48935fe92a55747351ede747cb1c210f /usr/rsc/fib/6c.c
parent83b749573cef6ceeac24202b3bc14d2860828490 (diff)
downloadgolang-b5581bb7ceb7984d71d4a1fe845deb77cf8a697b.tar.gz
start of FFI support, and a demo.
R=r DELTA=494 (492 added, 0 deleted, 2 changed) OCL=33784 CL=33810
Diffstat (limited to 'usr/rsc/fib/6c.c')
-rw-r--r--usr/rsc/fib/6c.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/usr/rsc/fib/6c.c b/usr/rsc/fib/6c.c
new file mode 100644
index 000000000..23ed84638
--- /dev/null
+++ b/usr/rsc/fib/6c.c
@@ -0,0 +1,20 @@
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+#include "runtime.h"
+#include "cgocall.h"
+
+// turn on ffi
+#pragma dynld initcgo initcgo "libcgo.so"
+#pragma dynld cgo cgo "libcgo.so"
+
+// pull in fib from fib.so
+#pragma dynld extern_c_fib fib "fib.so"
+void (*extern_c_fib)(void*);
+
+void
+fibĀ·Fib(int32 n, int32, int32)
+{
+ cgocall(extern_c_fib, &n);
+}