-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadme.txt
191 lines (147 loc) · 8.11 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
VMSMOUNT - A DOS redirector for mounting VMware's Shared Folders
(C) 2011-2022 Eduardo Casino <[email protected]>
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
/D - Dump contents of internal stack (if compiled with
debug support)
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
SUPPORT FOR SWITCHING CODE PAGES WITH CHCP AND NLSFUNC
Since version 0.6, VMSMOUNT supports code page changes with CHCP if the
optional VMCHCPD.SYS driver and NLSFUNC are installed.
Configuration example for a Greek environment in which it may be
necessary to switch between different (737, 869 and 850) code pages:
CONFIG.SYS:
COUNTRY=30,,C:\FDOS\COUNTRY.SYS
DEVICEHIGH=C:\FDOS\NETWORK\VMSMOUNT\VMCHCPD.SYS
AUTOEXEC.BAT:
DISPLAY CON=(EGA,,3)
MODE CON CP PREP=((850) C:\FDOS\CPI\EGA.CPI)
MODE CON CP PREP=((,737,869) C:\FDOS\CPI\EGA5.CPI)
LH NLSFUNC /Y
CHCP 737
KEYB GK,,KEYBRD2.SYS
C:\> VMSMOUNT /V /LFN
VMSMOUNT 0.6 - (C) 2011-2022 Eduardo Casino - GNU GPL Ver. 2.0
INFO: Running on VMware Workstation Version 6
INFO: Active page is cp737. Loading unicode table cp737uni.tbl
INFO: CHCP support enabled via VMCHCPD.SYS
INFO: UTC Offset is -18000 seconds
INFO: Driver loaded into memory with 22960 bytes used.
Mounting Shared Folders in E:
Now you can switch between code pages using the CHCP command
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
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 <[email protected]> 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
* Marco Paland ([email protected]) for his tiny printf implementation
* Javier de San Pedro (https://git.javispedro.com/vbados.git) for ideas
for the porting to OW 2.0
* And, of course, Pat Villani for the FreeDOS kernel.
BUILD
VMSMOUNT was built with OpenWatcom 2.0 toolkit, cross compiling on Linux
(or WSL). Compile with 'wmake' or 'wmake DEBUG=y' to add debugging support.
For building the unicode conversion tables from source, native GCC is
needed. Just type 'wmake tables'.
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
* Full Long file names support
LICENSE
VMSMOUNT is GPLd software. See LICENSE.TXT for the details.