#pragma once

class Interp;

namespace linuxcnc {
class IniFile;
}

namespace standalone {

int axis_mask_from_coordinates(const char *coordinates);
int axis_mask_from_ini(const char *ini_path);
void apply_axis_mask_to_interp(Interp &interp, int axis_mask);
void apply_machine_axis_config(Interp &interp, const linuxcnc::IniFile &ini);
bool apply_machine_axis_config(Interp &interp, const char *ini_path);
int load_tool_table_from_ini(Interp &interp, const linuxcnc::IniFile &ini, const char *machine_dir);
int load_tool_table_from_ini(Interp &interp, const char *ini_path);
void reset_user_m_code_registry();
int register_user_m_codes_from_ini(const linuxcnc::IniFile &ini, const char *machine_dir);
int register_user_m_codes_from_ini(const char *ini_path);

}  // namespace standalone
