STATUS is a monitor/finger/whatever type program, which allows you to specify exactly what you want to see and how you want to see it. You can specify any GETJPI (or one of several GETSYI items) to be displayed (or selected upon), plus a few extras. See STATUS.HLP for more info. See WHO.COM for some general examples, SHOWSYS.COM for an example that looks quite like SHOW SYSTEM, and SHOWUSERS.COM for an example that looks quite like SHOW USERS. It has been written in such a way as to be easily modified, and added to. See the file MODIFY.DOC for more info on how. To use: Either edit STATUS.CLD so that the IMAGE clause points to where you are storing the image, or define a logical name EXE$DIR to point to where you are storing the image. Then do SET COMMAND STATUS. From an appropriately privileged account execute STATUS.COM, which will start the DECnet server task (SERVER.EXE). You will then be able to use the STATUS command. There are probably some bugs yet to be stamped out, they usually manifest themselves by causing the user of STATUS to hang. You can usually tell if the server is hung by examining its mode, if it is in the LEF state when noone is using it, then it is probably hung. You should delete the process and start it over. I would like to hear about problems with it, since this shouldn't happen. To restrict use: If you don't want users to be able to see certain items, you can comment them out of KEYWORDS.DAT (or remove them entirely). Then run MAKE to recompile the program. Users will no longer be able to access those items. Simple eh? A MAKEFILE is included. If you do not have MAKE, you can execute the COMPILE.COM procedure. If you just need to relink, you can execute the LINK.COM procedure. Note that if you change KEYWORDS.DAT you will need to recompile almost everything. To use the WHERE item, you should consider creating an indexed file storing the terminal name, followed by its location. If the database isn't created (it can be created with TERMINALS.FDL), then the WHERE item will simply display the 'physical' terminal name, for LAT terminals this includes the server name/port name, for remote terminals this includes the originating node name. If you are using the CMU TCP/IP package than the remote node name will be displayed. The IMAGE item checks for RTPAD (set host command), and displays where the outgoing connection is being made. If you have CMU TCP/IP then the same will happen for TELNET and FTP. There is also a WHO item, which uses SYS$GETUAI to retrieve the Owner field out of the authorization file. You might consider commenting this item out of KEYWORDS.DAT if you use the owner field for something else. You might also consider changing the routine (CVT$WHO, in FORMAT.C) to do a database lookup, similar to what WHERE does. SYS$GETUAI is ssllooww. Future enhancements: Add support for the /SORT qualifier. Add a /HIGHLIGHT option for enabling highlighting of changed items in a continuous display. At the same time, add support for bolding/reverse/flashing/underlining in the text via ^b, ^r, ^f, ^u, and ^n (for normal). Allow any of these to occur anywhere, plus allow the highlighting option to set of these to use. Only GETJPI items will support highlighting. Add smarts for a trusted client? I.E. User X from Node Y is allowed to see this class of item. All local users can see this class of item. Local user SYSTEM is allowed to see these? Sort of a classification level for items, and a way to map incoming requests to a classification level.. Any ideas out there? I'm not that familiar with DECnet yet, but I imagine I can find out things like incoming request is from User X on Node Y, and if that is the local node, perhaps the PID so I can check their privs? Support for other networks: TCP/IP, BITNET etc.