Message-ID: <01FD6EC775C6D4119CDF0090273F74A4FD6B20@emwatent02.meters.com.au> From: "da Silva, Joe" To: "'opendos AT delorie DOT com'" Subject: RE: SMB with DOS (was: LFN API stuff via M$ Client?) [2] Date: Wed, 25 Jun 2003 14:59:10 +1000 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Reply-To: opendos AT delorie DOT com OK, here are the CONFIG.SYS and AUTOEXEC.BAT extracts I promised earlier, showing how we load the M$ Client stuff : File \CONFIG.SYS: devicehigh=C:\net\ifshlp.sys File \AUTOEXEC.BAT: set EXCHANGE=H:\EXCHANGE.DOS set RPC_BINDING_ORDER=ncalrpc,ncacn_np,ncacn_spx,ncacn_ip_tcp,netbios C:\NET\net initialize C:\NET\netbind.com C:\NET\umb.com C:\NET\tcptsr.exe C:\NET\tinyrfc.exe REM Useless? ... C:\NET\nmtsr.exe REM Useless? ... C:\NET\emsbfr.exe REM Use LOGIN.BAT instead! ... C:\NET\net start You will note that none of the AUTOEXEC.BAT stuff has been loaded high. This is mainly because the resident stuff mostly loads itself high anyway. You will also note that two lines have been commented out, because they don't seem to do anything useful, and that login/startup is deferred, to allow more control over this process and to cater for multiple users. As explained earlier, we use two different LOGIN scripts. The "basic" one is called LOGIN.BAT and uses less conventional memory. The "full" one is called EMAIL.BAT and is used mainly to access e-mail via 'M$ Exchange Client for DOS', but requires significantly more conventional memory. The later is also used sometimes for PSPICE for DOS, since we have the "network" version of PSPICE and this requires "full" network services, to access its license server. The "standard" (basic) login script looks like this : @echo off if $%1==$ goto usage if $%1==$/? goto usage net logon %1 /yes /savepw:no net use * /delete /yes > nul net use G: \\emwatent01\elect$ /persistent:no if errorlevel 1 echo Error : Network drive G: unavailable net use H: \\zet07\%1$ /persistent:no if errorlevel 1 echo Error : Network drive H: unavailable net use S: \\zet07\shared /persistent:no if errorlevel 1 echo Error : Network drive S: unavailable net use P: \\zet07\public /persistent:no if errorlevel 1 echo Error : Network drive P: unavailable echo Standby ... net use LPT1: \\emwatent01\ZETPR06 /persistent:no > nul if errorlevel 1 echo NB. Printer resource unavailable for LPT1: net use LPT2: \\emwatent01\ZETPR11 /persistent:no > nul if errorlevel 1 echo NB. Printer resource unavailable for LPT2: net use LPT3: \\zetnb008\HPLASERJ /persistent:no > nul if errorlevel 1 echo NB. Printer resource unavailable for LPT3: echo ... Ready if exist h:\startup.bat h:\startup goto end :usage echo Usage : LOGIN User_Name :end The "e-mail" (full) login script looks like this : @echo off if $%1 == $! goto msex if $%1 == $ goto maybe if $%1 == $/? goto usage net stop basic /yes > nul net start full /yes > nul REM login ... net logon %1 /yes /savepw:no net use * /delete /yes > nul net use G: \\emwatent01\elect$ /persistent:no if errorlevel 1 echo Error : Network drive G: unavailable net use H: \\zet07\%1$ /persistent:no if errorlevel 1 echo Error : Network drive H: unavailable net use S: \\zet07\shared /persistent:no if errorlevel 1 echo Error : Network drive S: unavailable net use P: \\zet07\public /persistent:no if errorlevel 1 echo Error : Network drive P: unavailable echo Standby ... net use LPT1: \\emwatent01\ZETPR06 /persistent:no > nul if errorlevel 1 echo NB. Printer resource unavailable for LPT1: net use LPT2: \\emwatent01\ZETPR11 /persistent:no > nul if errorlevel 1 echo NB. Printer resource unavailable for LPT2: net use LPT3: \\zetnb008\HPLASERJ /persistent:no > nul if errorlevel 1 echo NB. Printer resource unavailable for LPT3: if exist h:\startup.bat call h:\startup :msex REM MS Exchange ... h: cd \exchange.dos exchange goto end :maybe if exist h:\exchange.dos\exchange.exe goto msex :usage echo Usage : EMAIL Your_User_Name (start full network services, e-mail) echo or EMAIL ! (assume full services available) :end The drive letters (G = Group, H = Home, P = Public, S = Shared) are of course arbitrary. The network, directory and device names that are assigned to these drive letters and printer ports are those we use here. They will of course be different on other networks, so edit these batch files as appropriate. Each user has their own home directory on the server, whose name consists of their username followed by the character '$' (eg. Fred's home directory would be called 'Fred$'). If a different naming scheme is used, the above batch files will need further modification. Finally, the logout script (LOGOUT.BAT) looks like this : @echo off echo Standby ... net logoff /yes net stop /yes echo ... Done Have fun! Joe. > -----Original Message----- > From: Cox, Stuart SRM:EX [SMTP:Stuart DOT Cox AT gems1 DOT gov DOT bc DOT ca] > Sent: Wednesday, June 18, 2003 2:00 AM > To: 'opendos AT delorie DOT com' > Subject: RE: LFN API stuff via M$ Client? > > Joe, > > I've an 8 node Lantastic network that is slowly aging. I went that route > because of a contractor's recommendation of Lantastic rather than > Microsoft, > and his recommendation has worked well for me for the past decade or so. > > This whole thing (the network) works well and I'd like to not "fix" it so > that it no longer works. You know how computer tinkering can be. > > Still, I'd like to add an older machine or two to the network and go the > SMB > route. What .EXEs, .BATs, config and autoexec settings, drivers and all > that stuff do I need to put these two machines onto the network so that > the > newest Windows only boxes will be able to see them? I've QEMM and know > how > to allocate upper memory stuff and that sort of thing. > > Can you give me the quick and dirty rundown, please? > > Stu Cox > > -----Original Message----- > From: da Silva, Joe [mailto:Joe DOT daSilva AT emailmetering DOT com] > Sent: Wednesday, June 11, 2003 2:10 AM > To: 'opendos' > Subject: LFN API stuff via M$ Client? > > > OK, I've tried to find this information via the Web and Ralf Brown's > interrupt list, but no luck so far (perhaps because I don't understand > what I'm looking at ;-). Perhaps someone here can "point me in the > right direction" ... ? > > I was wondering if there was any sort of API provided by the M$ Client > for DOS redirector (or whatever), that would allow a DOS application > to access LFN information from an NT (SMB) network drive? > > We have a number of DR-DOS machines connected via an SMB network > to a bunch of NT/W2K file servers. They have the usual M$ NDIS drivers, > TCP/IP stack and M$ Client for DOS software, which is usually run in > "basic" mode to conserve conventional memory, but is sometimes run in > "full" mode, for access to the Exchange e-mail server. > > I have read on the Web that WFW 3.11 (which we don't have or use, BTW) > was able to display LFN information for NT (SMB) network drives, which > suggests such capability might be possible under DOS too, although I > haven't been able to confirm this or figure out how. > > If it's possible, I want to be able to write an application to do a > directory > listing of a network drive, displaying long file names. If that works, > perhaps > later such network capability could then be added to the DOSLFN TSR, > so that DR-DOS 7.03 could provide similar LFN capabilities for network > drives as does the Windoze32 DOS Box ... > > Joe.