factor/native/ffi.h

35 lines
669 B
C
Raw Normal View History

2004-09-18 18:15:01 -04:00
typedef struct {
CELL header;
void* dll;
} DLL;
INLINE DLL* untag_dll(CELL tagged)
{
type_check(DLL_TYPE,tagged);
return (DLL*)UNTAG(tagged);
}
2004-09-19 17:39:28 -04:00
typedef struct {
CELL header;
CELL ptr;
CELL length;
} ALIEN;
INLINE ALIEN* untag_alien(CELL tagged)
{
type_check(ALIEN_TYPE,tagged);
return (ALIEN*)UNTAG(tagged);
}
2004-09-18 18:15:01 -04:00
void primitive_dlopen(void);
void primitive_dlsym(void);
void primitive_dlsym_self(void);
void primitive_dlclose(void);
2004-09-19 17:39:28 -04:00
void primitive_alien(void);
void primitive_alien_cell(void);
void primitive_set_alien_cell(void);
void primitive_alien_4(void);
void primitive_set_alien_4(void);
void primitive_alien_1(void);
void primitive_set_alien_1(void);