summaryrefslogtreecommitdiff
path: root/ext/dl/lib/dl/win32.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/dl/lib/dl/win32.rb')
-rw-r--r--ext/dl/lib/dl/win32.rb25
1 files changed, 0 insertions, 25 deletions
diff --git a/ext/dl/lib/dl/win32.rb b/ext/dl/lib/dl/win32.rb
deleted file mode 100644
index 92f473d392..0000000000
--- a/ext/dl/lib/dl/win32.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- ruby -*-
-
-require 'dl'
-
-class Win32API
- DLL = {}
-
- def initialize(dllname, func, import, export = "0")
- prototype = (export + import.to_s).tr("VPpNnLlIi", "0SSI")
- handle = DLL[dllname] ||= DL::Handle.new(dllname)
- @sym = handle.sym(func, prototype)
- end
-
- def call(*args)
- import = @sym.proto.split("", 2)[1]
- args.each_with_index do |x, i|
- args[i] = nil if x == 0 and import[i] == ?S
- args[i], = [x].pack("I").unpack("i") if import[i] == ?I
- end
- ret, = @sym.call(*args)
- return ret || 0
- end
-
- alias Call call
-end