macro c(restype, fnc, argtypes) local args = [symbol("a", n) for n in 1:length(argtypes.args)] quote $(esc(fnc))($(args...)) = ccall($(string(fnc)), $restype, $argtypes, $(args...)) end end
macro m(lib, restype, fnc, argtypes) local args = [symbol("a", n) for n in 1:length(argtypes.args)] quote $(esc(fnc))($(args...)) = ccall(($(string(fnc)), $(Expr(:quote, lib))), $restype, $argtypes, $(args...)) end end
macro w(lib, restype, fnc, argtypes) local args = [symbol("a", n) for n in 1:length(argtypes.args)] quote $(esc(fnc))($(args...)) = ccall(($(string(fnc)), $(Expr(:quote, lib))), stdcall, $restype, $argtypes, $(args...)) end end