implementation module thread_message; get_message_number :: Int; get_message_number = code { ccall get_message_number ":I" }; // int get_message_number (); get_current_thread_id :: Int; get_current_thread_id = code { ccall get_current_thread_id ":I" }; // int get_current_thread_id (); start_compiler_process :: !String !String !String -> (!Int,!Int,!Int,!Int); start_compiler_process a0 a1 a2 = code { ccall start_compiler_process "SSS:IIII" }; // int start_compiler_process (CleanString compiler_path,CleanString compiler_directory,CleanString command,int* compiler_thread_id_p,int* compiler_thread_handle_p,int* process_handle_p); send_string_to_thread :: !Int !Int !Int !String -> Int; send_string_to_thread a0 a1 a2 a3 = code { ccall send_string_to_thread "IIIS:I" }; // int send_string_to_thread (int thread_id,int thread_handle,int wm_number,CleanString s); send_integers_to_thread :: !Int !Int !Int !Int -> Int; send_integers_to_thread a0 a1 a2 a3 = code { ccall send_integers_to_thread "IIII:I" }; // int send_integers_to_thread (int thread_id,int wm_number,int i1,int i2); get_integers_from_message :: !Int -> (!Int,!Int,!Int); get_integers_from_message a0 = code { ccall get_integers_from_message "I:III" }; // int get_integers_from_message (int wm_number,int* i1_p,int* i2_p); get_integers_from_thread_message :: !Int !Int -> (!Int,!Int,!Int); get_integers_from_thread_message a0 a1 = code { ccall get_integers_from_thread_message "II:III" }; // int get_integers_from_thread_message (int wm_number,int thread_handle,int* i1_p,int* i2_p); get_string_from_file_map_and_delete_map :: !Int !String -> Int; get_string_from_file_map_and_delete_map a0 a1 = code { ccall get_string_from_file_map_and_delete_map "IS:I" }; // int get_string_from_file_map_and_delete_map (int file_map,CleanString s);