/*************************************************************************** mondo-rstr-newt.h - description ------------------- begin : Sat Apr 20 2002 copyright : (C) 2002 by Stan Benoit email : troff@nakedsoul.org cvsid : $Id: mondo-rstr-newt.h 1103 2007-02-06 10:10:01Z bruno $ ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #include "my-stuff.h" #include "../common/mondostructures.h" #include "../common/libmondo.h" #ifdef __FreeBSD__ #define raid_device_record vinum_volume #endif /*__FreeBSD__*/ #define NO_FLAWS_DETECTED "No flaws detected in mountlist at this time. Hit 'OK' to proceed." /** I found this in the code :) *******************************************/ char g_strings_of_flist_window[ARBITRARY_MAXIMUM][MAX_STR_LEN]; bool g_is_path_selected[ARBITRARY_MAXIMUM]; bool g_is_path_expanded[ARBITRARY_MAXIMUM]; char tmpnopath[MAX_STR_LEN + 2]; char tmpprevpath[MAX_STR_LEN + 2]; /* external subroutines and global vars */ extern long get_time(void); extern char *last_line_of_file(char *); extern void center_string(char *, int); extern bool does_file_exist(char *); extern void finish(int); extern long get_phys_size_of_drive(char *); extern bool is_this_device_mounted(char *); extern void strip_spaces(char *); extern void initialize_raidrec(struct raid_device_record *); extern int make_list_of_drives(struct mountlist_itself *, char[ARBITRARY_MAXIMUM][MAX_STR_LEN]); char *number_to_text(int); extern void reload_filelist(struct s_node *); extern void toggle_all_root_dirs_on(struct s_node *); extern void toggle_path_expandability(struct s_node *, char *, bool); extern void toggle_path_selection(struct s_node *, char *, bool); extern void toggle_node_selection(struct s_node *, bool); extern struct s_node *find_node_in_filelist(struct s_node *, char *filename); extern int what_number_cd_is_this(struct s_bkpinfo *); //extern void fatal_error (char *); extern void sort_mountlist_by_device(struct mountlist_itself *); extern int load_mountlist(struct mountlist_itself *a, char *b); extern bool g_text_mode; /* hacks */ extern int load_raidtab_into_raidlist(struct raidlist_itself *a, char *b); extern long g_start_time, g_minimum_progress, g_maximum_progress, g_current_progress, g_currentY; extern bool g_ISO_restore_mode; /* my global variables */ //extern newtComponent g_progressForm, g_blurb1, g_blurb2, g_blurb3, g_label, // g_timeline, g_percentline, g_scale; //extern char err_log_lines[NOOF_ERR_LINES][MAX_STR_LEN], g_blurb_str_1[MAX_STR_LEN] = // "", g_blurb_str_2[MAX_STR_LEN] = "", g_blurb_str_3[MAX_STR_LEN] = ""; //newtComponent g_isoform_main = // NULL, g_isoform_header, g_isoform_scale, g_isoform_timeline, // g_isoform_pcline; //long g_isoform_starttime; //int g_isoform_old_progress = -1; //char g_isoform_header_str[MAX_STR_LEN]; //int g_mysterious_dot_counter; /* my subroutines */ void add_disklist_entry(struct list_of_disks *, char *, struct mountlist_itself *); void add_mountlist_entry(struct mountlist_itself *, struct raidlist_itself *, newtComponent, int, void *keylist[]); void add_varslist_entry(struct raid_device_record *); bool ask_me_yes_or_no(char *); bool ask_me_OK_or_cancel(char *); long calculate_raid_device_size(struct mountlist_itself *, struct raidlist_itself *, char *); void choose_raid_level(struct #ifdef __FreeBSD__ vinum_plex #else raid_device_record #endif *); void close_evalcall_form(void); void close_progress_form(void); void del_partns_listed_in_disklist(struct mountlist_itself *, struct raidlist_itself *, struct list_of_disks *); void delete_disklist_entry(struct list_of_disks *, char *, int); void delete_mountlist_entry(struct mountlist_itself *, struct raidlist_itself *, newtComponent, int, void *keylist[]); void delete_raidlist_entry(struct mountlist_itself *, struct raidlist_itself *, char *); void delete_varslist_entry(struct raid_device_record *, int); char *disklist_entry_to_string(struct list_of_disks *, int); int edit_filelist(struct s_node *); void edit_mountlist_entry(struct mountlist_itself *, struct raidlist_itself *, newtComponent, int, void *keylist[]); void edit_raidlist_entry(struct mountlist_itself *, struct raidlist_itself *, struct raid_device_record *, int); void edit_varslist_entry(struct raid_device_record *, int); int edit_mountlist_in_newt(char *mountlist_fname, struct mountlist_itself *, struct raidlist_itself *); int edit_mountlist(char *mountlist_fname, struct mountlist_itself *, struct raidlist_itself *); void edit_raidrec_additional_vars(struct raid_device_record *); int evaluate_drive_within_mountlist(struct mountlist_itself *, char *, char *); int evaluate_mountlist(struct mountlist_itself *, char *, char *, char *); int find_device_in_mountlist(struct mountlist_itself *, char *); int find_next_free_index_in_disklist(struct list_of_disks *); int find_raid_device_in_raidlist(struct raidlist_itself *, char *); bool get_isodir_info(char *, char *, char *, bool); void initiate_new_raidlist_entry(struct raidlist_itself *, struct mountlist_itself *, int, char *); void insert_essential_additionalvars(struct raid_device_record *); bool is_this_raid_personality_registered(int); void log_file_end_to_screen(char *, char *); void log_to_screen(const char *fmt, ...); int look_for_duplicate_mountpoints(struct mountlist_itself *, char *); int look_for_weird_formats(struct mountlist_itself *, char *); void make_list_of_unallocated_raid_partitions(struct mountlist_itself *, struct mountlist_itself *, struct raidlist_itself *); char *mountlist_entry_to_string(struct mountlist_itself *, int); void mvaddstr_and_log_it(int, int, char *); void nuke_mode_dummy(void); char *number_of_disks_as_string(int, char *); void open_evalcall_form(char *); void open_progress_form(char *, char *, char *, char *, long); void popup_and_OK(char *); bool popup_and_get_string(char *, char *, char *, int); bool popup_with_buttons(char *, char *, char *); void redraw_disklist(struct list_of_disks *, void *keylist[], newtComponent); void redraw_mountlist(struct mountlist_itself *, void *keylist[], newtComponent); void redraw_unallocpartnslist(struct mountlist_itself *, void *keylist[], newtComponent); void redraw_varslist(struct additional_raid_variables *, void *keylist[], newtComponent); int read_variableINT_and_remove_from_raidvars(struct raid_device_record *, char *); void refresh_log_screen(void); void rejig_partition_name_in_raidlist_if_necessary(struct raidlist_itself *, char *, char *); void remove_essential_additionalvars(struct raid_device_record *); void select_raid_disks(struct mountlist_itself *, struct raidlist_itself *, struct raid_device_record *, char *, struct list_of_disks *); void setup_newt_stuff(void); long size_of_specific_device(struct mountlist_itself *, char *); bool spread_flaws_across_three_lines(char *, char *, char *, char *, int); char *turn_raid_level_number_to_string(int); void update_evalcall_form(int); void update_progress_form(char *); void update_progress_form_full(char *, char *, char *); char which_restore_mode(void); void write_variableINT_to_raid_var_line(struct raid_device_record *, int, char *, int); int where_in_drivelist_is_drive(struct list_of_disks *, char *); char *strip_path(char *); /* -------------------------------------------------------------------- */ char tmpnopath[MAX_STR_LEN + 2]; char tmpprevpath[MAX_STR_LEN + 2]; #ifdef __FreeBSD__ #undef raid_device_record #endif