Sha256: 625d32c817efb64b96a10aba1a71b832d9f073a5ba8b561042d9d063fb2451e5

Contents?: true

Size: 764 Bytes

Versions: 6

Compression:

Stored size: 764 Bytes

Contents

#ifndef _CALLBACK_H
#define	_CALLBACK_H

#include "Types.h"

#ifdef	__cplusplus
extern "C" {
#endif
#include <ffi.h>
    
typedef struct {
    NativeType returnType;
    NativeType* parameterTypes;
    ffi_type* ffiReturnType;
    ffi_type** ffiParameterTypes;
    ffi_cif ffi_cif;
    int parameterCount;
    int flags;
    ffi_abi abi;
} CallbackInfo;

typedef struct {
    void* code;
    ffi_closure* ffi_closure;
    ffi_cif ffi_cif;
    int flags;
    CallbackInfo* cbInfo;
    VALUE rbCallbackInfo;
    VALUE rbProc;
} NativeCallback;

extern VALUE rb_FFI_CallbackInfo_class;
extern VALUE rb_FFI_NativeCallback_new(VALUE, VALUE);
extern VALUE rb_FFI_NativeCallback_for_proc(VALUE proc, VALUE cbInfo);

#ifdef	__cplusplus
}
#endif

#endif	/* _CALLBACK_H */

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ffi-0.3.0 ext/ffi_c/Callback.h
ffi-0.3.1 ext/ffi_c/Callback.h
ffi-0.3.2 ext/ffi_c/Callback.h
ffi-0.3.5 ext/ffi_c/Callback.h
ffi-0.3.4 ext/ffi_c/Callback.h
ffi-0.3.3 ext/ffi_c/Callback.h