17 typedef char symbol_char;
19 #define STRING_LITERAL(string) string
23 #define STRNCMP strncmp
25 #define SNPRINTF snprintf
30 #define CELL_HEX_FORMAT "%lx"
32 #define OPEN_READ(path) fopen(path,"rb")
33 #define OPEN_WRITE(path) fopen(path,"wb")
34 #define MOVE_FILE(path1,path2) \
38 ret = rename((path1),(path2));\
39 } while(ret < 0 && errno == EINTR);\
41 general_error(ERROR_IO,tag_fixnum(errno),false_object,NULL);\
44 #define print_native_string(string) print_string(string)
46 typedef pthread_t THREADHANDLE;
48 THREADHANDLE start_thread(void *(*start_routine)(void *),void *args);
49 inline static THREADHANDLE thread_id() { return pthread_self(); }
51 void unix_init_signals();
52 void signal_handler(int signal, siginfo_t* siginfo, void* uap);
53 void dump_stack_signal(int signal, siginfo_t* siginfo, void* uap);
57 void sleep_nanos(u64 nsec);
59 void init_platform_globals();
61 void register_vm_with_thread(factor_vm *vm);