Sha256: fe1e1a4391d56e0bc39ee992041f9a5dc54ee0b4f65f1d037f15275269506937

Contents?: true

Size: 871 Bytes

Versions: 31

Compression:

Stored size: 871 Bytes

Contents

#ifndef RUBYFFI_CLOSUREPOOL_H
#define RUBYFFI_CLOSUREPOOL_H

typedef struct ClosurePool_ ClosurePool;
typedef struct Closure_ Closure;

struct Closure_ {
    void* info;      /* opaque handle for storing closure-instance specific data */
    void* function;  /* closure-instance specific function, called by custom trampoline */
    void* code;      /* The native trampoline code location */
    struct ClosurePool_* pool;
    Closure* next;
};

void rbffi_ClosurePool_Init(VALUE module);

ClosurePool* rbffi_ClosurePool_New(int closureSize, 
        bool (*prep)(void* ctx, void *code, Closure* closure, char* errbuf, size_t errbufsize),
        void* ctx);

void rbffi_ClosurePool_Free(ClosurePool *);

Closure* rbffi_Closure_Alloc(ClosurePool *);
void rbffi_Closure_Free(Closure *);

void* rbffi_Closure_GetCodeAddress(Closure *);

#endif /* RUBYFFI_CLOSUREPOOL_H */

Version data entries

31 entries across 31 versions & 3 rubygems

Version Path
ffi-0.6.4 ext/ffi_c/ClosurePool.h
resque-pool-0.3.0 vendor/bundle/ruby/1.8/gems/ffi-0.6.3/ext/ffi_c/ClosurePool.h
resque-pool-0.3.0.beta.2 vendor/bundle/ruby/1.8/gems/ffi-0.6.3/ext/ffi_c/ClosurePool.h
ffi-1.0.4-x86-mingw32 ext/ffi_c/ClosurePool.h
ffi-1.0.4 ext/ffi_c/ClosurePool.h
ffi-1.0.3-x86-mingw32 ext/ffi_c/ClosurePool.h
ffi-1.0.3 ext/ffi_c/ClosurePool.h
ffi-1.0.2-x86-mingw32 ext/ffi_c/ClosurePool.h
ffi-1.0.2 ext/ffi_c/ClosurePool.h
ffi-1.0.1-x86-mingw32 ext/ffi_c/ClosurePool.h
ffi-1.0.1 ext/ffi_c/ClosurePool.h
ffi-1.0.0 ext/ffi_c/ClosurePool.h
ffi-aitrus-0.9.0.beta ext/ffi_c/ClosurePool.h
ffi-0.6.3-x86-mingw32 ext/ffi_c/ClosurePool.h
ffi-0.6.3-x86-mswin32 ext/ffi_c/ClosurePool.h
ffi-0.6.3 ext/ffi_c/ClosurePool.h
ffi-0.6.2 ext/ffi_c/ClosurePool.h
ffi-0.6.1 ext/ffi_c/ClosurePool.h
ffi-0.6.0 ext/ffi_c/ClosurePool.h
ffi-0.5.4-x86-mswin32 ext/ffi_c/ClosurePool.h