aboutsummaryrefslogtreecommitdiffstats
path: root/ext/fiddle/fiddle.c
diff options
context:
space:
mode:
authorzzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-11-27 23:26:07 +0000
committerzzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-11-27 23:26:07 +0000
commit9c831edbf4f30fdcf90d8c991ded624c27898874 (patch)
tree65e7dc87ad5016d456ef5aa81ef80639e614eb6d /ext/fiddle/fiddle.c
parent7e4b6fa7d601a5a15b760e8bccd3f583ea89fef7 (diff)
downloadruby-9c831edbf4f30fdcf90d8c991ded624c27898874.tar.gz
* ext/fiddle/closure.c: Documentation for Fiddle
* ext/fiddle/pointer.c: ditto * ext/fiddle/function.c: ditto * ext/fiddle/lib/fiddle.rb: ditto * ext/fiddle/fiddle.c: ditto * ext/fiddle/handle.c: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/fiddle/fiddle.c')
-rw-r--r--ext/fiddle/fiddle.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/ext/fiddle/fiddle.c b/ext/fiddle/fiddle.c
index 06b08639f4..c4b590ca84 100644
--- a/ext/fiddle/fiddle.c
+++ b/ext/fiddle/fiddle.c
@@ -135,9 +135,34 @@ Init_fiddle(void)
/*
* Document-module: Fiddle
*
+ * A libffi wrapper for Ruby.
+ *
* == Description
*
- * A libffi wrapper.
+ * Fiddle is an extension to translate a foreign function interface (FFI)
+ * with ruby.
+ *
+ * It wraps {libffi}[http://sourceware.org/libffi/], a popular C library
+ * which provides a portable interface that allows code written in one
+ * language to clal code written in another language.
+ *
+ * == Example
+ *
+ * Here we will use Fiddle::Function to wrap {floor(3) from
+ * libm}[http://linux.die.net/man/3/floor]
+ *
+ * require 'fiddle'
+ *
+ * libm = Fiddle.dlopen('/lib/libm.so.6')
+ *
+ * floor = Fiddle::Function.new(
+ * libm['floor'],
+ * [Fiddle::TYPE_DOUBLE],
+ * Fiddle::TYPE_DOUBLE
+ * )
+ *
+ * puts floor.call(3.14159) #=> 3.0
+ *
*
*/
mFiddle = rb_define_module("Fiddle");