diff options
author | Javier <dev.git@javispedro.com> | 2022-04-15 10:59:31 +0200 |
---|---|---|
committer | Javier <dev.git@javispedro.com> | 2022-04-15 10:59:31 +0200 |
commit | 0f0a806e22895c5b7a6244e951c4f475a25184f8 (patch) | |
tree | 10aa1e1e8b838d06eacdcfd78a341d1a3634eda3 | |
parent | 30c3e414c423bcbfe10b1e40bb8a0e01d3eec7c9 (diff) | |
download | vbados-0f0a806e22895c5b7a6244e951c4f475a25184f8.tar.gz vbados-0f0a806e22895c5b7a6244e951c4f475a25184f8.zip |
add rescan option to redo automounts, in case user changes them
-rw-r--r-- | mousetsr.h | 12 | ||||
-rw-r--r-- | sfmain.c | 24 | ||||
-rw-r--r-- | sftsr.h | 3 |
3 files changed, 31 insertions, 8 deletions
@@ -39,6 +39,13 @@ /** Trace events verbosily */ #define TRACE_EVENTS 0 +#define VERSION_MAJOR 0 +#define VERSION_MINOR 5 + +/** The report MS MOUSE compatible version to programs who ask for it. */ +#define REPORTED_VERSION_MAJOR 6 +#define REPORTED_VERSION_MINOR 0x30 + // End of user customizable defines #define USE_INTEGRATION (USE_VIRTUALBOX || USE_VMWARE) @@ -51,11 +58,6 @@ #define GRAPHIC_CURSOR_MASK_LEN (GRAPHIC_CURSOR_HEIGHT * GRAPHIC_CURSOR_SCANLINE_LEN) #define GRAPHIC_CURSOR_DATA_LEN (2 * GRAPHIC_CURSOR_MASK_LEN) -#define VERSION_MAJOR 0 -#define VERSION_MINOR 4 -#define REPORTED_VERSION_MAJOR 6 -#define REPORTED_VERSION_MINOR 0x30 - #if USE_VIRTUALBOX #include "vbox.h" @@ -319,6 +319,21 @@ static int unmount_all(LPTSRDATA data) return err; } +static int rescan(LPTSRDATA data) +{ + int err; + + if ((err = unmount_all(data))) { + return err; + } + + if ((err = automount(data))) { + return err; + } + + return 0; +} + static int configure_driver(LPTSRDATA data) { unsigned i; @@ -342,7 +357,6 @@ static int configure_driver(LPTSRDATA data) printf("Using timezone from TZ variable (%s)\n", tzname[0]); data->tz_offset = timezone / 2; } else { - printf("No TZ environment variable\n"); data->tz_offset = 0; } @@ -481,6 +495,7 @@ static void print_help(void) " list list available shared folders\n" " mount <FOLD> <X:> mount a shared folder into drive X:\n" " umount <X:> unmount shared folder from drive X:\n" + " rescan unmount everything and recreate automounts\n" ); } @@ -525,8 +540,6 @@ int main(int argc, const char *argv[]) LPTSRDATA data = get_tsr_data(true); int err, argi = 1; - //printf("\nVBSF %x.%x\n", VERSION_MAJOR, VERSION_MINOR); - if (argi >= argc || stricmp(argv[argi], "install") == 0) { bool high = true; @@ -541,6 +554,8 @@ int main(int argc, const char *argv[]) } } + printf("\nVBSharedFolders %x.%x\n", VERSION_MAJOR, VERSION_MINOR); + if (data) { printf("VBSF already installed\n"); print_help(); @@ -596,6 +611,9 @@ int main(int argc, const char *argv[]) if (!drive) return invalid_arg(argv[argi]); return unmount(data, drive); + } else if (stricmp(argv[argi], "rescan") == 0) { + if (!data) return driver_not_found(); + return rescan(data); } else { return invalid_arg(argv[argi]); } @@ -26,6 +26,9 @@ #include "vbox.h" #include "int21dos.h" +#define VERSION_MAJOR 0 +#define VERSION_MINOR 2 + #define LASTDRIVE 'Z' #define MAX_NUM_DRIVE (LASTDRIVE - 'A') #define NUM_DRIVES (MAX_NUM_DRIVE + 1) |