
int get_message_number (void);

int get_current_thread_id (void);

Clean (start_compiler_process :: String String String -> (Int,Int,Int,Int))
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);

Clean (send_string_to_thread :: Int Int Int String -> Int)
int send_string_to_thread (int thread_id,int thread_handle,int wm_number,CleanString s);

int send_integers_to_thread (int thread_id,int wm_number,int i1,int i2);

Clean (get_integers_from_message :: Int -> (Int,Int,Int))
int get_integers_from_message (int wm_number,int *i1_p,int *i2_p);

Clean (get_integers_from_thread_message :: Int Int -> (Int,Int,Int))
int get_integers_from_thread_message (int wm_number,int thread_handle,int *i1_p,int *i2_p);

Clean (get_string_from_file_map_and_delete_map :: Int String -> Int)
int get_string_from_file_map_and_delete_map (int file_map,CleanString s);
