summaryrefslogtreecommitdiffstats
path: root/lib/e17/ffi_helper.rb
blob: 5aaf7a4f3ac0d9c0c2786575673e8899b787830c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#! /usr/bin/env ruby
# -*- coding: UTF-8 -*-
#
require 'ffi'
#
module FFIHelper
    def attach_fcts fcts
        fcts.each do |func|
            begin
                attach_function *func
            rescue Object => e
                puts "Could not attach #{func} #{e.message}"
            end
        end
    end
    def create_aliases l, fcts
        module_eval <<-code
        class << self
            #{fcts.map{ |f,a,r| "alias #{f.to_s[l..-1]} #{f}" }.join "\n" }
        end
        code
    end
end
#
# EOF