]> gitweb.factorcode.org Git - factor.git/blob - vm/alien.hpp
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / vm / alien.hpp
1 namespace factor
2 {
3
4 cell allot_alien(cell delegate, cell displacement);
5
6 PRIMITIVE(displaced_alien);
7 PRIMITIVE(alien_address);
8
9 PRIMITIVE(alien_signed_cell);
10 PRIMITIVE(set_alien_signed_cell);
11 PRIMITIVE(alien_unsigned_cell);
12 PRIMITIVE(set_alien_unsigned_cell);
13 PRIMITIVE(alien_signed_8);
14 PRIMITIVE(set_alien_signed_8);
15 PRIMITIVE(alien_unsigned_8);
16 PRIMITIVE(set_alien_unsigned_8);
17 PRIMITIVE(alien_signed_4);
18 PRIMITIVE(set_alien_signed_4);
19 PRIMITIVE(alien_unsigned_4);
20 PRIMITIVE(set_alien_unsigned_4);
21 PRIMITIVE(alien_signed_2);
22 PRIMITIVE(set_alien_signed_2);
23 PRIMITIVE(alien_unsigned_2);
24 PRIMITIVE(set_alien_unsigned_2);
25 PRIMITIVE(alien_signed_1);
26 PRIMITIVE(set_alien_signed_1);
27 PRIMITIVE(alien_unsigned_1);
28 PRIMITIVE(set_alien_unsigned_1);
29 PRIMITIVE(alien_float);
30 PRIMITIVE(set_alien_float);
31 PRIMITIVE(alien_double);
32 PRIMITIVE(set_alien_double);
33 PRIMITIVE(alien_cell);
34 PRIMITIVE(set_alien_cell);
35
36 PRIMITIVE(dlopen);
37 PRIMITIVE(dlsym);
38 PRIMITIVE(dlclose);
39 PRIMITIVE(dll_validp);
40
41 VM_C_API char *alien_offset(cell object);
42 VM_C_API char *unbox_alien();
43 VM_C_API void box_alien(void *ptr);
44 VM_C_API void to_value_struct(cell src, void *dest, cell size);
45 VM_C_API void box_value_struct(void *src, cell size);
46 VM_C_API void box_small_struct(cell x, cell y, cell size);
47 VM_C_API void box_medium_struct(cell x1, cell x2, cell x3, cell x4, cell size);
48
49 }