Newsgroups: bit.listserv.novell
Date:         Fri, 22 Jan 1993 19:30:11 -0500
Reply-To:     Novell LAN Interest Group <NOVELL@SUVM.BITNET>
From:         Dave Maupin <huxley!davem@UUNET.UU.NET>
Subject:      Re: a couple of questions about how to see who is using a file

As a quick alternative to rconsole, you may want to try WHO386.  I got it
by anon ftp (i don't remember from where), and our database programmers
have been using it without problems since June.  They much prefer it over
the rconsole method.  The doc file is included below.  The program is
shareware (see copyright at end of doc).
--------------------------------------------------------------------------
Dave Maupin              Bitstream, Inc.        (617)497-1403 x614
uunet!huxley!davem       215 First Street
davem@bitstream.com      Cambridge, MA 02142



DOCUMENTATION FILE FOR WHO_NLM AND WHO386
-----------------------------------------

WHO_NLM.NLM is a NLM for Netware 386 3.1 that can be used to
know which users uses a certain file (has the file 'open'). On
Netware 386 the old Netware 286 services to know who is using a
file by using FCONSOLE or another command line utility is not
supported anymore.

The only way now is going to the file server console and using MONITOR.
RCONSOLE could also be used, but gives the user also access to the
file server keyboard (downing the server....).

This program has two parts:

WHO_NLM.NLM is loaded on the file server and doesn't do anything until
   a request will come in from a workstation. WHO_NLM will only take
   a few kb of file server memory and use no other CPU resources as long
   as nobody uses WHO386.EXE. To load WHO_NLM on your server, copy the
   file WHO_NLM.NLM to your SYS:SYSTEM directory and type "LOAD WHO_NLM"
   on the file server console. If you have more file servers, you should
   load WHO_NLM on all (NW386) file servers.

WHO386.EXE is a workstation program (running on DOS) that can 'talk' to
   WHO_NLM on the file server. The syntax is:

         WHO386 <file1> [<file2> ...]

   WHO386 does also accept wildcards. WHO386 will first check if the
   specified file server has WHO_NLM.NLM loaded and if so, it will ask
   WHO_NLM to check for the specified file who is using that file.
   Since the NLM is doing the work, the user does not need to have any
   more privileges than F (=File Scan) in the directory. (Much nicer
   as on Netware 286 where console operator status is required).

   WHO386 will return an errorlevel, so you can test on that inside
   a batch file:
   - errorlevel 0: no file in use
   - errorlevel 1: at least one of the specified files was in use
   - errorlevel 2: WHO_NLM not loaded on the target file server
   - errorlevel 3: internal system error

   WHO386 will only work correctly if you current drive is on the
   same file server as where the file resides you want information about.
   (Your current volume and directory does not need to be the same,
   those can be specified on the command line).


As you may understand now, WHO386 and WHO_NLM are Server and Client in
a Client/Server application. So this may be seen of a simple example
of a Client/Server application.

----------------------------- WARNING -------------------------------

WHO_NLM uses 'undocumented' API calls within Netware 386. These calls
are also used by the MONITOR.NLM and I believe I am using them the
correct way. WHO_NLM is tested on different file servers and it seems
to works well and it is stable. Using this program is however on your
own risk. This version is tested on Netware 386 3.10 rev.A.
(Please report any problems to me through Compuserve).

----------------------------- COPYRIGHT -----------------------------

WHO_NLM.NLM and WHO386.EXE and this documentation file are considered
Public Domain software. You may use, copy, distribute this software
as long as no license fee is paid for it and the three files are kept
together without any modification.

This software is copyrighted (c) 1990 by:

    Cyco Automation
    Adm. Banckerweg 2a
    2315 SR  Leiden
    The Netherlands

    Created by: Bart Mellink, Compuserve ID: 75170,1156
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU