Menu

Tree [4a4224] master /
 History

HTTPS access


File Date Author Commit
 dosdefs.h 2022-06-13 Eduardo Casino Eduardo Casino [12eee5] Update file modification time in CloseFile()
 endtext.c 2011-11-03 eduardocasino eduardocasino [81b516] Initial version
 endtext.h 2011-11-03 eduardocasino eduardocasino [81b516] Initial version
 globals.h 2011-11-06 Eduardo Casino Eduardo Casino [b28cf0] New message printing macros
 history.txt 2022-06-13 Eduardo Casino Eduardo Casino [12eee5] Update file modification time in CloseFile()
 kitten.c unknown
 kitten.h unknown
 lfn.c 2011-11-06 Eduardo Casino Eduardo Casino [5877e0] Add support for lower case shares
 lfn.h 2011-11-03 eduardocasino eduardocasino [0a6ccf] Initial version
 license.txt unknown
 main.c 2011-11-06 Eduardo Casino Eduardo Casino [978bda] New /QQ Option
 makefile 2011-11-03 eduardocasino eduardocasino [7ca9ca] Add LFN (new object and segment order)
 messages.h 2022-06-18 Eduardo Casino Eduardo Casino [a53fb9] Revert merge
 miniclib.c 2011-11-03 eduardocasino eduardocasino [a995ff] Add strrchr_local() and _fstrchr_local()
 miniclib.h 2011-11-03 eduardocasino eduardocasino [a995ff] Add strrchr_local() and _fstrchr_local()
 readme.txt 2022-06-13 Eduardo Casino Eduardo Casino [12eee5] Update file modification time in CloseFile()
 redir.c 2022-08-23 Eduardo Casino Eduardo Casino [4a4224] Set correct file size in WriteFile()
 redir.h 2011-11-03 eduardocasino eduardocasino [3193ec] Add partial Long File Name support
 unicode.c 2011-11-03 eduardocasino eduardocasino [87e73b] Buffer overflow control for LocalToUtf8
 unicode.h 2011-11-03 eduardocasino eduardocasino [43d299] Buffer overflow control for LocalToUtf8
 vmaux.c 2011-11-06 Eduardo Casino Eduardo Casino [06e10f] Use new message printing macros
 vmaux.h 2011-10-17 Eduardo Casino Eduardo Casino [3665d7] Pass session info as parameter to VMAuxBeginSes...
 vmcall.c unknown
 vmcall.h unknown
 vmdos.c 2022-06-13 Eduardo Casino Eduardo Casino [12eee5] Update file modification time in CloseFile()
 vmdos.h 2022-06-18 Eduardo Casino Eduardo Casino [47df21] Update file modification time in CloseFile()
 vmint.asm 2022-06-18 Eduardo Casino Eduardo Casino [47df21] Update file modification time in CloseFile()
 vmint.h 2022-06-18 Eduardo Casino Eduardo Casino [47df21] Update file modification time in CloseFile()
 vmshf.c 2022-06-18 Eduardo Casino Eduardo Casino [47df21] Update file modification time in CloseFile()
 vmshf.h 2011-11-03 eduardocasino eduardocasino [4c321d] Long file name support
 vmsmount.en 2011-11-06 Eduardo Casino Eduardo Casino [3eb9da] New /QQ option
 vmsmount.es 2011-11-06 Eduardo Casino Eduardo Casino [3eb9da] New /QQ option
 vmsmount.nl 2011-11-06 Eduardo Casino Eduardo Casino [1c826a] Translate LFN options. New /QQ option
 vmtool.c 2011-11-06 Eduardo Casino Eduardo Casino [51488b] Declare public functions PUBLIC
 vmtool.h unknown

Read Me

VMSMOUNT - A DOS redirector for mounting VMware's Shared Folders
(C) 2011 Eduardo Casino <eduardo.casino@gmail.com>

WARNING AND DISCLAIMER

 This should be considered a beta version and, as such, may contain
 bugs that could cause data loss. THIS PROGRAM IS PROVIDED "AS IS" WITHOUT
 WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED
 TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 PURPOSE.  THE ENTIRE RISK ASTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
 WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
 NECESSARY SERVICING, REPAIR OR CORRECTION.
 
USAGE

 VMSMOUNT [/H][/V|/Q|/QQ] [/L:<drv>] [/B:<siz[K]>] [/LFN [/M:<n>] [/CI|/CS]]
 VMSMOUNT [/V|/Q|/QQ] /U
	/H                 - Prints help and exits
	/V                 - Verbose: Prints information on system resources
	/Q                 - Quiet: Omits copyright message
	/QQ                - Silent: Does not print any messages at all
	/L:<drive letter>  - Drive letter to assign
	                     (if omitted, use the first available)
	/B:<size[K]>       - Size of read/write buffer
	                     (4K default, higher values increase performance)
	/LFN               - Long File Name support. "Mangles" long file names
	                     (or those with illegal or unconvertibe characters)
	                     to valid 8.3 names, using a hash algorithm. For
	                     example, "This is a long file.name" will translate
	                     into "THIS~2BF.NAM"
	/M:<n>             - Number of mangling chars for short names
	                     (2 minimum, 6 maximum, 3 default) For example, the
	                     same "This is a long file.name" will translate into
	                     "THISI~02.NAM" if /M:2 or "TH~0BAC0.NAM" if /M:5.
	                     The default suits most use cases. Increase if the
	                     host file system has many files with similar long
	                     names.
	/CI                - Host file system is case insensitive, so
	                     "example.txt" and "ExaMPLe.Txt" are the same. This is
	                     the default behaviour. 
	/CS                - Host file system is case sensitive (non-Windows
	                     hosts) Mangles file names whith lower case chars. For
	                     example, "EXAMPLE.TXT" will be left unchanged, but
	                     "Example.txt" will be translated into "EXAM~4F0.TXT"
	/U                 - Uninstall

ENVIRONMENT

	TZ      - Valid POSIX timezone. If omitted, file times will be in UTC
	          (see http://www.gnu.org/s/hello/manual/libc/TZ-Variable.html)
	          Example: TZ=CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00
	LANG    - Used by the Kitten library to show messages in the correct
	          language. Currently only available in English, Spanish and
	          Dutch.
	NLSPATH - Used by the Kitten library to find the message catalogs
	          (VMSMOUNT.EN, VMSMOUNT.ES, VMSMOUNT.NL, ...)
	PATH    - VMSMOUNT searchs in the PATH for the unicode conversion
	          tables.
	
	VMSMOUNT gets the current NLS settings from the kernel and translates
	VMware's UTF encoding to the correct code page, provided that the
	necessary conversion table is found.  It uses the same table format
	as Volkov Commander and DOSLFN. Please refer to TBL.TXT in the DOSLFN
	source package for details(http://adoxa.altervista.org/doslfn/index.html)
	For convenience, I'm distributing with this package the translation
	tables, which can be generated from the ASCII code tables provided at
	www.unicode.org using the MK_TABLE program from DOSLFN

RETURN CODES (ERRORLEVELS)

	If loaded successfully, VMSMOUNT returns the number of the assigned drive
	letter starting with 1 ( A == 1, B == 2, C == 3, ... )
	
	If not loaded, errorlevel is set according to the following table:
	
	ERRORLEVEL  Meaning
	~~~~~~~~~~  ~~~~~~~
	    0       Not loaded (help screen requested) or successfully uninstalled
	  245       Unable to uninstall
	  246       Driver not installed and tried to uninstall
	  247       Invalid buffer size
	  248       Invalid command line option(s)
	  249       Unsupported DOS version
	  250       Not running in a virtual machine
	  251       Shared folders not enabled
	  252       Redirector not allowed to install
	  253       Already installed
	  254       Invalid drive letter
	  255       Other system error
 
LIMITATIONS

 * Does not work with DOS < 5 (Tested with latest FreeDOS kernel,
   MS-DOS 6.22 and MS-DOS 7 (win95)
 * Does not support old versions of VMWare Workstation (Tested with
   VMWare Player 3 and 4) 
 * Shared folder names MUST be uppercase if /LFN is not set
 * Does not detect code page changes

ACKNOWLEDGEMENTS

 * "Undocumented DOS 2nd ed." by Andrew Schulman et al.
   Enlightening, but with some inaccuracies that have driven me mad
   
 * Ken Kato's VMBack info and Command Line Tools
                    (http://sites.google.com/site/chitchatvmback/)
   The HGFS code is fully based on his excellent work
   
 * VMware's Open Virtual Machine Tools
                    (http://open-vm-tools.sourceforge.net/)
   Info on the HGFS V3 protocol
   
 * Tomi Tilli's <aitotat@gmail.com> TSR example in Watcom C for the 
                    Vintage Computer Forum (www.vintage-computer.com)
   The idea and some code for a lightweight TSR written in C
 
 * Jason Hood/Henrik Haftmann for the unicode translation tables in
   DOSLFN. Jason again for SHSUCDX, it's source code has been very
   helpful.
 
 * Bernd Blaauw for his incredibly useful feedback and Dutch translation
 
 * Tom Ehlert for extensive feedback, code review, bug reports, ideas and
   actual code
 
 * Alan Kamrowski II for extensive bug report, testing and code review

 * And, of course, Pat Villani for the FreeDOS kernel.
   

BUILD

  VMSMOUNT was built with OpenWatcom 1.9, NASM 2.09.10 and GNU Make 3.81
  
BUGS

 * When used with DOSLFN in FreeDOS, "." and ".." appear corrupted
   in the long name listing with DIR /LFN. I don't know if it is a
   FreeDOS kernel, FreeCOM or DOSLFN bug. I assume it is not VMSMOUNT
   because it also occurs with SHSUCDX. It does not happen with MS-DOS 7.

TODO
 
 * Code Page change detection (maybe)
 * Full Long file names support
 
LICENSE

  VMSMOUNT is GPLd software. See LICENSE.TXT for the details.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.