+/* Distance preferences */
+typedef enum {
+ VIK_UNITS_DISTANCE_KILOMETRES,
+ VIK_UNITS_DISTANCE_MILES,
+ VIK_UNITS_DISTANCE_NAUTICAL_MILES,
+} vik_units_distance_t;
+
+vik_units_distance_t a_vik_get_units_distance ( );
+
+/* Speed preferences */
+typedef enum {
+ VIK_UNITS_SPEED_KILOMETRES_PER_HOUR,
+ VIK_UNITS_SPEED_MILES_PER_HOUR,
+ VIK_UNITS_SPEED_METRES_PER_SECOND,
+ VIK_UNITS_SPEED_KNOTS,
+} vik_units_speed_t;
+
+vik_units_speed_t a_vik_get_units_speed ( );
+
+/* Height (Depth) preferences */
+typedef enum {
+ VIK_UNITS_HEIGHT_METRES,
+ VIK_UNITS_HEIGHT_FEET,
+} vik_units_height_t;
+
+vik_units_height_t a_vik_get_units_height ( );
+
+gboolean a_vik_get_use_large_waypoint_icons ( );
+
+/* Location preferences */
+typedef enum {
+ VIK_LOCATION_LAT,
+ VIK_LOCATION_LONG,
+} vik_location_t;
+
+gdouble a_vik_get_default_lat ( );
+gdouble a_vik_get_default_long ( );
+
+// Time display format
+typedef enum {
+ VIK_TIME_REF_LOCALE, // User's locale
+ VIK_TIME_REF_WORLD, // Derive the local timezone at the object's position
+ VIK_TIME_REF_UTC,
+} vik_time_ref_frame_t;
+
+vik_time_ref_frame_t a_vik_get_time_ref_frame ( );
+
+/* KML export preferences */
+typedef enum {
+ VIK_KML_EXPORT_UNITS_METRIC,
+ VIK_KML_EXPORT_UNITS_STATUTE,
+ VIK_KML_EXPORT_UNITS_NAUTICAL,
+} vik_kml_export_units_t;
+
+vik_kml_export_units_t a_vik_get_kml_export_units ( );
+
+typedef enum {
+ VIK_GPX_EXPORT_TRK_SORT_ALPHA,
+ VIK_GPX_EXPORT_TRK_SORT_TIME,
+ VIK_GPX_EXPORT_TRK_SORT_CREATION,
+} vik_gpx_export_trk_sort_t;
+
+vik_gpx_export_trk_sort_t a_vik_get_gpx_export_trk_sort ( );
+
+typedef enum {
+ VIK_GPX_EXPORT_WPT_SYM_NAME_TITLECASE,
+ VIK_GPX_EXPORT_WPT_SYM_NAME_LOWERCASE,
+} vik_gpx_export_wpt_sym_name_t;
+
+vik_gpx_export_wpt_sym_name_t a_vik_gpx_export_wpt_sym_name ( );
+
+#ifndef WINDOWS
+/* Windows automatically uses the system defined viewer
+ ATM for other systems need to specify the program to use */
+const gchar* a_vik_get_image_viewer ( );
+#endif
+
+const gchar* a_vik_get_external_gpx_program_1 ( );
+
+const gchar* a_vik_get_external_gpx_program_2 ( );
+
+/* File reference preferences - mainly in saving of a viking file */
+typedef enum {
+ VIK_FILE_REF_FORMAT_ABSOLUTE,
+ VIK_FILE_REF_FORMAT_RELATIVE,
+} vik_file_ref_format_t;
+
+vik_file_ref_format_t a_vik_get_file_ref_format ( );
+
+gboolean a_vik_get_ask_for_create_track_name ( );
+
+gboolean a_vik_get_create_track_tooltip ( );
+
+gboolean a_vik_get_restore_window_state ( );
+
+gboolean a_vik_get_add_default_map_layer ( );
+
+typedef enum {
+ VIK_STARTUP_METHOD_HOME_LOCATION,
+ VIK_STARTUP_METHOD_LAST_LOCATION,
+ VIK_STARTUP_METHOD_SPECIFIED_FILE,
+ VIK_STARTUP_METHOD_AUTO_LOCATION,
+} vik_startup_method_t;
+
+vik_startup_method_t a_vik_get_startup_method ( );
+
+const gchar *a_vik_get_startup_file ( );
+
+gboolean a_vik_get_check_version ( );
+
+gint a_vik_get_recent_number_files ( );
+