diff --git a/node-ffi/node-ffi-tests.ts b/node-ffi/node-ffi-tests.ts index 407036d39..383470503 100644 --- a/node-ffi/node-ffi-tests.ts +++ b/node-ffi/node-ffi-tests.ts @@ -28,6 +28,10 @@ import TArray = require('ref-array'); func(-5); func.async(-5, function(err: any, res: any) {}); } +{ + var funcPtr = ffi.Callback('int', [ 'int' ], Math.abs); + var func = ffi.ForeignFunction(funcPtr, 'int', [ 'int' ]); +} { var printfPointer = ffi.DynamicLibrary().get('printf'); var printfGen = ffi.VariadicForeignFunction(printfPointer, 'void', [ 'string' ]); diff --git a/node-ffi/node-ffi.d.ts b/node-ffi/node-ffi.d.ts index b2bdd522d..957cf5793 100644 --- a/node-ffi/node-ffi.d.ts +++ b/node-ffi/node-ffi.d.ts @@ -140,10 +140,10 @@ declare module "ffi" { * accept C callback functions. */ export var Callback: { - new (retType: any, argTypes: any[], abi: number, fn: Function): NodeBuffer; - new (retType: any, argTypes: any[], fn: Function): NodeBuffer; - (retType: any, argTypes: any[], abi: number, fn: Function): NodeBuffer; - (retType: any, argTypes: any[], fn: Function): NodeBuffer; + new (retType: any, argTypes: any[], abi: number, fn: any): NodeBuffer; + new (retType: any, argTypes: any[], fn: any): NodeBuffer; + (retType: any, argTypes: any[], abi: number, fn: any): NodeBuffer; + (retType: any, argTypes: any[], fn: any): NodeBuffer; } export var ffiType: { @@ -154,8 +154,8 @@ declare module "ffi" { FFI_TYPE: StructType; } - export var CIF: Function; - export var CIF_var: Function; + export var CIF: (retType: any, types: any[], abi?: any) => NodeBuffer + export var CIF_var: (retType: any, types: any[], numFixedArgs: number, abi?: any) => NodeBuffer; export var HAS_OBJC: boolean; export var FFI_TYPES: {[key: string]: NodeBuffer}; export var FFI_OK: number;