/*
 * $Id: libmondo-devices.h 30 2005-09-28 23:32:28Z bcornec $
 */

bool am_I_in_disaster_recovery_mode (void);
bool does_device_exist (char *device);
int does_partition_exist (const char *drive, int partno);
bool does_string_exist_in_boot_block (char *dev, char *str);
int find_and_mount_actual_cd (struct s_bkpinfo *bkpinfo, char *mountpoint);
int find_cdrom_device (char *output, bool try_to_mount);
int find_dvd_device (char *output, bool try_to_mount);
long get_phys_size_of_drive (char *drive);
bool is_this_a_valid_disk_format (char *format);
int mount_CDROM_here (char *device, char *mountpoint);
int find_device_in_mountlist (struct mountlist_itself *mountlist, char *device);
bool is_this_device_mounted (char *device_raw);
char *where_is_root_mounted (void);
char *make_vn (char *file);
int kick_vn (char *vn);
char which_boot_loader (char *which_device);



int find_cdrw_device (char *cdrw_device);

int interactively_obtain_media_parameters_from_user(struct s_bkpinfo *, bool);



void make_fifo(char*store_name_here, char*stub);

void insist_on_this_cd_number (struct s_bkpinfo* bkpinfo, int cd_number_i_want);

int what_number_cd_is_this(struct s_bkpinfo *bkpinfo);

int eject_device(char*);

char *list_of_NFS_devices_and_mounts();
char *list_of_NFS_mounts_only();

void sensibly_set_tmpdir_and_scratchdir(struct s_bkpinfo *bkpinfo);


bool set_dev_to_this_if_rx_OK(char *output, char*dev);


void retract_CD_tray_and_defeat_autorun(void);
bool does_string_exist_in_first_N_blocks (char *dev, char *str, int n);

int inject_device(char*dev);

bool does_nonMS_partition_exist(void);
char *resolve_softlinks_to_get_to_actual_device_file(char*incoming);
void set_g_cdrom_and_g_dvd_to_bkpinfo_value(struct s_bkpinfo*bkpinfo);

bool is_dev_an_NTFS_dev(char *bigfile_fname);

char *which_partition_format(const char *drive);
