summaryrefslogtreecommitdiffstats
path: root/lib/e17/eina
diff options
context:
space:
mode:
Diffstat (limited to 'lib/e17/eina')
-rw-r--r--lib/e17/eina/eina_types-ffi.rb44
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/e17/eina/eina_types-ffi.rb b/lib/e17/eina/eina_types-ffi.rb
new file mode 100644
index 0000000..221effe
--- /dev/null
+++ b/lib/e17/eina/eina_types-ffi.rb
@@ -0,0 +1,44 @@
+#! /usr/bin/env ruby
+# -*- coding: UTF-8 -*-
+#
+require 'e17/ffi'
+#
+module E17
+ #
+ module Einatypes
+ def self.method_missing m, *args, &block
+ return E17::API.send 'eina_types_'+m.to_s, *args, &block
+ end
+ end
+ #
+ module API
+ #
+ #
+ ffi_lib 'eina'
+ #
+ # ENUMS
+ #
+ # TYPEDEFS
+ # typedef unsigned char Eina_Bool;
+ typedef :bool, :eina_bool
+ typedef :pointer, :eina_bool_p
+ #
+ # CALLBACKS
+ # typedef int (*Eina_Compare_Cb) (const void *data1, const void *data2);
+ callback :eina_compare_cb, [ :void_p, :void_p ], :int
+ # typedef Eina_Bool (*Eina_Each_Cb) (const void *container, void *data, void *fdata);
+ callback :eina_each_cb, [ :void_p, :void_p, :void_p ], :eina_bool
+ # typedef void (*Eina_Free_Cb) (void *data);
+ callback :eina_free_cb, [ :void_p ], :void
+ #
+ # FUNCTIONS
+ fcts = [
+ # EAPI extern const unsigned int eina_prime_table[];
+ # FIXME
+ ]
+ #
+ attach_fcts fcts
+ end
+end
+#
+# EOF