[comp.os.vms] Undeliverable mail

POSTMAST@CARLETON.BITNET (POSTMAST) (05/30/87)

Your mail message could not be delivered at Carleton University in
Ottawa, Ontario, Canada because the user address was not known at our
site.

You can send Mail to Carleton either directly or via our Mailer program
MAILER@CARLETON. Addresses at Carleton are of the following format:

    <Username@CARLETON>    eg. <Joe_Blow@CARLETON> or <JBLOW@CARLETON>
                            or <F94DRASP@CARLETON>

If your site is restricted to usernames of 8 characters or less and the
recipient's username is greater than 8 characters then you must direct
your message to MAILER@CARLETON.

----------------------------------------------------------------------
The following diagnostics were returned by the Mail server:

>> Mail error message:
  The MAIL folder has not been created.
Error address -> .WRJACK@CU

---------------------- Returned Mail Follows ---------------------

TICK 0001
VERB ON
MAIL FROM: <INFO-VAX@SRI-KL.ARPA>
RCPT TO: <WRJACK@CARLETON.BITNET>
DATA
From:   EDU%"CETRON%CED@CS.UTAH.EDU" 29-MAY-1987 16:23
To:     MULTI
Subj:   Re:  DTR on DHV11 boards

Received: From UBVM(MAILER) by TRIUMFCL with RSCS id 8439
          for MULTI@TRIUMFCL; Fri, 29 May 87 16:23 PST
Received: by UBVM (Mailer X1.24) id 8398; Fri, 29 May 87 18:55:42 EDT
Date:         Thu, 28 May 87 18:49:51 MDT
Reply-To:     INFO-VAX@SRI-KL.ARPA
Sender:       INFO-VAX Discussion <INFO-VAX@UBVM>
Comments:     To: STEINBERGER@KL.SRI.COM, INFO-VAX@KL.SRI.COM
From:         Ed Cetron <CETRON%CED@CS.UTAH.EDU>
Subject:      Re:  DTR on DHV11 boards
To:           "Dr. Gurd" <GURD@TRIUMFCL>,
              "B. Multi" <MULTI@TRIUMFCL>,
              DAVID CUNNINGHAM <OMICRON@TRIUMFCL>,
              "Surajit Sarkar" <SARKAR@TRIUMFCL>

ok, here goes what I consider the definitive answer and vms modem
control (or at least until v5. shows up)

Path:
 utah-cs|ut-sally|husc6|mit-eddie|rutgers|lll-crg|ames|ucbcad|ucbvax|UTAH-CS.ARP
A|cetron%utah-ced
From: cetron%utah-ced@UTAH-CS.ARPA (Ed Cetron)
Newsgroups: mod.computers.vax
Subject: modem control on dhv-11's
Message-ID: <8612052214.AA01929@utah-ced.ARPA>
Date: 5 Dec 86 22:14:21 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Organization: The ARPA Internet
Lines: 85
Approved: info-vax@sri-kl.arpa


I received the following request:

From: K. Sankara Rao
  <NU043109%NDSUVM1.BITNET@WISCVM.WISC.EDU>
Subject:      Microvax and modem interconnect problems

Dear Ed:
          We here, in Electrical Engg. Department of North Dakota
State University have a MicroVAXII running under VMS 4.4. There is
a Gandolf PACX network in the University and we want to connect the
MicroVax to it with full modem control. THe port controllers are DHV-11.
That is where the trouble started.
          When the port is set as a MODEM: as soon as somebody
comes on to the line, in exactly 30 seconds time, the system logs
him off with an error SYSTEM - E - HANGUP massage. What seems to be
happening is this. For some reason, DTR from the line is dropped for
a short duration (We cannot see it happening with leds) and as a
consequence, the PACX swith drops (again for a short duration)
either DSR or Carrier signal and the system senses a line hangup
and logs the terminal off. Have you ever heard of any such problems
before and can you suggest a solution?
           At present we are using the uVAX on the PACX seeting
the ports as NOMODEM and we do not have any modem control (like
the process being deleted if the line drops, i.e, a user forgetting
to logout before switching the line off) and this is not a 'safe'
solution.
                 Thanks in advance.
                              Rao
                              Department of EEE
                              NDSU, Fargo, ND 58105
                              Tel : (701)237-7217


no problem, I've read the dhv-11 manual....it says:

dhv-11 will assert RTS and DTR all of the time when /modem
then the modem should raise RI
then pause
then raise DSR indicating phone line connection established
the raise DCD when carrier is established
then raise CTS when ready to transmit/receive


so I wrote back:



I thought the answer was the following:

vax brings up dtr and rts
modem brings up dsr (and maybe ring if needed)
pause by modem to establish carrier
modem brings up carrier detect AND CTS
vax no allows you to speak to/from it just fine
if you don't login completely within 30 seconds (or whatever you have set in
    sysgen), vax will lower dtr for 4 seconds, then lower rts also, then
    raise them both after 1-2 seconds...


empirical data:
    our one system with an able mux master works just fine now when we brin
g up cts with cd. but would do exactly what you describe except the error was
file read error when we didn't raise cts...

    -ed cetron

BUT|||||

before i sent this, I  tried to verify this on my real dhv-11.... I set the
line /modem/hangup/dialup/disconnect/perm, forced my breakout box (pretending
it was the modem) to hold cd, cts, and dsr low.  I then connected a terminal
to tx and rd and tried it.  IT WORKED||| but its not supposed to....no till
I raise cd, cts and dsr....I am sooooo..... confused......

Did I set something wrong????, is the dhv-11 brain-damaged???

and I thought I understood the way dec handled modem control.....Before I
start reading the fiche, does anyone understand what is happening????

-ed cetron

(sorry for the length)

s

-----------------------------
and then
-----------------------------
From cetron Mon Dec  8 12:37:34 1986
Received: by utah-ced.ARPA (5.31/4.40.2)
    id AA02511; Mon, 8 Dec 86 12:37:30 MST
Date: Mon, 8 Dec 86 12:37:30 MST
From: cetron (Ed Cetron)
Message-Id: <8612081937.AA02511@utah-ced.ARPA>
To: CETRON@UTAH-CED.UTAH-CS, NU043109%NDSUVM1.BITNET@WISCVM.WISC.EDU
Subject: Re:  Microvax and modem interconnect problems
Cc: cetron, info-vax@sri-kl.arpa
Status: R

well, I have spent the last 3 hours hacking around with the modem signals on
the dhv11 as well as two hours deciphering the modem state tables within the
vms ttdriver source code.

I think that I have the situation down now and I will pass along the results of
my explorations:

First the empirical results:

(remember, the situation is a terminal connected to a breakout box and then to
the dhv-11, only gnd, td and rd are passed by the breakout box.  All other
signals can be set/reset via the breakout box....)

1. if dsr, dcd, and cts low:  you can log in, and work with NO troubles.  In
this case vms does not know that you are on a modem line.....there is NO
cts flow control (obviously since cts is low).

2. if dsr goes active (high) and stays, cts,dcd low:  you can log in but within
30 seconds the system prints:

%RMS-F-RER, file read error
 -SYSTEM-F-HANGUP, dataset hang-up

    then it lowers dtr for 4 seconds (while it logs you off), then lowers
rts also for an additional 2 seconds, then brings them both high.

3. if dsr goes active, followed by dcd, cts held low:  same result as 2 above.

4. dsr up, then dcd up, the cts up:  normal login, stays logged in and
everything is fine....this is supposed "standard" modem protocol.

5. if logged in via 4.  and cts then goes low:  all output is suspended, input
is not, and when cts goes high, all output is resumed.  THIS IMPLIES THAT VMS
CAN DO PROPER (though one-way) RTS-CTS FLOW CONTROL|||||||

6. if logged in via 4., and then dsr goes low:  immediate logoff and error
sequence as in 2.

7. if logged in via 4., and the dcd goes low:  nothing for 2 seconds and then
if dcd still low, logoff and errors as in 2.


conclusions:

    VMS will allow you to log in regardless of the state of the modem
signals.  This means input and output are always enabled on all modem lines
in the 'idle' state.  To obtain proper modem control response  Uwhich includes
things like suspending output when cts goes low, dropping the line if dsr goes
low or carrier loste one must cycle dsr.  If dsr is NOT cycled, you can still
login and have a valid session, but you will appear as if you are NOT A MODEM.


Results from the microfiche:

All of the above situations are born out by the modem control state tables..

apparently, the table is linear in such a manner that you cannot jump into a
later state without starting from the bottom...

here is a quick form of the state table: (limited to dhv/dhu transitions)

state:  off  (no modem, stay forever)

state: idle        (just set to /modem,  or second stage of shutdown)
    lower dtr and rts
    wait for 2 seconds
    go to wait state

state: wait        (normal 'idle' modem state but input and output are
               still enabled...)
    set dtr and rts high
    wait for modem line transition
    if modem transition AND dsr is active, go to init1 state  (note that
        this is why dsr must go active to indicate a modem protocoled
        line... if dsr isn't active, all other modem transitions such
        as dcd going active, do nothing)

state: init1        (simple delay)
    wait 1 second and then go to init2 state

state: init2        (start timer and wait for cts and carrier)
    make sure dtr and rts are high (if not already)
    wait 30 seconds...
    if timer expires goto shutdown state
    if modem transition AND dsr AND dcd AND cts are active, goto trasmit0
    else continue waiting

state: transmit0        (signal connect and allow the login...)
    indicate to vms remote login, and indicate in the ucb cts is high,
        and resume output (if cts low stopped)
    wait 30 seconds
    if modem transition AND dsr low, go to shutdown state
    if modem transition AND dcd low, goto transmit1 state
    if timer has expired (waited 30 seconds) got to transmit state

state: transmit            (all hunky-dory, do cts flow control)
    if modem transition AND dsr low, go to shutdown state
    if modem transition AND dcd low, goto transmit1 state
    if modem transition AND cts low, goto ctslow state

state: transmit1        (loss of carrier)
    wait 2 seconds
    if timer expires, goto shutdown
    if modem transition AND dsr has also gone low, goto shutdown state
    if modem transition AND dcd has gone high again, goto transmit state

state: shutdown            (start shutdown)
    set timer to 1 second
    lower dtr and indicate to vms to hangup this process/line
    if timer expires goto shut1 state

state: shut1            (complete shutdown and clear the line)
    set timer for 2 seconds
    if transition to /nomodem, goto off state
    if timer expires, goto idle state
    if modem transition AND dsr goes low, goto idle state

state: ctslow            (flow control with low cts)
    if modem transition and AND cts high, goto transmit state
    if modem transition AND dsr low, go to shutdown state
    if modem transition AND dcd low, goto transmit1 state



conclusions:

    the code should somehow check for 'illegal' states such as dsr low
dcd and/or cts high.  Whether it should reset such lines, or jump in the middle
is up for discussion, but it should at least recognize them.  I also think that
the output and input should be disable until one reaches one of the various
transmit states...... While I can read their code, I simply can't second
guess what the developers had in mind what they intended this code to do...
But I can see how this code has many 'states' that the vms terminal driver
simply can't handle and therefore simply ignores....

    The big question is whether or not this type of functionality can be
construed (or exploited) as a security risk......

    And the big answer is:  if your modem does not raise dsr, dcd and cts,
then jumper them all together to whichever signal it does raise....

-ed cetron
center for engineering design
univ of utah




-------------------------------

good luck...

ed

Postmaster@UHRCC2.BITNET (PMDF Mail Server) (08/27/87)

The message could not be delivered to:

Addressee: NSMCC
Reason: %PMDF-E-HOST, Illegal host/domain in address "HOWARD@CRCC"

----------------------------------------

Received: from JNET-DAEMON by UHRCC2; Thu, 27 Aug 87 14:08 CDT
Received: From TAMVM1(MAILER) by UHRCC2 with RSCS id 3257          for
 NSMCC@UHRCC2; Thu, 27 Aug 87 14:08 CST
Received: by TAMVM1 (Mailer X1.24) id 3254; Thu, 27 Aug 87 14:08:56 CDT
Date: Thu, 27 Aug 87 03:23:27 PDT
From: Carl J Lydick <carl@CitHex.Caltech.Edu>
Subject: Re: GKS for VMS
Sender: INFO-VAX Discussion <INFO-VAX@TAMVM1>
To: Howard Jares <NSMCC@UHRCC2>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: JON%UCLASTRO.Bitnet@CitHex.Caltech.Edu,
 info-vax@CitHex.Caltech.Edu
In-Reply-To:  Your message dated 25-Aug-1987

 >         Does anyone know how I can get a hold of VMS GKS?  I know digital
 > has GKS for the microvax, but I need something that will run on a
 > 750.  Would digital's?

Since I've never installed GKS on anything but a VAXstation, I won't swear
that the same kit (saveset-wise; the media are generally incompatible) is
used to install GKS on all kinds of VAXen, but I AM certain that at about
the same place in KITINSTAL.COM that one of my attempted installations on
a uVAX died because we had too old a version of VWS, the procedure gave
returned a success status for any large VAX.

Postmaster@UHRCC2.BITNET (PMDF Mail Server) (08/27/87)

The message could not be delivered to:

Addressee: NSMCC
Reason: %PMDF-E-HOST, Illegal host/domain in address "HOWARD@CRCC"

----------------------------------------

Received: from JNET-DAEMON by UHRCC2; Thu, 27 Aug 87 14:08 CDT
Received: From TAMVM1(MAILER) by UHRCC2 with RSCS id 3366          for
 NSMCC@UHRCC2; Thu, 27 Aug 87 14:08 CST
Received: by TAMVM1 (Mailer X1.24) id 3360; Thu, 27 Aug 87 14:09:22 CDT
Date: Wed, 26 Aug 87 16:24 CDT
From: "Alan J. Kaufman" <ALAN%UMNACVX.BITNET@wiscvm.wisc.edu>
Subject: RE: FREQUENCY, a spelling aid
Sender: INFO-VAX Discussion <INFO-VAX@TAMVM1>
To: Howard Jares <NSMCC@UHRCC2>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: INFO-VAX@KL.SRI.COM

>I do not intend to post the code directly to the net, since all of
>it is written in Swedish. Only user manual is available in English.
>Instead those who are interested, mail me and I send you a copy.
>If there is a *huge* interest, I will post it to comp.os.vms.
>The programme is written in VAX-Pascal, thus it only runs on VMS.


        I would like a copy of the program if possible,  it sounds
        great.  Thanks.

        Alan Kaufman
        Bitnet: Alan@umnacvx
        University of Minnesota

Postmaster@UHRCC2.BITNET (PMDF Mail Server) (08/27/87)

The message could not be delivered to:

Addressee: NSMCC
Reason: %PMDF-E-HOST, Illegal host/domain in address "HOWARD@CRCC"

----------------------------------------

Received: from JNET-DAEMON by UHRCC2; Thu, 27 Aug 87 14:17 CDT
Received: From TAMVM1(MAILER) by UHRCC2 with RSCS id 3585          for
 NSMCC@UHRCC2; Thu, 27 Aug 87 14:17 CST
Received: by TAMVM1 (Mailer X1.24) id 3574; Thu, 27 Aug 87 14:17:48 CDT
Date: Thu, 27 Aug 87 05:58:04 PDT
From: Al Herb <herb%gucci.DEC@decwrl.dec.com>
Subject: Subscription Request
Sender: INFO-VAX Discussion <INFO-VAX@TAMVM1>
To: Howard Jares <NSMCC@UHRCC2>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: info-vax@kl.sri.com


Please add me to the INFO-VAX distribution.

Thanks....Al

Postmaster@UHRCC2.BITNET (PMDF Mail Server) (08/27/87)

The message could not be delivered to:

Addressee: NSMCC
Reason: %PMDF-E-HOST, Illegal host/domain in address "HOWARD@CRCC"

----------------------------------------

Received: from JNET-DAEMON by UHRCC2; Thu, 27 Aug 87 14:17 CDT
Received: From TAMVM1(MAILER) by UHRCC2 with RSCS id 3691          for
 NSMCC@UHRCC2; Thu, 27 Aug 87 14:17 CST
Received: by TAMVM1 (Mailer X1.24) id 3684; Thu, 27 Aug 87 14:18:16 CDT
Date: Thu, 27 Aug 87 08:33:28 EDT
From: Tom Jones <tj@ll-vlsi.arpa>
Subject: Removal from LIST!!!
Sender: INFO-VAX Discussion <INFO-VAX@TAMVM1>
To: Howard Jares <NSMCC@UHRCC2>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: INFO-VAX@kl.sri.com


I asked this question before, but no responses came.  I've tried since last
Friday to remove my name from this mailing list.  This excess mail is really
screwing up people who need to send me important messages, as their messages
get buried quickly.

How do I get off this list?

                         - tj.

Postmaster@UHRCC2.BITNET (PMDF Mail Server) (08/27/87)

The message could not be delivered to:

Addressee: NSMCC
Reason: %PMDF-E-HOST, Illegal host/domain in address "HOWARD@CRCC"

----------------------------------------

Received: from JNET-DAEMON by UHRCC2; Thu, 27 Aug 87 14:18 CDT
Received: From TAMVM1(MAILER) by UHRCC2 with RSCS id 3801          for
 NSMCC@UHRCC2; Thu, 27 Aug 87 14:18 CST
Received: by TAMVM1 (Mailer X1.24) id 3787; Thu, 27 Aug 87 14:18:46 CDT
Date: 27 Aug 87 12:00:04 EDT
From: CONNAUGHTON@RED.RUTGERS.EDU
Subject: VMS Foreign terminal support TVIXXX
Sender: INFO-VAX Discussion <INFO-VAX@TAMVM1>
To: Howard Jares <NSMCC@UHRCC2>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: INFO-VAX@KL.SRI.COM

Subject:  INFO.VAX
To:       CONNAUGHTON@RED.RUTGERS.EDU
X-Original-To:  CONNAUGHTON@RED.RUTGERS.EDU, CONNAGT



    I have some users who would like to use some Televideo terminals
on our system.  Can anyone send me a terminal table which will define
this terminal to VMS ?  The terminal is called a Televideo Model 925.

Thanks,
Paul Connaughton
CONNAGT@YALEMED.BITNET

-------

Postmaster@UHRCC2.BITNET.UUCP (08/27/87)

The message could not be delivered to:

Addressee: NSMCC
Reason: %PMDF-E-HOST, Illegal host/domain in address "HOWARD@CRCC"

----------------------------------------

Received: from JNET-DAEMON by UHRCC2; Thu, 27 Aug 87 14:24 CDT
Received: From TAMVM1(MAILER) by UHRCC2 with RSCS id 3944          for
 NSMCC@UHRCC2; Thu, 27 Aug 87 14:24 CST
Received: by TAMVM1 (Mailer X1.24) id 3928; Thu, 27 Aug 87 14:25:29 CDT
Date: 26-AUG-1987 17:54:01
From: CRAA055@VAXB.CC.KCL.AC.UK
Subject: How does one write 'upgrade-proof' software ?
Sender: INFO-VAX Discussion <INFO-VAX@TAMVM1>
To: Howard Jares <NSMCC@UHRCC2>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: INFO-VAX@KL.SRI.COM

Dear friends,

There has been many a message posted to this list over recent months about
problems of "Software Package version X" not working with "Operating System
rev Y". I ask myself- why is so much work generated by this?  Can we find a
solution to it?

I believe a solution is difficult though not impossible. It imposes a certain
discipline on both writers of user programs and on writers of operating system
software.

User Programs

  a.  Always design programs first! particularly, design data structures with
      a view to future change by  i.  Trying to incorporate all items needed
      now and anticipated for the future, and  ii  extending data structures
      by additions at the end.

  b.  Always use manufacturers standard interfaces and system services. Dont
      try to 'gain an extra microsecond' by bypassing them. In that way, you
      are insulated from internal data structure changes.

  In other words - keep the user interface the same. It then doesnt matter how
  much you mangle the internal implementation from release to release.


  c.  If you MUST introduce a new format, at least recognize the old one for
      the next couple of releases, to give users who build on your work time
      to convert. You thus avoid programs suddenly falling over after an
      upgrade! Remember of course to document when the old format will no
      longer be supported.

  d.  Write code defensively (a la Kernighan and Plauger) so that   i.  if
      something unexpected happens, you die gracefully with a SUITABLE error
      message, and   ii.  NEVER assume anything! If you have a choice of two
      things in a program and a test shows its not one of them, dont go and
      assume its automatically the other one. Someday, when a third choice
      is added (eg a new VMS device type code), your code will fail!!   iii.
      Under no circumstances, allow high-access level code to poke the system
      when you are not entirely sure of compatibility. Any such code really
      ought to be sure it can cope with the current level of operating
      system; if it cant it should not attempt any work and simply tidy up
      and abort. Im really saying, dont use old, quickly-hacked code in a
      environment intended to be robust, such as VMS device drivers!


Operating System Writers

Of course, user programs are often not at fault, VMS software writers have
been known to introduce incompatibilities (!).  What can they do about it?
Obviously, they too should follow ALL of the above rules, even more strictly
than the users. It is crucial that a new release of VMS does not fall over or
fail to work correctly because of two bits of software that dont quite match
up. Remember too thats its very frustrating for the user to put up a new VMS
and find he cant use his X25 network because the new 'compatible' tape has not
yet arrived (he may not find out until too late..). So:-

  a.  Documentation for a new release, should FULLY cover all areas likely
      to crack because of data structure or interface changes.

  b.  New releases should ALWAYS be upwards compatible with AT LEAST 1 prior
      release of ALL layered products. Eg  a NEW VMS should still work with
      the last version of PSI, even if the new PSI is far superior.



Final Points

Although I'm very fond of Public Domain Software as a way to get good cheap
and often excellent software, one should always exercise a natural caution
with such things. They are often very good in the original environment for
which they were written but, when ported to another system with a different
environment, fall down miserably - For example, a quickly hacked piece of code
to look at terminal parameters might only recognize directly connected ones
and go haywire on LTA or NVA terminals. Can you afford the worry this will
cause? Can you afford the time to enhance it? can you get the original
provider to make it work on your system? In many cases, i suspect not.


Another reason for exercising extreme caution with PDS software is, of course,
the Trojan Horse syndrome; code that appears to work fine but in fact is
sneakily blowing your system away behind the scenes!   Always insist on full
source of any PD software you get and refuse 'Binary only' stuff. This applies
equally to both respectable and unknown suppliers. Strictly, it should also
apply to commercially available stuff and, If I had my way, I would entirely
boycott software that didnt let me at the source code! (Thats a personal gripe
against commercial software writers, sorry! Its part of a larger one that i
may make public one day!).


To wind up, a touching plea to all software writers out there, be they
commercial, academic, or just plain amateurs - Please dont put copy protection
or time bombs in your programs - it suggests an implict mistrust in your
purchaser and will eventually cause trouble for someone!

Thanks for listening - I hope this prompts at least some of you to do the
right thing and make VMS software what it always was and will continue to be -
the best in the world!


Regards,

Andy Harper,
Kings College London UK

+---------------------------------------------------------------------------+
I Computing Centre, Kings College, Strand, London, UK                I
I    Tel: +44 (0)1 836 5454                            I
+-------------------------------------------+-------------------------------+
I JANET: A.Harper @ UK.AC.KCL.CC.VAXB        I    ARPA: A.Harper%KCL.CC.VAXB  I
I                        I        @ ucl-cs.arpa        I
I EARN:  A.Harper @ VAXB.CC.KCL.AC.UK        I    ARPA: A.Harper            I
I     or A.Harper%VAXB.CC.KCL.AC.UK @ AC.UK I        @ VAXB.CC.KCL.AC.UK I
I                        I                    I
I UUCP:  ...ukc!uk.ac.kcl.cc.vaxb!A.Harper  I    ARPA: A.Harper%KCL.CC.VAXB  I
I                        I        @ CS.UCL.AC.UK        I
I EAN:   A.Harper @ VAXB.CC.KCL.AC.UK        I                    I
+-------------------------------------------+-------------------------------+

Postmaster@suny-bing.CSNET (The Mail Server) (09/18/87)

Message had a bad or missing To address.
The entire text of the message follows:

Received: From SUVM(BITMAIL) by BINGVAXB with RSCS id 1277          for
 TBLAKE@BINGVAXB; Fri, 18 Sep 87 11:36 EST
Received: by SUVM (Mailer X1.25) id 1271; Fri, 18 Sep 87 11:34:36 LCL
Date: Mon, 14 Sep 87 09:24 PDT
From: Joe Meadows <JOE%FHCRCVAX.BITNET@WISCVM.WISC.EDU>
Subject: INDEX, Part 4 of 5
Sender: INFO-VAX Discussion <INFO-VAX@UBVM>
To: Tom Blake <TBLAKE@BINGVAXB>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: info-vax@kl.sri.COM

Here's part 4 of INDEX. I mailed part 1 on friday, part 2 on saturday,
part 3 on sunday, and will mail part 5 on tuesday. I have not seen part
2 come back through info-vax, and several people have written to me about
it, so, unless I discover differently, I will assume part 2 got lost and
will resend it on wednesday.

  Cheers,
  Joe Meadows Jr.
  VAX/VMS System Manager / guru in training
  Fred Hutchinson Cancer Research Center
  1124 Columbia St.
  Seattle Wa. 98104
     bitnet - JOE@FHCRCVAX
     arpa   - JOE%FHCRCVAX.BITNET@WISCVM.WISC.EDU
     voice  - (206) 467-4970

$ create/log SEARCH.C
$DECK
/* Modification History
   --------------------
   Sep. 8, 1987 JEM - Conversion from BETA to Release

*/
#include climsgdef

#include "fh2def.h"
#include "fi2def.h"
#include "fm2def.h"
#include "fileinfo.h"
#include "acedef.h"

#include "searchdef.h" /* includes descrip */
#include "cld.h"

char *get_header();

long int init_search(search)
  struct search_info *search;
{
  static struct dsc$descriptor minstr={0,DSC$K_DTYPE_T,DSC$K_CLASS_D,0};
  static struct dsc$descriptor maxstr={0,DSC$K_DTYPE_T,DSC$K_CLASS_D,0};
  static long int word = 2;
  static long int byte = 1;
  long int i,j,status,value;
  char *c;

  search->si_l_srchbits0 = 0;
  search->si_l_srchbits1 = 0;

  if (cli_present("MATCH.AND") & 1)
    search->si_v_and_match = 1;

  if (cli_present(t_credate) & 1) {
    cli_get_value(t_credate,&minstr);
    status = sys$bintim(&minstr,&(*search).si_q_credat_min);
    if (!(status & 1)) return(status);
    cli_get_value(t_credate,&maxstr);
    status = sys$bintim(&maxstr,&(*search).si_q_credat_max);
    if (!(status & 1)) return(status);
    search->si_v_credat = 1;
  };
  if (cli_present(t_revdate) & 1) {
    cli_get_value(t_revdate,&minstr);
    status = sys$bintim(&minstr,&(*search).si_q_revdat_min);
    if (!(status & 1)) return(status);
    cli_get_value(t_revdate,&maxstr);
    status = sys$bintim(&maxstr,&(*search).si_q_revdat_max);
    if (!(status & 1)) return(status);
    search->si_v_revdat = 1;
  };
  if (cli_present(t_expdate) & 1) {
    cli_get_value(t_expdate,&minstr);
    status = sys$bintim(&minstr,&(*search).si_q_expdat_min);
    if (!(status & 1)) return(status);
    cli_get_value(t_expdate,&maxstr);
    status = sys$bintim(&maxstr,&(*search).si_q_expdat_max);
    if (!(status & 1)) return(status);
    search->si_v_expdat = 1;
  };
  if (cli_present(t_bakdate) & 1) {
    cli_get_value(t_bakdate,&minstr);
    status = sys$bintim(&minstr,&(*search).si_q_bakdat_min);
    if (!(status & 1)) return(status);
    cli_get_value(t_bakdate,&maxstr);
    status = sys$bintim(&maxstr,&(*search).si_q_bakdat_max);
    if (!(status & 1)) return(status);
    search->si_v_bakdat = 1;
  };
  if (cli_present(t_revisions) & 1) {
    cli_get_value(t_revisions,&minstr);
    status = ots$cvt_ti_l(&minstr,&(*search).si_l_revision_min);
    cli_get_value(t_revisions,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&(*search).si_l_revision_max);
    search->si_v_revision = 1;
  };
  if (cli_present(t_extents) & 1) {
    cli_get_value(t_extents,&minstr);
    status = ots$cvt_ti_l(&minstr,&(*search).si_l_extents_min);
    cli_get_value(t_extents,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&(*search).si_l_extents_max);
    search->si_v_extents = 1;
  };
  if (cli_present(t_header) & 1) {
    cli_get_value(t_header,&minstr);
    status = ots$cvt_ti_l(&minstr,&(*search).si_l_headers_min);
    cli_get_value(t_header,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&(*search).si_l_headers_max);
    search->si_v_headers = 1;
  };

  if (cli_present(t_lbn) & 1) {
    i = -1;
    while ((cli_get_value(t_lbn,&minstr) & 1) && ((++i)<SI_K_LBN_LIST_SIZE))
      status = ots$cvt_ti_l(&minstr,&(*search).si_l_lbn_list[i]);
    search->si_l_lbn_list[++i] = -1;
    search->si_v_lbn = 1;
  };
  if (cli_present(t_highwater) & 1) {
    cli_get_value(t_highwater,&minstr);
    status = ots$cvt_ti_l(&minstr,&(*search).si_l_highwater_min);
    if (search->si_l_highwater_min > 0)
      ++search->si_l_highwater_min;
    cli_get_value(t_highwater,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&(*search).si_l_highwater_max);
    if (search->si_l_highwater_max > 0)
      ++search->si_l_highwater_max;
    search->si_v_highwater = 1;
  };
  if (cli_present(t_ru_active) & 1) {
    cli_get_value(t_ru_active,&minstr);
    status = ots$cvt_ti_l(&minstr,&value);
    search->si_b_ru_active_min = value;
    cli_get_value(t_ru_active,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&value);
    search->si_b_ru_active_max = value;
    search->si_v_ru_active = 1;
  };
  if (cli_present(t_rsize) & 1) {
    cli_get_value(t_rsize,&minstr);
    status = ots$cvt_ti_l(&minstr,&value);
    search->si_w_rsize_min = value;
    cli_get_value(t_rsize,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&value);
    search->si_w_rsize_max = value;
    search->si_v_rsize = 1;
  };
  if (cli_present(t_hiblk) & 1) {
    cli_get_value(t_hiblk,&minstr);
    status = ots$cvt_ti_l(&minstr,&(*search).si_l_alloc_min);
    cli_get_value(t_hiblk,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&(*search).si_l_alloc_max);
    search->si_v_alloc = 1;
  };
  if (cli_present(t_efblk) & 1) {
    cli_get_value(t_efblk,&minstr);
    status = ots$cvt_ti_l(&minstr,&(*search).si_l_used_min);
    cli_get_value(t_efblk,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&(*search).si_l_used_max);
    search->si_v_used = 1;
  };
  if (cli_present(t_wasted) & 1) {
    cli_get_value(t_wasted,&minstr);
    status = ots$cvt_ti_l(&minstr,&(*search).si_l_wasted_min);
    cli_get_value(t_wasted,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&(*search).si_l_wasted_max);
    search->si_v_wasted = 1;
  };
  if (cli_present(t_bktsize) & 1) {
    cli_get_value(t_bktsize,&minstr);
    status = ots$cvt_ti_l(&minstr,&value);
    search->si_b_bktsize_min = value;
    cli_get_value(t_bktsize,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&value);
    search->si_b_bktsize_max = value;
    search->si_v_bktsize = 1;
  };
  if (cli_present(t_vfcsize) & 1) {
    cli_get_value(t_vfcsize,&minstr);
    status = ots$cvt_ti_l(&minstr,&value);
    search->si_b_vfcsize_min = value;
    cli_get_value(t_vfcsize,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&value);
    search->si_b_vfcsize_max = value;
    search->si_v_vfcsize = 1;
  };
  if (cli_present(t_maxrec) & 1) {
    cli_get_value(t_maxrec,&minstr);
    status = ots$cvt_ti_l(&minstr,&value);
    search->si_w_maxrec_min = value;
    cli_get_value(t_maxrec,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&value);
    search->si_w_maxrec_max = value;
    search->si_v_maxrec = 1;
  };
  if (cli_present(t_defext) & 1) {
    cli_get_value(t_defext,&minstr);
    status = ots$cvt_ti_l(&minstr,&value);
    search->si_w_defext_min = value;
    cli_get_value(t_defext,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&value);
    search->si_w_defext_max = value;
    search->si_v_defext = 1;
  };
  if (cli_present(t_gbc) & 1) {
    cli_get_value(t_gbc,&minstr);
    status = ots$cvt_ti_l(&minstr,&value);
    search->si_w_gbc_min = value;
    cli_get_value(t_gbc,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&value);
    search->si_w_gbc_max = value;
    search->si_v_gbc = 1;
  };
  if (cli_present(t_ffbyte) & 1) {
    cli_get_value(t_ffbyte,&minstr);
    status = ots$cvt_ti_l(&minstr,&value);
    search->si_w_ffbyte_min = value;
    cli_get_value(t_ffbyte,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&value);
    search->si_w_ffbyte_max = value;
    search->si_v_ffbyte = 1;
  };
  if (cli_present(t_versions) & 1) {
    cli_get_value(t_versions,&minstr);
    status = ots$cvt_ti_l(&minstr,&value);
    search->si_w_version_limit_min = value;
    cli_get_value(t_versions,&maxstr);
    status = ots$cvt_ti_l(&maxstr,&value);
    search->si_w_version_limit_max = value;
    search->si_v_version_limit = 1;
  };
  if (cli_present(t_backlink) & 1) {
    i = -1;
    while ((cli_get_value(t_backlink,&minstr)&1)
           && ((++i)<SI_K_BACKLINK_LIST_SIZE)) {
      status = ots$cvt_ti_l(&minstr,&value);
      search->si_w_backlink[i] = value;
    };
    search->si_w_backlink[++i]=0;
    search->si_v_backlink = 1;
  };
  if (cli_present(t_owner) & 1) {
    i = -1;
    while ((cli_get_value(t_owner,&minstr) & 1)
           && ((++i)<SI_K_OWNER_LIST_SIZE)) {
      status = parse_uic(&minstr,&value);
      if (status & 1)
        search->si_l_owner_list[i] = value;
      else {
        printf("UIC %.*s is not valid\n",
               minstr.dsc$w_length,minstr.dsc$a_pointer);
        --i;
      };
    };
    search->si_l_owner_list[++i]=0;
    search->si_v_owner = 1;
  };
  if (cli_present(t_prot) & 1) {
    search->si_v_prot = 1;
    if (cli_present(t_protset) & 1) {
      for (i=0;i<4;i++) {
        search->si_w_protection = 0; /* init to none have to be set */
        append_with_point(t_protset,ta_prot[i],&minstr);
        if (cli$present(&minstr) & 1) {
          cli$get_value(&minstr,&maxstr);
          /* loop through checking for R, W, E, D */
          c = maxstr.dsc$a_pointer;
          for (j=0;j<maxstr.dsc$w_length;j++) {
            switch (*c) {
              case 'R' :
                search->si_v_protection.read = 1;
                break;
              case 'W' :
                search->si_v_protection.write = 1;
                break;
              case 'E' :
                search->si_v_protection.execute = 1;
                break;
              case 'D' :
                search->si_v_protection.delete = 1;
                break;
              default:
                printf("Illegal protection specified '%c'\n",*c);
                break;
            };
            ++c;
          };
        };
        search->si_w_protset = search->si_w_protset
                               | (search->si_w_protection << (i*4));
      };
    };
    if (cli_present(t_protclr) & 1) {
      for (i=0;i<4;i++) {
        search->si_w_protection = 0; /* init to none have to be clear */
        append_with_point(t_protclr,ta_prot[i],&minstr);
        if (cli$present(&minstr) & 1) {
          cli$get_value(&minstr,&maxstr);
          /* loop through checking for R, W, E, D */
          c = maxstr.dsc$a_pointer;
          for (j=0;j<maxstr.dsc$w_length;j++) {
            switch (*c) {
              case 'R' :
                search->si_v_protection.read = 1;
                break;
              case 'W' :
                search->si_v_protection.write = 1;
                break;
              case 'E' :
                search->si_v_protection.execute = 1;
                break;
              case 'D' :
                search->si_v_protection.delete = 1;
                break;
              default:
                printf("Illegal protection specified '%c'\n",*c);
                break;
            };
            ++c;
          };
        };
        search->si_w_protclr = search->si_w_protclr
                               | (search->si_w_protection << (i*4));
      };
    };
  };

  if (cli_present(t_fileorg) & 1) {
    search->si_v_fileorg = 1;
    search->si_b_fileorgset = 0;
    search->si_b_fileorgclr = 0;
    for (i=0;i<4;i++) {
      append_with_point(t_fileorg,ta_fileorg[i],&minstr);
      switch (present(&minstr)) {
        case 1:
          search->si_b_fileorgset |= (1<<i);
          break;
        case -1:
          search->si_b_fileorgclr |= (1<<i);
          break;
      };
    };
    if (search->si_b_fileorgset == 0)
      search->si_b_fileorgset = 255;
  };

  if (cli_present(t_rtype) & 1) {
    search->si_v_rectype = 1;
    search->si_b_rectypeset = 0;
    search->si_b_rectypeclr = 0;
    for (i=0;i<7;i++) {
      append_with_point(t_rtype,ta_rtype[i],&minstr);
      switch (present(&minstr)) {
        case 1:
          search->si_b_rectypeset |= (1<<i);
          break;
        case -1:
          search->si_b_rectypeclr |= (1<<i);
          break;
      };
    };
    if (search->si_b_rectypeset == 0)
      search->si_b_rectypeset = 255;
  };

  if (cli_present(t_access) & 1) {
    search->si_v_access = 1;
    search->si_b_access_set = 0;
    search->si_b_access_clr = 0;
    for (i=0;i<4;i++) {
      append_with_point(t_access,ta_access[i],&minstr);
      switch (present(&minstr)) {
        case 1:
          search->si_b_access_set |= (1<<i);
          break;
        case -1:
          search->si_b_access_clr |= (1<<i);
          break;
      };
    };
    if (search->si_b_access_set == 0)
      search->si_b_access_set = 255;
  };

  if (cli_present(t_char) & 1) {
    search->si_v_char = 1;
    search->si_l_charset = 0;
    search->si_l_charclr = 0;
    append_with_point(t_char,t_badacl,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charset.v_badacl |= 1;
        break;
      case -1:
        search->si_charclr.v_badacl |= 1;
        break;
    };
    append_with_point(t_char,t_nobackup,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charclr.v_nobackup |= 1;
        break;
      case -1:
        search->si_charset.v_nobackup |= 1;
        break;
    };
    append_with_point(t_char,t_contigb,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charset.v_contigb |= 1;
        break;
      case -1:
        search->si_charclr.v_contigb |= 1;
        break;
    };
    append_with_point(t_char,t_nocharge,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charclr.v_nocharge |= 1;
        break;
      case -1:
        search->si_charset.v_nocharge |= 1;
        break;
    };
    append_with_point(t_char,t_contig,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charset.v_contig |= 1;
        break;
      case -1:
        search->si_charclr.v_contig |= 1;
        break;
    };
    append_with_point(t_char,t_directory,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charset.v_directory |= 1;
        break;
      case -1:
        search->si_charclr.v_directory |= 1;
        break;
    };
    append_with_point(t_char,t_erase,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charset.v_erase |= 1;
        break;
      case -1:
        search->si_charclr.v_erase |= 1;
        break;
    };
    append_with_point(t_char,t_badblock,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charset.v_badblock |= 1;
        break;
      case -1:
        search->si_charclr.v_badblock |= 1;
        break;
    };
    append_with_point(t_char,t_locked,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charset.v_locked |= 1;
        break;
      case -1:
        search->si_charclr.v_locked |= 1;
        break;
    };
    append_with_point(t_char,t_markdel,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charset.v_markdel |= 1;
        break;
      case -1:
        search->si_charclr.v_markdel |= 1;
        break;
    };
    append_with_point(t_char,t_spool,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charset.v_spool |= 1;
        break;
      case -1:
        search->si_charclr.v_spool |= 1;
        break;
    };
    append_with_point(t_char,t_readcheck,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charset.v_readcheck |= 1;
        break;
      case -1:
        search->si_charclr.v_readcheck |= 1;
        break;
    };
    append_with_point(t_char,t_writeback,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charset.v_writeback |= 1;
        break;
      case -1:
        search->si_charclr.v_writeback |= 1;
        break;
    };
    append_with_point(t_char,t_writcheck,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_charset.v_writcheck |= 1;
        break;
      case -1:
        search->si_charclr.v_writcheck |= 1;
        break;
    };
  };

  if (cli_present(t_attr) & 1) {
    search->si_v_attrib = 1;
    search->si_b_attrib_set = 0;
    search->si_b_attrib_clr = 0;
    append_with_point(t_attr,t_fortrancc,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_attribset.v_fortrancc |= 1;
        break;
      case -1:
        search->si_attribclr.v_fortrancc |= 1;
        break;
    };
    append_with_point(t_attr,t_impliedcc,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_attribset.v_impliedcc |= 1;
        break;
      case -1:
        search->si_attribclr.v_impliedcc |= 1;
        break;
    };
    append_with_point(t_attr,t_printcc,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_attribset.v_printcc |= 1;
        break;
      case -1:
        search->si_attribclr.v_printcc |= 1;
        break;
    };
    append_with_point(t_attr,t_nospan,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_attribclr.v_nospan |= 1;
        break;
      case -1:
        search->si_attribset.v_nospan |= 1;
        break;
    };
  };

  if (cli_present(t_journal) & 1) {
    search->si_v_journal = 1;
    search->si_b_journalset = 0;
    search->si_b_journalclr = 0;
    append_with_point(t_journal,t_only_ru,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_journalset.v_only_ru |= 1;
        break;
      case -1:
        search->si_journalclr.v_only_ru |= 1;
        break;
    };
    append_with_point(t_journal,t_never_ru,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_journalset.v_never_ru |= 1;
        break;
      case -1:
        search->si_journalclr.v_never_ru |= 1;
        break;
    };
    append_with_point(t_journal,t_journal_file,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_journalset.v_journal_file |= 1;
        break;
      case -1:
        search->si_journalclr.v_journal_file |= 1;
        break;
    };
    append_with_point(t_journal,t_aijnl,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_journalset.v_aijnl |= 1;
        break;
      case -1:
        search->si_journalclr.v_aijnl |= 1;
        break;
    };
    append_with_point(t_journal,t_atjnl,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_journalset.v_atjnl |= 1;
        break;
      case -1:
        search->si_journalclr.v_atjnl |= 1;
        break;
    };
    append_with_point(t_journal,t_bijnl,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_journalset.v_bijnl |= 1;
        break;
      case -1:
        search->si_journalclr.v_bijnl |= 1;
        break;
    };
    append_with_point(t_journal,t_rujnl,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_journalset.v_rujnl |= 1;
        break;
      case -1:
        search->si_journalclr.v_rujnl |= 1;
        break;
    };
  };

  if (cli_present(t_placement) & 1) {
    search->si_v_placement = 1;
    search->si_w_place_set = 0;
    search->si_w_place_clr = 0;
    append_with_point(t_placement,t_place_exact,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_placeset.v_exact |= 1;
        break;
      case -1:
        search->si_placeclr.v_exact |= 1;
        break;
    };
    append_with_point(t_placement,t_place_oncyl,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_placeset.v_oncyl |= 1;
        break;
      case -1:
        search->si_placeclr.v_oncyl |= 1;
        break;
    };
    append_with_point(t_placement,t_place_lbn,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_placeset.v_lbn |= 1;
        break;
      case -1:
        search->si_placeclr.v_lbn |= 1;
        break;
    };
    append_with_point(t_placement,t_place_rvn,&minstr);
    switch (present(&minstr)) {
      case 1:
        search->si_placeset.v_rvn |= 1;
        break;
      case -1:
        search->si_placeclr.v_rvn |= 1;
        break;
    };
  };

  if (cli_present(t_filename) & 1) {
    search->si_v_filename = 1;
    search->si_t_filename.dsc$b_class = DSC$K_CLASS_D;
    search->si_t_filename.dsc$b_dtype = DSC$K_DTYPE_T;
    cli_get_value(t_filename,&(*search).si_t_filename);
  };

  if (cli_present(t_aclexists) & 1)
    search->si_v_aclexists = 1;

  if (cli_present(t_aclcontains) & 1) {
    i = -1;
    while ((cli_get_value(t_aclcontains,&minstr) & 1)
           && ((++i)<SI_K_ACL_ID_LIST_SIZE)) {
      status = parse_uic(&minstr,&(*search).si_l_acl_id_list[i]);
      if (!(status & 1))
        printf("Invalid Identifer/UIC %.*s\n",
               minstr.dsc$w_length,minstr.dsc$a_pointer);
    };
    search->si_l_acl_id_list[++i] = 0;
    search->si_v_aclcontains = 1;
  };

  return(1);
}

long int search_header(search,fh2,context,cached,chan)
  struct search_info *search;
  struct fh2def *fh2;
  struct FileInfo *context;
  int cached;
  short int chan;
{
  static char namebuff[FI2$S_FILENAME+FI2$S_FILENAMEXT];
  static struct dsc$descriptor name =
    {0,DSC$K_DTYPE_T,DSC$K_CLASS_S,namebuff};
  struct fh2def *exthdr;
  struct fi2def *fi2;
  struct fm2def *fm2,*fm2adr;
  short int nxtfid[3];
  long int fm2offset=0,lbn=0,count=0,totextents=0,tothdrs=0;
  long int block;
  long int i,j,k,min,max;
  long status;
  static short int and_match = 0;
  short int lbn_found,placement_found,acl_found;
  struct acedef *acaddr;
  long int *idaddr;

  /* skip extention headers */
  if (fh2->fh2$w_seg_num != 0) return(0);

  /* if they have no search criterion, then return */
  if ((search->si_l_srchbits0 == 0)
      && (search->si_l_srchbits1 == 0))
    return(1);

  if (search->si_v_and_match)
    and_match = 1;

  /* compute where in the file header the file ident info is */
  fi2 = (long int)fh2 + fh2->fh2$b_idoffset * 2;

  if (search->si_v_filename) {
      j = 0;
      for (i=0;(i < FI2$S_FILENAME) &&
                    ((*fi2).fi2$t_filename[i] != ' ');i++)
        namebuff[j++] = fi2->fi2$t_filename[i];

      if ((fh2->fh2$b_mpoffset - fh2->fh2$b_idoffset) >= 60)
        for (i=0;(i < FI2$S_FILENAMEXT) &&
                      ((*fi2).fi2$t_filenamext[i] != ' ');i++)
          namebuff[j++] = fi2->fi2$t_filenamext[i];
      name.dsc$w_length = j;
      if (str$match_wild(&name,&(*search).si_t_filename) & 1)
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };

  if (search->si_v_credat) {
    min=cmp_time(&(*search).si_q_credat_min, &(*fi2).fi2$q_credate);
    max=cmp_time(&(*search).si_q_credat_max, &(*fi2).fi2$q_credate);
    if ((min <= 0) && (max >= 0))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };
  if (search->si_v_revdat) {
    min=cmp_time(&(*search).si_q_revdat_min, &(*fi2).fi2$q_revdate);
    max=cmp_time(&(*search).si_q_revdat_max, &(*fi2).fi2$q_revdate);
    if ((min <= 0) && (max >= 0))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };
  if (search->si_v_expdat) {
    min=cmp_time(&(*search).si_q_expdat_min, &(*fi2).fi2$q_expdate);
    max=cmp_time(&(*search).si_q_expdat_max, &(*fi2).fi2$q_expdate);
    if ((min <= 0) && (max >= 0))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };
  if (search->si_v_bakdat) {
    min=cmp_time(&(*search).si_q_bakdat_min, &(*fi2).fi2$q_bakdate);
    max=cmp_time(&(*search).si_q_bakdat_max, &(*fi2).fi2$q_bakdate);
    if ((min <= 0) && (max >= 0))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };

  if (search->si_v_revision) {
      if ((search->si_l_revision_min <= fi2->fi2$w_revision)
          && ((fi2->fi2$w_revision <= search->si_l_revision_max)
              || (search->si_l_revision_max == 0)))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };

  if (search->si_v_aclexists) {
      if (fh2->fh2$b_acoffset < fh2->fh2$b_rsoffset)
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };

  if (search->si_v_highwater) {
      if ((search->si_l_highwater_min <= fh2->fh2$l_highwater)
          && ((fh2->fh2$l_highwater <= search->si_l_highwater_max)
              || (search->si_l_highwater_max == 0)))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };

  if (search->si_v_ru_active) {
      if ((search->si_b_ru_active_min <= fh2->fh2$b_ru_active)
          && ((fh2->fh2$b_ru_active <= search->si_b_ru_active_max)
              || (search->si_b_ru_active_max == 0)))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };

  if (search->si_v_rsize) {
      if ((search->si_w_rsize_min <= fh2->fat.fat$w_rsize)
          && ((fh2->fat.fat$w_rsize <= search->si_w_rsize_max)
              || (search->si_w_rsize_max == 0)))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };

  if (search->si_v_alloc) {
      block = (fh2->fat.fat$w_hiblkh<<16)|fh2->fat.fat$w_hiblkl;
      if ((search->si_l_alloc_min <= block)
          && ((block <= search->si_l_alloc_max)
              || (search->si_l_alloc_max == 0)))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };

  if (search->si_v_used) {
    block = (fh2->fat.fat$w_efblkh<<16)|fh2->fat.fat$w_efblkl;
    if (fh2->fat.fat$w_ffbyte == 0) --block;
    if ((search->si_l_used_min <= block)
        && ((block <= search->si_l_used_max)
            || (search->si_l_used_max == 0)))
    {
      if (! and_match)
        return(1);
    }
    else
      if (and_match)
        return(0);
  };

  if (search->si_v_wasted) {
    block = (fh2->fat.fat$w_efblkh<<16)|fh2->fat.fat$w_efblkl;
    if (fh2->fat.fat$w_ffbyte == 0)
      --block;
    block = ((fh2->fat.fat$w_hiblkh<<16)|fh2->fat.fat$w_hiblkl) - block;
    if ((search->si_l_wasted_min <= block)
        && ((block <= search->si_l_wasted_max)
            || (search->si_l_wasted_max == 0)))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };

  if (search->si_v_bktsize) {
    if ((search->si_b_bktsize_min <= fh2->fat.fat$b_bktsize)
         && ((fh2->fat.fat$b_bktsize <= search->si_b_bktsize_max)
            || (search->si_b_bktsize_max == 0)))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };

  if (search->si_v_vfcsize) {
    if ((search->si_b_vfcsize_min <= fh2->fat.fat$b_vfcsize)
        && ((fh2->fat.fat$b_vfcsize <= search->si_b_vfcsize_max)
            || (search->si_b_vfcsize_max == 0)))
    {
      if (! and_match)
        return(1);
    }
    else
      if (and_match)
        return(0);
  };

  if (search->si_v_maxrec) {
    if ((search->si_w_maxrec_min <= fh2->fat.fat$w_maxrec)
        && ((fh2->fat.fat$w_maxrec <= search->si_w_maxrec_max)
            || (search->si_w_maxrec_max == 0)))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };

  if (search->si_v_defext) {
    if ((search->si_w_defext_min <= fh2->fat.fat$w_defext)
        && ((fh2->fat.fat$w_defext <= search->si_w_defext_max)
            || (search->si_w_defext_max == 0)))
    {
      if (! and_match)
        return(1);
    }
    else
      if (and_match)
        return(0);
  };

  if (search->si_v_gbc) {
    if ((search->si_w_gbc_min <= fh2->fat.fat$w_gbc)
        && ((fh2->fat.fat$w_gbc <= search->si_w_gbc_max)
            || (search->si_w_gbc_max == 0)))
    {
      if (! and_match)
        return(1);
    }
    else
      if (and_match)
        return(0);
  };

  if (search->si_v_ffbyte) {
    if ((search->si_w_ffbyte_min <= fh2->fat.fat$w_ffbyte)
        && ((fh2->fat.fat$w_ffbyte <= search->si_w_ffbyte_max)
            || (search->si_w_ffbyte_max == 0)))
    {
      if (! and_match)
        return(1);
    }
    else
      if (and_match)
        return(0);
  };

  if (search->si_v_version_limit) {
    if ((search->si_w_version_limit_min <= fh2->fat.fat$w_versions)
        && ((fh2->fat.fat$w_versions <= search->si_w_version_limit_max)
            || (search->si_w_version_limit_max == 0)))
    {
      if (! and_match)
        return(1);
    }
    else
      if (and_match)
        return(0);
  };

    if (search->si_v_backlink) {
      j = 0;
      k = -1;
      while (search->si_w_backlink[++k])
        if (fh2->fh2$w_backlink[0] == search->si_w_backlink[k])
        {
          if (! and_match)
            return(1);
          j = 1;
        };
      if (and_match && (j==0))
          return(0);
    };

    if (search->si_v_owner) {
      j = 0;
      k = -1;
      while (search->si_l_owner_list[++k])
        if (fh2->fh2$l_fileowner == search->si_l_owner_list[k])
        {
          if (! and_match)
            return(1);
          j = 1;
        };
      if (and_match && (j==0))
          return(0);
    };

  if (search->si_v_extents || search->si_v_headers
      || search->si_v_lbn || search->si_v_placement) {
    /* okay, loop through all the header blocks, starting with this one */
    lbn_found = 0;
    placement_found = 0;
    exthdr = fh2;
    while (exthdr && (exthdr->fh2$b_mpoffset < exthdr->fh2$b_acoffset)) {
      fm2offset = 0;
      fm2adr = (char *)exthdr + exthdr->fh2$b_mpoffset * 2;
      i = exthdr->fh2$b_map_inuse * 2;
      while (fm2offset < i) {
        fm2 = (char *)fm2adr + fm2offset;
        j=0;
        switch (fm2->fm2$v_format) {
          case FM2$C_PLACEMENT:
            lbn = 0;
            count = 0;
            if (search->si_v_placement)
              if ((search->si_w_place_set & fm2->fm2$w_word0)
                  && !(search->si_w_place_clr & fm2->fm2$w_word0))
                {
                  if (! and_match)
                    return(1);
                  placement_found = 1;
                };
            fm2offset += FM2$C_LENGTH0;
            break;
          case FM2$C_FORMAT1:
            ++j;
            ++totextents;
            lbn = (fm2->fm2$v_highlbn <<16) + fm2->fm2$w_lowlbn;
            count = fm2->fm2$b_count1;
            fm2offset += FM2$C_LENGTH1;
            break;
          case FM2$C_FORMAT2:
            ++j;
            ++totextents;
            lbn = fm2->fm2$l_lbn2;
            count = fm2->fm2$v_count2;
            fm2offset += FM2$C_LENGTH2;
            break;
          case FM2$C_FORMAT3:
            ++j;
            ++totextents;
            lbn = fm2->fm2$l_lbn3;
            count = (fm2->fm2$v_count2 << 16) + fm2->fm2$w_lowcount;
            fm2offset += FM2$C_LENGTH3;
            break;
        };
        if (search->si_v_lbn && j) {
          /* see if any of the LBNs are in this section */
          k = -1;
          while (search->si_l_lbn_list[++k] != -1)
            if ((lbn <= search->si_l_lbn_list[k])
                && (search->si_l_lbn_list[k] <= (lbn+count)))
            {
              if (! and_match)
                return(1);
              lbn_found = 1;
            };
        };
      };
      if (exthdr->fh2$w_ext_fid[0])
        exthdr = get_header(exthdr->fh2$w_ext_fid,exthdr->fh2$w_fid,
                            context,cached,chan);
      else
        exthdr=0;
      if (exthdr)
        ++tothdrs;
    };
    if (search->si_v_lbn && and_match && (! lbn_found))
      return(0);

    if (search->si_v_placement && and_match && (! placement_found))
      return(0);

    if (search->si_v_extents) {
      if ((search->si_l_extents_min <= totextents)
          && ((totextents <= search->si_l_extents_max)
              || (search->si_l_extents_max == 0)))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
    };

    if (search->si_v_headers) {
      if ((search->si_l_headers_min <= tothdrs)
          && ((tothdrs <= search->si_l_headers_max)
               || (search->si_l_headers_max == 0)))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
    };
  };

  if (search->si_v_aclcontains) {
    acl_found = 0;
    exthdr = fh2;
    while (exthdr && (exthdr->fh2$b_acoffset < exthdr->fh2$b_rsoffset)) {
      acaddr = (char *)exthdr + exthdr->fh2$b_acoffset * 2;

      while ((acaddr < ((char *)exthdr + (exthdr->fh2$b_rsoffset*2)))
             && (acaddr->ace$b_size != 0)) {

        /* search through the ace */
        if (acaddr->ace$b_type == ACE$C_KEYID) {
          i = -1;
          /* figure out how many id's are in this ace */
          j = acaddr->ace$b_size - (4 * acaddr->ace$v_reserved);
          /* position to first id */
          idaddr = (char *)acaddr + 8 + (4 * acaddr->ace$v_reserved);
          while ((search->si_l_acl_id_list[++i] != 0) && !acl_found)
            for (k=0;k<j;k++) {
              if (*idaddr == search->si_l_acl_id_list[i])
                acl_found = 1;
              ++idaddr; /* increment to point to next longword */
            };
        };

        /* move forward to next ace */
        acaddr = (char *)acaddr + acaddr->ace$b_size;
      };
      exthdr = get_header(exthdr->fh2$w_ext_fid,exthdr->fh2$w_fid,
                          context,cached,chan);
    };
    if (acl_found && ! and_match)
      return(1);
    if (and_match && ! acl_found)
      return(0);
  };

  if (search->si_v_prot) {
    if (((search->si_w_protset & ~fh2->fh2$w_fileprot)
         == search->si_w_protset)
         && ((search->si_w_protclr & fh2->fh2$w_fileprot)
             == search->si_w_protclr))
      {
        if (! and_match)
          return(1);
      }
      else
        if (and_match)
          return(0);
  };

  if (search->si_v_fileorg) {
    if ((search->si_b_fileorgset & (1<<fh2->fat.fat$v_fileorg))
        && !(search->si_b_fileorgclr & (1<<fh2->fat.fat$v_fileorg)))
    {
      if (! and_match)
        return(1);
    }
    else
      if (and_match)
        return(0);
  };

  if (search->si_v_rectype) {
    if ((search->si_b_rectypeset & (1<<fh2->fat.fat$v_rtype))
        && !(search->si_b_rectypeclr & (1<<fh2->fat.fat$v_rtype)))
    {
      if (! and_match)
        return(1);
    }
    else
      if (and_match)
        return(0);
  };

  if (search->si_v_access) {
    if ((search->si_b_access_set & (1<<fh2->fh2$b_acc_mode))
        && !(search->si_b_access_clr & (1<<fh2->fh2$b_acc_mode)))
    {
      if (! and_match)
        return(1);
    }
    else
      if (and_match)
        return(0);
  };

  if (search->si_v_char) {
    if (((search->si_l_charset & fh2->fh2$l_filechar) == search->si_l_charset)
     && ((search->si_l_charclr & fh2->fh2$l_filechar) == search->si_l_charclr))
    {
      if (! and_match)
        return(1);
    }
    else
      if (and_match)
        return(0);
  };

  if (search->si_v_attrib) {
    if ((search->si_b_attrib_set & fh2->fat.fat$b_rattrib)
        && !(search->si_b_attrib_clr & fh2->fat.fat$b_rattrib))
    {
      if (! and_match)
        return(1);
    }
    else
      if (and_match)
        return(0);
  };

  if (search->si_v_journal) {
    if ((search->si_b_journalset & fh2->fh2$b_journal)
        && !(search->si_b_journalclr & fh2->fh2$b_journal))
    {
      if (! and_match)
        return(1);
    }
    else
      if (and_match)
        return(0);
  };

  if (and_match)
    return(1);
  else
    return(0);
}

int cmp_time(a,b)
  struct {unsigned long int low;long int high;} *a,*b;
{
  if ((a->high == 0) && (a->low == 0)) return(0);
  if (a->high > b->high) return(1);
  if (a->high < b->high) return(-1);
  if (a->low > b->low) return(1);
  if (a->low < b->low) return(-1);
  return(0);
}

int present(s)
  struct dsc$descriptor *s;
{
  int status;

  status = cli$present(s);
  if (status & 1) return(1);
  if (status == CLI$_NEGATED) return(-1);
  return(0);
}
$EOD

Postmaster@vms.CIS.PITTSBURGH.EDU (PMDF Mail Server) (10/13/87)

Your message could not be delivered to: 

    WPA4

Your message has been enqueued and undeliverable for 3 days.
The mail system will continue to try to deliver your message
for an additional 9 days.

The beginning of your message follows: 

Postmaster@vms.CIS.PITTSBURGH.EDU.UUCP (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Sat, 24 Oct 87 19:01 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 0929 for
 000426@PITTVMS; Sat, 24-OCT-1987 19:00 EDT
Received: by CMUCCVMA (Mailer X1.25) id 0926; Sat, 24 Oct 87 19:03:36 EDT
Date: Thu, 22 Oct 87 17:38:10 edt
From: Bob Boyd 8*565-3627 22-Oct-1987 1705 <RLB@RTPARK.RTP.GE.COM>
Subject: RE: RUN/DETACHED/TIME_LIMIT=n
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: info_vax@mcnc.org, rlb@mcnc.org

Perkins@Arc.CDN had a question about running an image with a time limit.
     
Looking at the HELP RUN PROCESS I see there is /TIME_LIMIT=n.
     
I think a workable solution is the following:
     
$ RUN/DETACHED SYS$SYSTEM:LOGINOUT.EXE/INPUT=mydisk:[mydir]myprog.com -
    /OUTPUT=mylog.log-
    /PROCESS_NAME=TIMED_JOB -
    /TIME_LIMIT=n ! as calculated for your needs
     
Then in MYPROG.COM
$ ON ERROR THEN $ SUBMIT CLEANUP.COM ! I don't know if this will work --
$!    just suggesting it as a possibility.
$ RUN MY_IMAGE
$ SUBMIT CLEANUP.COM  ! you should get a few extra seconds of cpu time
     
If the last line of the above example won't do it, then you could have another
process sit and watch it and when it goes away, then do the cleanup.
Here is how to do it:
     
$ SPAWN/NOWAIT @BUSYCHECK TIMED_JOB 0-0:1:0.0  SUBMIT CLEANUP.COM
     
     
-------------------------------------------------------------------------
$! busycheck.com -- monitor a process to see if it's alive
$!
$!  p1 -- process name to be monitored
$!  p2 -- delay time in between checks.
$!
$!  p3 - p8 command and qualifiers to execute when done
$!
$ if p1.eqs."" then inquire p1 "Process name"
$ if p2.eqs."" then p2 := 0:0:5.0
$ proc_name = p1
$ delay = p2
$ !
$  ctx = -1
$LOOP:
$  pid = f$pid(ctx)
$  proc_name = f$edit(f$getjpi(pid,"prcnam"),"trim")
$  if F$LOC(P1,proc_name).ge.f$len(proc_name) then goto LOOP
$  new_cpu = f$getjpi(pid,"cputim")
$ !
$WAIT_LOOP:
$ wait 'delay'
$ new_cpu = f$getjpi(pid,"cputim")
$ if $status then $ goto WAIT_LOOP
$
$!finish up here
$ 'p3' 'p4' 'p5' 'p6' 'p7' 'p8'
$ !
$ EXIT
$ !
$!Last Modified:  22-OCT-1987 17:34:37.31
     
     
-----------------------------------------------------------------
 Bob Boyd                     Usenet:    rlb@rtpark.rtp.ge.com
 GE Microelectronics Ctr.     Voice:     (919)549-3627
 POB 13049, MS 7T3-01         GE DIALCOMM:  8*565-3627
 RTP, NC 27709-3049           GE DECnet: RTPARK::RLB

Postmaster@vms.CIS.PITTSBURGH.EDU (PMDF Mail Server) (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Sun, 25 Oct 87 02:14 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 1588 for
 000426@PITTVMS; Sun, 25-OCT-1987 02:14 EDT
Received: by CMUCCVMA (Mailer X1.25) id 1586; Sun, 25 Oct 87 01:17:03 EST
Date: Sun, 25 Oct 87 02:07 EDT
From: The Red Mage Chris Cebelenski
 <@vms.cis.pittsburgh.edu:CEBELENS_CHR@CTSTATEU.BITNET>
Subject: Looking for a CHEAP (!!) Micro-Vax I
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM

     
 Greetings all INFO-VAXers.. I'm currently an Undergrad student at
 Central Conn. State University.  As most of you have and/or are still
 in the boat I'm sure most of you can appreciate my situation when
 I say CHEAP.  Cash for most students is extreamly tight.
     
 Let me elaborate on my needs:
     
   Small MVI (2 meg or so)
     MicroVMS
     Not too much memory
     Fair sized disk. (RD52 fine)
     support for 2 or 3 users
       (One OPS terminal, 2 users)
     
 Reason: Fed up and sick and tired of restrictions placed on users at
 University computing facilities.  I need a small system that I can
 expirement with for myself, and not have to worry about privs and
 quotas and the like. (HOW THE HELL CAN ANYONE FUNCTION WITH A QUOTA?!?!)
     
 Alternatives/suggestions/flames always welcome!!
     

Postmaster@vms.CIS.PITTSBURGH.EDU (PMDF Mail Server) (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 00:05 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3468 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:04 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3466; Mon, 26 Oct 87 00:06:03 EST
Date: Fri, 23 Oct 87 09:41:53 CDT
From: Williams <VTCF@NCSC.ARPA>
Subject: ACL's again
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: info-vax@kl.sri.com

Is there a way to restrict the use of a certain image to a specific
processor?  I have a "nearly" homogeneous cluster of two VAXes on a
common system disk, with a common SYSUAF.  I have some software that is only
supposed to be used on one processor, and I'd like to keep my user's honest.
Is there some easy way to do this?  My first guess was some kind of ACE,
but I have a feeling that there's an easier way. (I'm not sure that ACL's
would work anyway.)  Any hints, ideas, etc. are greatly appreciated.
     
Thanks in advance
Tom Williams
vtcf@ncsc.arpa

Postmaster@vms.CIS.PITTSBURGH.EDU.UUCP (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Sat, 24 Oct 87 19:11 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 1025 for
 000426@PITTVMS; Sat, 24-OCT-1987 19:10 EDT
Received: by CMUCCVMA (Mailer X1.25) id 1023; Sat, 24 Oct 87 19:13:37 EDT
Date: 21 Oct 87 14:08:52 GMT
From: Gregg Wonderly <PBOX!OKSTATE!GREGG@RUTGERS.EDU>
Subject: Re: VI in TPU part 14/14
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments:     Warning -- original Sender: tag was info-vax-request@kl.sri.com
Comments: To: info-vax@kl.sri.com

The previous 14 parts of VI comprise the same version that I posted to
comp.sources.misc on the 11th.  However, I repackaged the distribution
using VMS_SHAR to try and cure the mailer trama I had with wrapped lines.
The posting on the 11th was supposed to go to this group as well, but
evidently it did not.
     
I am creating some lists on my machine to handle any new request, bug reports,
and comments in general, about VI.  They are as follows:
     
    info-vi     All discussion concerning VI fixes/bugs and general comments.
     
    vi-req      Requests to me for software or other things not of general
                interest to the info-vi list.  I.E. you should send mail to
                this list to be placed on the other (whenever possible).
     
These lists exist, on NEMO.MATH.OKSTATE.EDU, NOT on A.CS.OKSTATE.EDU which
is where these articles originated from.
     
Note that future updates and distributions of VI will go to these lists,
and not to the NET at large.
     
-----
Gregg Wonderly
Department of Mathematics
Oklahoma State University
     
UUCP:  {cbosgd, ihnp4, rutgers}!okstate!nemo.math.okstate.edu!gregg
ARPA:  gregg@NEMO.MATH.OKSTATE.EDU

Postmaster@vms.CIS.PITTSBURGH.EDU.UUCP (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Sat, 24 Oct 87 19:14 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 1044 for
 000426@PITTVMS; Sat, 24-OCT-1987 19:13 EDT
Received: by CMUCCVMA (Mailer X1.25) id 1042; Sat, 24 Oct 87 19:16:32 EDT
Date: 21 Oct 87 05:53:30 GMT
From: Gregg Wonderly <PBOX!OKSTATE!GREGG@RUTGERS.EDU>
Subject: VI in TPU part 14/14
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments:     Warning -- original Sender: tag was info-vax-request@kl.sri.com
Comments: To: info-vax@kl.sri.com

$ check=755981510
$ on error then goto oops
$ on severe_error then goto oops
$ on warning then goto oops
$ if f$search("VI.4") .nes. "" then goto assem
$       write sys$output -
    "I can't find VI.4, have you executed the command files to extract"
$       write sys$output "each part of the VI.TPU source?"
$       exit
$ ASSEM:
$ if f$search("SRC.DIR") .nes. "" then goto assem_1
$   write sys$output -
    "I can't find the [.SRC] directory, have you extracted the other portions"
$   write sys$output "of the distribution yet?
$   exit
$ ASSEM_1:
$ write sys$output "Assembling complete VI.TPU source file..."
$ write sys$output "$ COPY VI.4 [.SRC]VI.TPU"
$ copy VI.4 [.SRC]VI.TPU
$ write sys$output "$ APPEND VI.5 [.SRC]VI.TPU"
$ append VI.5 [.SRC]VI.TPU
$ write sys$output "$ APPEND VI.6 [.SRC]VI.TPU"
$ append VI.6 [.SRC]VI.TPU
$ write sys$output "$ APPEND VI.7 [.SRC]VI.TPU"
$ append VI.7 [.SRC]VI.TPU
$ write sys$output "$ APPEND VI.8 [.SRC]VI.TPU"
$ append VI.8 [.SRC]VI.TPU
$ write sys$output "$ APPEND VI.9 [.SRC]VI.TPU"
$ append VI.9 [.SRC]VI.TPU
$ write sys$output "$ APPEND VI.10 [.SRC]VI.TPU"
$ append VI.10 [.SRC]VI.TPU
$ write sys$output "$ APPEND VI.11 [.SRC]VI.TPU"
$ append VI.11 [.SRC]VI.TPU
$ write sys$output "$ SET DEFAULT [.SRC]"
$ set default [.SRC]
$ write sys$output "VI source file assembled... Checking"
$ checksum VI.TPU
$ if checksum$checksum .ne. check then goto bad_check
$ write sys$output "Checksum OK..."
$ COMPILE:
$ if f$search ("make.com") .nes. "" then goto domake
$   write sys$output -
    "I can't find [.SRC]make.com, perhaps you haven't extracted it yet?"
$   set def [-]
$   exit
$ DOMAKE:
$ write sys$output "$ @MAKE VI"
$ @make VI
$ type sys$input
$ write sys$output -
    f$fao("!/*** The VI TPU section file has been succesfully built ***!/")
$ DEF = F$ENVIRONMENT ("DEFAULT")
$ TVI=="EDIT/TPU/SECTION=''DEF'VI.GBL"
$ WRITE SYS$OUTPUT "$ SET DEFAULT [-]"
$ SET DEF [-]
$ EXIT
$ bad_check:
$ write sys$output f$fao ("Checksum of file failed, it may be damaged!/")
$ write sys$output check," <> ",checksum$checksum
$ write sys$output -
    f$fao ("!/Proceeding with Compile, just in case it is not.!/")
$ goto compile
$ oops:
$  exit '$STATUS'

Postmaster@vms.CIS.PITTSBURGH.EDU.UUCP (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 00:17 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3519 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:17 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3517; Mon, 26 Oct 87 00:19:15 EST
Date: 23 Oct 87 20:24:39 GMT
From: Bill Gieske <IHNP4!HOMXB!MHUXT!ALUXS!ALUXE!ALUXP!WG@UCBVAX.BERKELEY.EDU>
Subject: VMS version of Unix vi editer
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments:     Warning -- original Sender: tag was info-vax-request@kl.sri.com
Comments: To: info-vax@kl.sri.com

Does anyone know where I can get a relatively current version of vi
that can run under VMS?  Let me know if you do!  Thanks.
     
W. Gieske
AT&T Bell Laboratories
(215)439-5137

Postmaster@vms.CIS.PITTSBURGH.EDU.UUCP (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 00:33 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3781 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:32 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3779; Mon, 26 Oct 87 00:34:01 EST
Date: Sat, 24 Oct 87 17:11 EDT
From: "Clayton, Paul D." <CLAYTON@XRT.UPENN.EDU>
Subject: Thoughts On Page/Swap File Usage And Items To Look For...
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: INFO-VAX@kl.sri.com

     
Information From TSO Financial - The Saga Continues...
Chapter 31 - October 24, 1987
     
Jeff Siegal has asked a number of questions about the use of page and swap
files under VMS. The answers that Jerry supplied in a earlier message are
accurate and well stated.
     
There are a number of other items that need to be addressed also.
     
1. If the swap and page files are not contigious, then EXTRA work has to be done
by the system to accomplish the same result. This EXTRA work is DELAYING the
processor from doing work that your program is requesting. The overhead in
dealing with fragmented files is to be considered OVERHEAD. While you can not
get rid of OVERHEAD, you NEED to do everything possible to LIMIT it. In simple
terms, make the files contigious, and speed things along.
     
2. I recommend that the SYSGEN parameters SWAPFILECNT and PAGEFILCNT be set
to something in EXCESS of the number you are currently using. This will enable
you to ADD additional files when they are needed to get a machine back on its
feet. The alternative is a hung system and a reboot to get it back.
     
3. BEWARE the use of GLOBAL BUFFERING and its impact to the PRIMARY page file
under VMS 4.X. We make extensive use of global bufferring on our systems and
it needs to be understood that the GLOBAL PAGES used in creating the GLOBAL
SECTION have a backing store in the PRIMARY page file ONLY. We have been NAILED
to the wall on this several times. There are two SYSGEN parameters that
influence the use of global buffering. They are GBLSECTIONS and GBLPAGFIL. The
GBLSECTIONS parameter is the number of total global sections that can be
existing at any point in time. This includes program sections from installed
images, and any user sections for buffering data. The other parameter, GBLPAGFIL
is the maximum number of pages that can be used in the primary page file for
creating global buffers. The global buffer sections can be seen by doing a
SHOW/GLOBAL command under INSTALL/COMMAND_MODE. The sections with the prefix
of 'RMS$' are global buffer sections. Note that these may still exist on a CPU
in a VAXCluster, which has no processes currently using those files on that
specific CPU. The thing to remember here is that VAXClusters have files open,
and sections created until ALL CPU nodes in the cluster have closed the file.
Rumor has it that a NEW SYSGEN parameter will be in VMS 5.X to allow the
global sections to have an alternate page file for the backing media when the
sections are created.
     
Have fun.
     
Paul D. Clayton - Manager Of Systems
TSO Financial - Horsham, Pa. USA
Address - CLAYTON%XRT@CIS.UPENN.EDU

Postmaster@vms.CIS.PITTSBURGH.EDU (PMDF Mail Server) (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 00:23 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3580 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:20 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3578; Mon, 26 Oct 87 00:22:08 EST
Date: Fri, 23 Oct 87 13:27:17 PDT
From: BOLEF%ALBEDO.SPAN@VLSI.JPL.NASA.GOV
Subject: Request for Calcomp Symbiont
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: info-vax@kl.sri.com

     
Note: this message is for Tom Wade. I could not get a path to him that worked.
     
    Dear Mr. Wade:
        We are very interested in your Calcomp Symbiont. We've purchased a
    Zeta plotter which emulates the Calcomp. If you get a chance, perhaps
    you could jot down a sentence or two telling your method of debugging
    a symbiont, should we need to alter yours for local conditions.
     
    Regards, Larry
     
    Larry Bolef                   Arpa-Internet: BOLEF%ALBEDO@ames-io.arpa
    University of Colorado  SPAN/Physnet/Hepnet: ALBEDO::BOLEF -or- 33839::BOLEF
    Campus Box 449                       TEXnet: UTADNX::UTSPAN::ALBEDO::BOLEF
    Boulder, CO 80309                  Telemail: [LBOLEF/NASA] NASAMAIL/USA
    (303) 492-8124    UUCP(forwarded to ALBEDO): bolef@cires.colorado.edu
     

Postmaster@vms.CIS.PITTSBURGH.EDU (PMDF Mail Server) (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 00:42 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3827 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:39 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3825; Mon, 26 Oct 87 00:39:32 EST
Date: Fri, 23 Oct 87 17:05:34 EDT
From: Jim Murawski <R021JM9W@VB.CC.CMU.EDU>
Subject: Changing from daylight time to standard time
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: Info-Vax@KL.SRI.COM

     
        In most of North America, standard time starts this Sunday
        (October 25th) at 2:00.  I have whipped up a command procedure
        (that'll run in batch) to automatically change the system time
        and notify the console that the time has changed.  This same
        procedure can also be used when changing from standard time
        to daylight time.  To submit it, type:
     
        $ Submit Timechange /Parameter=("DAYLIGHT/STANDARD") -
                /After="25-Oct-1987 02:00" /[Your favorite qualifiers]
     
        In case your Vax is down at 2:00 on Sunday, the batch job will
        still set your time back by 1 hour whenever the Vax comes back up,
        so the time will still be correct.  Note that you may lose "a
        second or so" when changing the time via this procedure, but I'm
        sure most of you will find it acceptable.
                                -Jim Murawski
                                -Carnegie Mellon Computing Services
                                -Pittsburgh, PA
                                -R021JM9W@VB.CC.CMU.EDU (or CMCCVB.Bitnet)
     
$!       sys$user1:[r021jm9w]timechange.com;22
$!       Last Edit Date = Fri Oct 23 16:50:12 1987    R021JM9W
$!
$!      **  Revision History  (Start)  **
$!      ---------------------------------
$!      Fri Oct 23 16:50:12 1987 R021JM9W : Initial version.
$!      ---------------------------------
$!      **  Revision History (Finish)  **
$!
$!  TIMECHANGE - Change the time from Daylight to Standard or vice-versa,
$!               depending on the value of P1 (parameter 1 in batch).
$!
$ Save_Ver = F$Verify (1)
$ On Error Then Goto ABORT
$ On Control_Y Then Goto ABORT
$ P1 = F$Edit (P1, "UPCASE,TRIM")
$ If P1 .EQS. "STANDARD/DAYLIGHT" Then Goto START
$ If P1 .EQS. "DAYLIGHT/STANDARD" Then Goto START
$ Goto ABORT
$START:
$ Prev_Priv = F$Setprv ("OPER,LOG_IO")
$ Cur_Timestamp = F$Time ()
$ Cur_Date = F$Cvtime (Cur_Timestamp, "ABSOLUTE", "DATE")
$ Cur_Hour = F$Cvtime (Cur_Timestamp, , "HOUR")
$ Cur_Minute = F$Cvtime (Cur_Timestamp, , "MINUTE")
$ Cur_Second = F$Cvtime (Cur_Timestamp, , "SECOND")
$ Cur_Hundredth = F$Cvtime (Cur_Timestamp, , "HUNDREDTH")
$ If P1 .EQS. "STANDARD/DAYLIGHT" Then Goto ADD_HOUR
$SUB_HOUR:
$ New_Hour = F$String (F$Integer (Cur_Hour) - 1)
$ Goto NEW_TIME
$ADD_HOUR:
$ New_Hour = F$String (F$Integer (Cur_Hour) + 1)
$NEW_TIME:
$ New_Timestamp = Cur_Date + " " + New_Hour + ":" + Cur_Minute + ":" -
        + Cur_Second + "." + Cur_Hundredth
$ Set Time="''New_Timestamp'"
$ Prev_Priv = F$Setprv (Prev_Priv)
$!
$!  Notify the operator's console about the new time and send mail when OK
$!
$ Reply /Term=OPA0 /Bell -
        "Changed system time from ''Cur_Timestamp' to ''New_Timestamp'"
$ Mail /Subject="Timechange OK!!" NL: "''F$Getjpi ("", "USERNAME")'"
$ Save_Ver = F$Verify (Save_Ver)
$ Exit
$ABORT:
$ Show Symbol $Status
$ Save_Stat = $Status
$!
$!  Send mail on error and notify the operator's console
$!
$ Mail /Subject="Timechange Had Errors!!" NL: "''F$Getjpi ("", "USERNAME")'"
$ Reply /Term=OPA0 /Bell -
        "ERROR changing system time, please call ''F$Getjpi ("", "Username")'"
$ Save_Ver = F$Verify (Save_Ver)
$ Exit Save_Stat
$!
$!  End of TIMECHANGE.COM

Postmaster@vms.CIS.PITTSBURGH.EDU (PMDF Mail Server) (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 00:37 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3812 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:36 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3810; Mon, 26 Oct 87 00:38:21 EST
Date: 21 Oct 87 18:32:45 GMT
From: "Leonard H. Tower Jr." <CBOSGD!CBTERRA!TOWER@UCBVAX.BERKELEY.EDU>
Subject: Fortran 8X
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments:     Warning -- original Sender: tag was info-vax-request@kl.sri.com
Comments: To: info-vax@kl.sri.com

Just forwarding this along.  Suspect some of you could be affected
down the line.
     
enjoy -len
----------------------------------------------------------------------
Date:  Mon, 5 Oct 87 10:16 EDT
From: John C Klensin <Klensin@MIT-Multics.ARPA>
Subject:  Fortran 8X
To: bboard@MC.LCS.MIT.EDU
     
   For anyone who might be interested, the proposed revised Fortran
standard has been announced for public review.  This version of the
language, under development for several years, contains a large
collection of extensions that give it much of the power and capabilities
of languages like Ada (tm) including array operations, user-defined data
types, facilities for modular data and procedure definitions, and "the
concept of language evolution".
   This revision has been vigorously opposed by several parties on the
grounds (among others) that it will make Fortran too large and complex
to be mastered and used by major portions of its traditional user
community.  Many of the opponents have voted to expose it for public
review only as a consequence of a belief that it is time that general
opinion "corrects" the position of the majority position on the
developing technical committee.
   On the other hand, the draft standard definitely has its advocates,
who argue that these changes and extensions are needed to keep Fortran
useful in the age of parallel machines and computations and/or to
incorporate more modern language constructions.
   While no FORTRAN 77 features have been deleted, the draft standard
identifies a very large fraction of traditional FORTRAN s obsolescent or
deprecated.  That list includes arithmetic IF, real control variables,
shared DO termination, alternate return, ASSIGN and assigned GOTO,
EQUIVALENCE, assumed-size dummy arrays, passing array elements or
substrings, BLOCK DATA, the COMMON statement, the ENTRY statement,
statement functions, non-generic names for intrinsic functions, computed
GOTO, most of the DATA statement, the DIMENSION statement, and the
DOUBLE PRECISION statement.
  In each of these cases, replacement facilities -- either more general
or more aesthetically pleasing to the developers -- have been provided,
and these traditional facilities are therefore redundant.  The draft
standard requires that both the old and the new functions be supported
in parallel until such time as the old ones can be discarded, although
there appear to be some restrictions on the use of both "old" and "new"
features in the same program.
     
   The document, and the internal comments and objections to it, can be
ordered for $50 from Global Engineering Documents, 800-854-7179.
Comments should be sent to Catherine Katchurik, X3 Secretariat/CBEMA,
311 First Street NW, Suite 500, Washington, DC 20001, with a copy to the
Board of Standards Review, ANSI, 1430 Broadway, New York City, NY 10018.
   Please do not comment on the basis of the summary above:  I have a
well-known position on this subject that has almost certainly influenced
what I have chosen to include in the summary.  If, on the other hand,
you are a Fortran user, it is in your interests to obtain and review
this document and comment (whatever your position).  It is the clear,
and quite public, intent of several members of the technical committee
to get this draft standard approved and then use the government
procurement process to impose it on all vendors and users.  If this is
desirable, then fine.  If it is not, profuse and detailed objections now
are the only way to stop it.
  The comment period closes 23 February.  However, note that Global is
often somewhat slow and the document is over 3/4 inch thick without the
internal committee comments and not especially easy to follow, so order
early if you are going to respond.
   I am not directly involved in the development effort, nor have I
contributed to the draft standard, so don't comment to me -- this
announcement is provided only as a public service, to give as much
timely notice to the MIT community as possible.  If you have colleagues
who should know about this who don't see this list, please pass the
notice along.
----------------------------------------------------------------------

Postmaster@vms.CIS.PITTSBURGH.EDU.UUCP (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 00:58 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3767 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:31 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3763; Mon, 26 Oct 87 00:33:16 EST
Date: 21 Oct 87 19:28:25 GMT
From: Gregg Wonderly <PBOX!OKSTATE!GREGG@RUTGERS.EDU>
Subject: Re: TPUVI Bug
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments:     Warning -- original Sender: tag was info-vax-request@kl.sri.com
Comments: To: info-vax@kl.sri.com

in article <8710201014.AA04165@ucbvax.Berkeley.EDU>, VAUGHAN@CANISIUS.BITNET
(Tom Vaughan @ Computer Center) says:
>
>  I have put up TPU-VI and have encountered a problem:
>
>    using the global substitution command
>                  :g/targetstring/s//replace string/g
>
> The VI editor goes into an infinite tail spin giving me
> that "Line Length at Maximum, Can't Insert Characters" type of message.
> You can't break out with ctrl-y or ctrl-c,  luckily we are on a PBX
> and can disconnect.
>
     
    You are the second person that I have heard of that uses
     
       :g/targetstring/s//replace string/g
     
as opposed to the more obvious
     
       :%s/targetstring/replace string/g
     
TPU VI is not attempting to use any special techniques here for determining
that the source string of the 's' command is null, so it should use the
string from the global command.
     
The global command only identifies a line to act on.  The substitute command
is then applied to that line.  What you are experiencing is TPU always matching
a null pattern, and then inserting the 'replace string', thus lengthening the
line forever.
     
The simple workaround is to use the second notation given above.
     
I have made TPU VI compatible with this notation, but it was not obvious
to me that it should have worked that way.
     
-----
Gregg Wonderly
Department of Mathematics
Oklahoma State University
     
UUCP:  {cbosgd, ihnp4, rutgers}!okstate!nemo.math.okstate.edu!gregg
ARPA:  gregg@NEMO.MATH.OKSTATE.EDU

Postmaster@vms.CIS.PITTSBURGH.EDU.UUCP (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 00:46 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3845 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:44 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3842; Mon, 26 Oct 87 00:45:38 EST
Date: 21 Oct 87 05:51:05 GMT
From: Gregg Wonderly <PBOX!OKSTATE!GREGG@RUTGERS.EDU>
Subject: VI in TPU part 5/14
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments:     Warning -- original Sender: tag was info-vax-request@kl.sri.com
Comments: To: info-vax@kl.sri.com

$!=============================================================================
$! VAX/VMS archive file created by VMS_SHAR V-4.03 05-Aug-1987
$! which was written by Michael Bednarek (U3369429@ucsvc.dn.mu.oz.au)
$! To unpack, simply save and execute (@) this file.
$!
$! This archive was created by GREGG
$!      on Tuesday 20-OCT-1987 22:26:38.16
$!
$! It contains the following 5 files:
$! DO.COM MAILEDIT.COM VI.CLD VI.COM VISETUP.COM
$!=============================================================================
$ Set Symbol/Scope=(NoLocal,NoGlobal)
$ Version=F$GetSYI("VERSION") ! See what VMS version we have here:
$ If Version.ges."V4.4" then goto Version_OK
$ Write SYS$Output "Sorry, you are running VMS ",Version, -
                ", but this procedure requires V4.4 or higher."
$ Exit 44
$Version_OK: CR[0,8]=13
$ Pass_or_Failed="failed!,passed."
$ Goto Start
$Convert_File:
$ Read/Time_Out=0/Error=No_Error1/Prompt="creating ''File_is'" SYS$Command ddd
$No_Error1: Define/User_Mode SYS$Output NL:
$ Edit/TPU/NoSection/NoDisplay/Command=SYS$Input/Output='File_is' -
        VMS_SHAR_DUMMY.DUMMY
f:=Get_Info(Command_Line,"File_Name");b:=Create_Buffer("",f);
o:=Get_Info(Command_Line,"Output_File");Set (Output_File,b,o);
Position (Beginning_of(b));Loop x:=Erase_Character(1); Loop ExitIf x<>"V";
Move_Vertical(1);x:=Erase_Character(1);Append_Line;Move_Horizontal
(-Current_Offset);EndLoop;Move_Vertical(1);ExitIf Mark(None)=End_of(b)
EndLoop;Exit;
$ Delete VMS_SHAR_DUMMY.DUMMY;*
$ Checksum 'File_is
$ Success=F$Element(Check_Sum_is.eq.CHECKSUM$CHECKSUM,",",Pass_or_Failed)+CR
$ Read/Time_Out=0/Error=No_Error2/Prompt=" CHECKSUM ''Success'" SYS$Command ddd
$No_Error2: Return
$Start:
$ File_is="[.EXE]DO.COM"
$ Check_Sum_is=388123797
$ if f$search("EXE.DIR;1") .eqs. "" then -
     CREATE/LOG/DIRECTORY [.EXE]
$ Copy SYS$Input VMS_SHAR_DUMMY.DUMMY
X$ v=f$verify(0)
X$!
X$!    DO.COM
X$!
X$!    Written by Gregg Wonderly 30-Oct-1986
X$!
X$! write sys$output "$ ''P1' ''P2' ''P3' ''P4' ''P5' ''P6' ''P7' ''P8'"
X$ write sys$output "$ ",P1," ",P2," ",P3," ",P4," ",P5," ",P6," ",P7," ",P8
X$ 'P1' 'P2' 'P3' 'P4' 'P5' 'P6' 'P7' 'P8'
X$ EXIT $status+('f$verify(v)'*0)
$ GoSub Convert_File
$ File_is="[.EXE]MAILEDIT.COM"
$ Check_Sum_is=740363787
$ if f$search("EXE.DIR;1") .eqs. "" then -
     CREATE/LOG/DIRECTORY [.EXE]
$ Copy SYS$Input VMS_SHAR_DUMMY.DUMMY
X$ !
X$ ! Command procedure to invoke an editor for MAIL.
X$ !
X$ ! Inputs:
X$ !
X$ !    P1 = Input file name.
X$ !    P2 = Output file name.
X$ !
X$ ! If MAIL$EDIT is undefined, MAIL will invoke callable EDT.
X$ ! If MAIL$EDITis defined to be a command procedure,
X$ ! MAIL will create a subprocess to edit the mail.
X$ !
X$ ! Note that this procedure is run in the context of a subprocess.
X$ ! LOGIN.COM is not executed.  However, all process logical names
X$ ! and DCL global symbols are copied.
X$ !
X$ ! The default directory is the same as the parent process
X$ !
X$    IF P1 .EQS. "" THEN GOTO NOINPUT
X$    @VI$ROOT:[EXE]VI 'P1' /OUTPUT='P2' "" "" "" "" "" "NOSPAWN"
X$    EXIT
X$ NOINPUT:
X$    @VI$ROOT:[EXE]VI 'P2' "" "" "" "" "" "" "NOSPAWN"
X$    EXIT
$ GoSub Convert_File
$ File_is="[.EXE]VI.CLD"
$ Check_Sum_is=694572112
$ if f$search("EXE.DIR;1") .eqs. "" then -
     CREATE/LOG/DIRECTORY [.EXE]
$ Copy SYS$Input VMS_SHAR_DUMMY.DUMMY
X!
X!  CLD for VI.  Derived from the CLD for the EDIT command
X!  This CLD redefines the default values for the parameters to EDIT/TPU so
X!  that VI is the default section file instead of EVE.
X!
Xdefine verb vi
X   image VI$ROOT:[EXE]VI.EXE
X   parameter P1 , label=FILE_NAME , prompt="File"
X      value (list,type=$infile)
X   qualifier SECTION
X      default
X      value (default="VISECINI",type=$infile)
X   qualifier LISTING
X      value (type=$outfile)
X   qualifier OUTPUT
X      value (type=$outfile)
X   qualifier READ_ONLY
X   qualifier UPDATE
X      value (list)
X      placement=local
X   qualifier COMMAND
X      default
X      value (DEFAULT="VIINI",TYPE=$INFILE)
X   qualifier RECOVER
X   qualifier JOURNAL
X      default
X      value (type=$infile)
X   qualifier DISPLAY
X      default
X      value (list,type=$infile)
X   qualifier CREATE
X      default
X   qualifier TPU
X      default
$ GoSub Convert_File
$ File_is="[.EXE]VI.COM"
$ Check_Sum_is=156378540
$ if f$search("EXE.DIR;1") .eqs. "" then -
     CREATE/LOG/DIRECTORY [.EXE]
$ Copy SYS$Input VMS_SHAR_DUMMY.DUMMY
X$!
X$!    VI.COM
X$!
X$!    Written by Gregg Wonderly  30-OCT-1986
X$!
X$!  A command file to run VI as a subprocess to the current DCL process.
X$!
X$!    Check to see if the process already exists
X$!
X$        VI = "EDIT/TPU"
X$!   OR VI = "VI" if you are using VI.EXE
X$!
X$        TT = F$GETDVI("SYS$COMMAND","DEVNAM") - "_" - "-" - ":"
X$        EDIT_NAME = "Edit_" + TT
X$        PRIV_LIST = F$SETPRV("NOGROUP,NOWORLD")
X$        PID = 0
X$!
X$    LOOP:
X$        MPID = F$PID(PID)
X$        PROC = F$GETJPI(MPID,"PRCNAM")
X$!
X$! If process is there, then go attach to it
X$!
X$        IF PROC .EQS. EDIT_NAME THEN GOTO ATTACH
X$        IF PID .NE. 0 THEN GOTO LOOP
X$!
X$! If we fall through, then no such process, so spawn the editor
X$!
X$    SPAWN:
X$        PRIV_LIST = F$SETPRV(PRIV_LIST)
X$        DEFINE/NOLOG SYS$INPUT SYS$COMMAND:
X$        T1 = F$EDIT(P2 + " " + P3 + " " + P4 + " " + P5 + " " -
X                    + P6 + " " + P7, "UPCASE,COLLAPSE")
X$        T1 = "''T1' ''P1'"
X$        DEFINE/JOB/NOLOG TPU$ATTACH_NAME "''f$getjpi("","prcnam")'"
X$        DEFINE/JOB/NOLOG TPU$SEARCH " "
X$        DEFINE/JOB/NOLOG TPU$LINE " "
X$        DEFINE/JOB/NOLOG TPU$OUTPUT " "
X$        DEFINE/JOB/NOLOG TPU$ARGS " "
X$        DEFINE/JOB/NOLOG TPU$NEWCMD " "
X$        IF ("''P8'" .EQS. "NOSPAWN") THEN GOTO NOSPAWN
X$            WRITE SYS$ERROR "[Spawning a new kept editor]"
X$            SPAWN/PROCESS="''EDIT_NAME'"/NOLOG VI 'T1'
X$            SUSPEND/NAME="''EDIT_NAME'"
X$            WRITE SYS$ERROR "[Back from edit]"
X$            GOTO DONE
X$!
X$!  Startup the editor without spawning
X$!
X$    NOSPAWN:
X$        WRITE SYS$OUTPUT T1
X$        DEFINE/NOLOG/JOB TPU$NOSUBPROC 1
X$        VI 'T1'
X$        DEASSIGN/JOB TPU$NOSUBPROC
X$        GOTO DONE
X$!
X$! Come here if subprocess already exists.
X$!
X$    ATTACH:
X$!
X$!    For the attach, we allow some parameters to be passed to the editor,
X$!  other than the filename.  Specifically, a string to search for, or
X$!  a line number to go to.
X$!
X$        PRIV_LIST = F$SETPRV(PRIV_LIST)
X$        LINENO = " "
X$        SEARCH = " "
X$        OUTPUT = " "
X$        NEWCMD = " "
X$        LIST== F$EDIT ("''P1' ''P2' ''P3' ''P4' ''P5' ''P6' ''P7'", -
V
X            "UPCASE,TRIM,COMPRESS")
X$         START = F$LOCATE ("/OUT", LIST)
X$         IF (START .EQ. F$LENGTH(LIST)) THEN GOTO NOOUT
X$            REMAIN = F$EXTRACT (START,255,LIST)
X$            END = F$LOCATE ("=", REMAIN)
X$            IF (END .NE. F$LENGTH (REMAIN)) THEN GOTO OUT_1
X$                WRITE SYS$ERROR F$MESSAGE(%X38150)
X$                WRITE SYS$ERROR " \OUTPUT\"
X$                EXIT
X$!
X$        OUT_1:
V$            OUTPUT=F$EXTRACT(END+1,F$LOCATE(" ",REMAIN)-END-1,REMAI
XN)
X$            LIST = F$EXTRACT (0,START,LIST) + -
V                    F$EXTRACT(END+2+F$LENGTH(OUTPUT),255,RE
XMAIN)
X$!
X$    NOOUT:
X$        IF (F$EXTRACT(0,1,P1) .NES. "+") THEN GOTO NO_LINE
X$            IF (F$EXTRACT(1,1,P1) .NES. "/") .AND. -
V                    (F$EXTRACT(1,1,P1) .NES. "?") THEN GOTO
X NO_SEARCH
X$                SEARCH = F$EXTRACT (1,255,P1)
X$                P1=" "
X$                GOTO NO_ALTS
X$!
X$    NO_SEARCH:
X$        IF (F$EXTRACT(1,1,P1) .NES. "$") THEN GOTO NO_CMD
X$            NEWCMD = F$EXTRACT (2,255,P1)
X$            P1=" "
X$            GOTO NO_ALTS
X$    NO_CMD:
X$        LINENO = F$EXTRACT (1,255,P1)
X$        p1=""
X$!
X$    NO_ALTS:
X$        LIST== F$EDIT ("''P2' ''P3' ''P4' ''P5' ''P6' ''P7'", -
V                                    "UPCASE
X,COMPRESS,TRIM")
X$    NO_LINE:
X$!
X$!  Parameters are passed through the JOB logical table.
X$!
X$        DEFINE/JOB/NOLOG TPU$SEARCH "''SEARCH'"
X$        DEFINE/JOB/NOLOG TPU$LINE "''LINENO'"
X$        DEFINE/JOB/NOLOG TPU$OUTPUT "''OUTPUT'"
X$        DEFINE/JOB/NOLOG TPU$ARGS " ''LIST'"
X$        DEFINE/JOB/NOLOG TPU$NEWCMD "''NEWCMD'"
X$        DEFINE/JOB/NOLOG TPU$ATTACH_NAME "''f$getjpi("","prcnam")'"
X$!
X$!  Restore all prior privileges.
X$!
X$        WRITE SYS$ERROR "[Attaching to editor]"
X$        DEFINE/NOLOG SYS$INPUT SYS$COMMAND:
X$        RESUME/NAME="''EDIT_NAME'"
X$        ATTACH "''EDIT_NAME'"
X$        WRITE SYS$ERROR "[Back from edit]"
X$        SUSPEND/NAME="''EDIT_NAME'"
X$!
X$!  Exit the editor, deleting the journal files.
X$!
X$   DONE:
X$        DEASSIGN/JOB TPU$ATTACH_NAME
X$        DEASSIGN/JOB TPU$SEARCH
X$        DEASSIGN/JOB TPU$LINE
X$        DEASSIGN/JOB TPU$OUTPUT
X$        DEASSIGN/JOB TPU$ARGS
X$        DEASSIGN/JOB TPU$NEWCMD
X$        EXIT
$ GoSub Convert_File
$ File_is="[.EXE]VISETUP.COM"
$ Check_Sum_is=729501141
$ if f$search("EXE.DIR;1") .eqs. "" then -
     CREATE/LOG/DIRECTORY [.EXE]
$ Copy SYS$Input VMS_SHAR_DUMMY.DUMMY
X$ !
X$ !    VISETUP.COM  -  Set up to use the VI TPU interface.
X$ !
X$ !  Written by Gregg Wonderly JUN-30-1987
X$ !
X$ DEFINE/NOLOG/TRANS=CONCEAL     VI$ROOT    MATH0:[PUBLIC.VI.]
X$ DEFINE TPUSECINI                VI$ROOT:[EXE]VI.GBL
X$ DEFINE TPU$CALLUSER            VI$ROOT:[EXE]TPUSUBS.EXE
X$ DEFINE/NOLOG VISECINI            VI$ROOT:[EXE]VI.GBL
X$ DEFINE/NOLOG VI$CALLUSER        VI$ROOT:[EXE]TPUSUBS.EXE
X$ DEFINE/NOLOG MAIL$EDIT        VI$ROOT:[EXE]MAILEDIT.COM
X$!
X$! This symbol gets you a NON-SPAWNED VI
X$! Delete this if you are using VI.EXE and VI.CLD
X$!
X$ VI ==                            "EDIT/TPU"
X$! This symbol gets you a SPAWNED VI
X$ VIS ==                        "@VI$ROOT:[EXE]VI.COM"
X$!
X$! This gets you a readonly version of the file.
X$!
X$ IF F$TYPE (VI) .EQS. "" THEN VI="VI"
X$ VIEW == "''VI'/READONLY"
X$ EXIT
$ GoSub Convert_File
$ Exit

Postmaster@vms.CIS.PITTSBURGH.EDU (PMDF Mail Server) (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 00:53 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3794 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:33 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3793; Mon, 26 Oct 87 00:34:59 EST
Date: 22 Oct 87 20:20:24 GMT
From: Kevin Carosso <UPLHERC!NRC-UT!NRCVAX!KVC@GR.UTAH.EDU>
Subject: Re: TCP/IP Driver for a VAX 8530
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments:     Warning -- original Sender: tag was info-vax-request@kl.sri.com
Comments: To: info-vax@kl.sri.com

In article <8710200125.AA25209@ucbvax.Berkeley.EDU>
 padwa%harvsc3@HARVARD.HARVARD.EDU (Danny Padwa) writes:
>HI!!!
>        Does anybody out there in network land know of a package that
>allows TCP/IP access on a VAX 8530? We are running the Carnegie-Mellon
>package on our MicroVaxen and 750, but it won't run on the 8530.
>    Apparently it our TCP/IP software can't handle the new DEC bus.
>Does anyone have any ideas? All information would be appreciated.
>                                Daniel Padwa
     
All of DEC's ethernet devices have the same (or nearly the same)
driver interface.  This means the CMU stuff should not have any
dependencies which prevent it from running on the 8530.
Unfortunately, the version of CMU TCP/IP I am familiar with (6.0)
has two possible gotchas.  One easy to get around, one not...
     
First of all, version 6.0 (I haven't seen 6.2 yet) only knows about
the device names XEA0 and XQA0.  You could define a system (or at
least group) -wide logical name for XEA0 and equate it to ETA0, the
device name on a BI machine, causing the ACP process to get the proper
device when it does its $ASSIGN.  I fixed this by modifying the code
NOT to figure out the device family (DEC vs. Interlan vs. DMR) from
the device name (which is dumb) but from a separate field in the
config.  I do not know if CMU incorporated this idea, but one can
hope...
     
The second problem is less likely, but more serious.  The ethernet
device on the -2000 series machines (ESA0) poses a problem in that the
device driver ignores incoming broadcast packets by default.  This
means you have to enable reception of broadcasts because TCP/IP
(actually ARP) require them.  I DO NOT KNOW IF THE DRIVER FOR THE
DEBNT OR DEBNA ON BI MACHINES REQUIRE THIS.  If so, then you need a
fix to the code which initializes the device.  DEC has indicated that
they intend all future ethernet drivers to behave this way, so the fix
had best be in any newer version of CMU TCP/IP.  It does not adversely
affect usage of older (DEUNA, DEQNA, DELUA) drivers.  I can send this
fix, but it won't do you any good unless you have a BLISS compiler.
     
If this is the problem, the symptoms are obvious.  The machine behaves
like it never sees ARP requests.  You can make connections from the
machine to a Berkeley 4.2 or 4.3 machine, but not to another CMU
TCP/IP (because Berkeley doesn't need to ARP back) and you can make
connections from Berkeley 4.2 or 4.3 machines back to the VMS machine
for as long as the address stays in the ARP cache.  You could get around
the problem by having a 4.3 machine "publish" ARP requests on behalf
of the sick machine, so everyone can find out its address...
     
    /Kevin Carosso                     kvc@nrcvax.uucp
     Network Research Co.            nrcvax!kvc@TRWIND.TRW.COM

Postmaster@vms.CIS.PITTSBURGH.EDU (PMDF Mail Server) (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 01:05 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3753 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:30 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3751; Mon, 26 Oct 87 00:32:35 EST
Date: 23 Oct 87 23:21:37 GMT
From: Jamie Hanrahan <UCSDHUB!JACK!MAN!CRASH!JEH@SDCSVAX.UCSD.EDU>
Subject: Re: Q&A Technique (was: DEC Mail Utility Madness Again)
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments:     Warning -- original Sender: tag was info-vax-request@kl.sri.com
Comments: To: info-vax@kl.sri.com

In the referenced article, Jerry Leichter writes:
     
> And now, once more with feeling, a message to all who would ask questions on
> the net:  Please, please, DON'T assume you understand exactly where or what
> your problem "really" is.  If you did, you would most likely already know the
> answer.  Don't ask "How can I change my editor" when what you are trying to
> do is change your initialization file!  Describe the PROBLEM you are having,
> NOT what you think the solution is, or ought to be.  You are more likely to
> get a useful response.  Also, READ THE RESPONSES YOU GET.  What you want to
> do may be impossible!  If your responses tend in that direction, don't assume
> everyone is out to get you or is just ignoring your question.  Maybe you
> haven't phrased your question in way that can be answered.  Maybe you haven't
> provided all the information needed for someone to provide you with an answer.
> Try again if you think you can provide more information - and take it as a
> lesson in question phrasing for the next time.
     
    The instructor in me finds this attitude to be overly harsh.
    Let's turn it around:
     
A message to all who would answer questions on the net:  Please, please, DON'T
assume you understand exactly what the asker's problem "really" is, just based
on the text of the question.  If the asker really understood the problem, s/he
would most likely already know the answer, or would at least know where to
start looking!  Look past the question and address the PROBLEM the asker is
having, not what they think the solutions are, or ought to be.  You are more
likely to write a useful response.  If what the user wants to do is impossible,
don't just say so; suggest a workaround.  (If you don't know of a workaround,
my advice is to keep quiet for a week or so; someone else may know of and post
a workaround, and your "You can't do that, and there's no workaround" posting
will cause confusion, unnecessary net traffic, and a diminishing of your
credibility.)
     
If the asker doesn't like the responses and posts a follow-up ("Yes, but"),
take a good look at your (and others') responses.  Maybe you haven't phrased
your reply in a way that can be easily understood by someone who lacks your
(presumably advanced) background.  Maybe you haven't provided all the
information needed for someone to understand your answer.  Try again if you
think you can provide more information - and take it as a lesson in answer
phrasing for the next time.

Postmaster@vms.CIS.PITTSBURGH.EDU (PMDF Mail Server) (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 01:11 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3721 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:29 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3719; Mon, 26 Oct 87 00:31:06 EST
Date: Sat, 24 Oct 87 16:48 EDT
From: "Clayton, Paul D." <CLAYTON@XRT.UPENN.EDU>
Subject: Re: Thoughts On Powering Up UNIBUS Boxes On Live Systems...
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: INFO-VAX@kl.sri.com

     
Information From TSO Financial - The Saga Continues...
Chapter 30 - October 24, 1987
     
Chuck Rothauser of United Technologies Research Center had a trashed system
disk after his local field service office powered up a UNIBUS on a LIVE system.
     
The disk was located off an HSC and not a UDA interface so that cause can be
ruled out.
     
The data patterns that he listed in the message were similar in nature to the
system disk I had trashed when my HSC CPU card went to lunch. I have not
had a similar problem directly from the 78/8XXX processor. I have trashed
disks when the FPA went to lunch but thats the extent of it.
     
Chuck asked for comments.
     
Other then the ones listed above, I add that I would NEVER let my local boys
power up a UNIBUS on a live system. The problems are many fold. The ripple
in power when its turned on, may be just enough to make another power supply
go marginal in the output voltage its supplying to who knows what. The case of
the device drivers being able to handle a power fail/initialization sequence
may be questionable. Any third party interfaces may do strange things right
after a power up and cause VMS to crash. The problem with LATs and having
printers hang off the Ethernet would probably show up in a large way.
     
The bottom line is that its NOT worth the problems to power up a UNIBUS on
a live system in my mind.
     
Hope this helps. :-)
     
Paul D. Clayton - Manager Of Systems
TSO Financial - Horsham, Pa. USA
Address - CLAYTON%XRT@CIS.UPENN.EDU

Postmaster@vms.CIS.PITTSBURGH.EDU.UUCP (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 01:08 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3738 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:29 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3736; Mon, 26 Oct 87 00:31:48 EST
Date: Fri, 23 Oct 87 21:23:51 -0100
From: PRLB2!IMEC!ESAT..ELSEN@UUNET.UU.NET
Subject: VMS MAIL and the LSE editor.
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: imec3..info-vax@kl.sri.com

     
     
       Hi Netlanders ,
     
 I would like to make a contribution to the recent discussion about
 editors being used to send mail.
     
 A remarkable problem exists when using LSE in VMSmail (by using
 '$ define mail$edit callable_lse).
 If by any chance your terminal type is set to 'unknown' the following
 happens : when having answered mail's 'subj:' question in response
 to a send request, mail JUST RETURNS WITH HIS 'MAIL >' PROMPT !!
     
 When I experienced this for the first time I first thought that my
 mail utility had gone 'completely crazy'.
 Afterwards I realized that my terminal was set to 'unknown' due
 to some 'accident' which is not relevant for this discussion.
     
 The problem here is that LSE's classical message
 '%TPU-E-NONANSICRT,SYS$INPUT must be an ANSI CRT' doesn't get through.
     
    Is this because mail started a subproces inorder to activate the editor ?
    Anyway I feel that somehow an error message should be generated
    maybe by VMS mail itself.
    I am running VMS4.5 and LSE V2.0
     
                                                 So Long,
     
  Marc Elsen
  IMEC V.Z.W.
  Kapeldreef 75
  3030 HEVERLEE
  Belgium
     
           ...prlb2!imec!elsen
     
                                Please assume appropriate disclaimers.

Postmaster@vms.CIS.PITTSBURGH.EDU.UUCP (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 01:14 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3700 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:28 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3698; Mon, 26 Oct 87 00:30:11 EST
Date: 23 Oct 87 11:38:53 GMT
From: LUI@LOCUS.UCLA.EDU
Subject: Modifying header page for printouts
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments:     Warning -- original Sender: tag was info-vax-request@kl.sri.com
Comments: To: info-vax@kl.sri.com

     
We use the standard VMS printer software to run our QMS laser printers.
VMS assumes the printer can print 132 characters per line and the header
pages from our laser printers consist of 4 pages. Since this is a waste
of paper, we would like to modify the header page. Does anyone know how
to do this?
     
     
    Stephen Lui
    UCLA Department of Computer Science and
     
    Hughes Aircraft Company
    2000 E. Imperial Hwy.
    El Segundo, CA
     
    (213) 305-2085
     
    ARPA:  lui@cs.ucla.edu
    UUCP:  ...!{cepu,ihnp4,trwspp,ucbvax}!ucla-cs!lui
    Stephen Lui
    UCLA Department of Computer Science and
     
    Hughes Aircraft Company
    2000 E. Imperial Hwy.
    El Segundo, CA
     
    (213) 305-2085
     
    ARPA:  lui@cs.ucla.edu
    UUCP:  ...!{cepu,ihnp4,trwspp,ucbvax}!ucla-cs!lui

Postmaster@vms.CIS.PITTSBURGH.EDU (PMDF Mail Server) (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 01:36 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3553 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:18 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3552; Mon, 26 Oct 87 00:20:34 EST
Date: 23 Oct 87 22:16:24 GMT
From: Olof Backing <MCVAX!ENEA!SEMS!OLOF@UUNET.UU.NET>
Subject: Wordstar-like interface for TPU.
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments:     Warning -- original Sender: tag was info-vax-request@kl.sri.com
Comments: To: info-vax@kl.sri.com

I wounder if anyone out there have heared of any kind interface for TPU
that makes it look like (the world-famoues...) Wordstar. One of our
wants to use the backup-facility at the VAX for her files. If she could
work all the time on the VAX, she can avoid having the trouble of trans-
ferring the files between the PC and VAX.
     
     
--
ADDRESS: Havrevagen 14, S-175 43  Jarfalla, Sweden
PHONE  : (46) 758 33941, 35516 home
UUCP   :  ...{uunet,mcvax,ukc,unido}!enea!sems!olof

Postmaster@vms.CIS.PITTSBURGH.EDU.UUCP (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 01:20 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3670 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:26 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3668; Mon, 26 Oct 87 00:28:19 EST
Date: Sat, 24 Oct 87 22:55 EDT
From: RMANGALD%CLARKU.BITNET@WISCVM.WISC.EDU
Subject: A Suggestion for Reducing INFO-VAX Traffic
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: info-vax@kl.sri.com

        The topic of reducing the message volume on INFO-VAX has cropped
up often, and I think I am not alone in saying I would like to see it go
down.  Toward this end, I propose that a new mailing list -- call it
INFO-VMS --  be created for discussing software issues in the VAX/VMS
environment, and that INFO-VAX be then dedicated to discussing hardware
issues.
     
        The number of messages concerning each issue are about even, and
thus the message volume on both lists, hopefully, would be halved.
Moreover, this would offer additional selectivity to subscribers like
me, who are interested in only one of these issues (in my case,
the software issues).
     
        This is just a suggestion, so no flames please; what do you
people out there think of this idea?
     
                                Sincerely,
     
                                Rahul Mangaldas.
                                rmangaldas@clarku.bitnet

Postmaster@vms.CIS.PITTSBURGH.EDU.UUCP (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 01:40 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3538 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:17 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3535; Mon, 26 Oct 87 00:19:54 EST
Date: Fri, 23 Oct 87 11:58 EDT
From: JANKOWSJ%UNION.BITNET@WISCVM.WISC.EDU
Subject: Any TROFF, TEX, WPSPLUS printers around?
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: info-vax@kl.sri.com

     
     We are looking for a laser printer that will print TROFF, TEX, and
   WPS-PLUS documents from our VAXes.  Is there a printer and printer
   drivers that will do this?  Any suggestions would be greatly appreciated.
     
     
      Jim Jankowski
      Union College
      Office of Computer Services
      Schenectady, NY 12308
     
      JANKOWSJ@UNION.BITNET
    ---------------------------------------

Postmaster@vms.CIS.PITTSBURGH.EDU.UUCP (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 01:47 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3505 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:16 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3503; Mon, 26 Oct 87 00:18:39 EST
Date: Fri, 23 Oct 87 11:33 ADT
From: SSMITH%STMARYS.BITNET@WISCVM.WISC.EDU
Subject: local area vaxcluster performance
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: info-vax@kl.sri.com

We have a Local area vaxcluster with a Vax 780 as a boot node with
and a micro-vax II and incurring a peformance problem across the cluster
The 780 has 3 Ra-81's and the micro-vax one for local paging and swapping.
All our applications programs and data are on the 780 disks.
The problem surfaces in this nature. When we run a I/O type job on the
micro-vax the Interrupt stack on the 780 goes to 60-70% of the cpu cycles
If a cpu intensive job ie compile/links is run on the micro-vax the effect
is not as great. Has anyone else experienced  a similar problem? If so any
suggestions to correct it.
Thanks in advance
Steve Smith
BITNET: SSMITH@STMARYS.BITNET

Postmaster@vms.CIS.PITTSBURGH.EDU (PMDF Mail Server) (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 01:56 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 3492 for
 000426@PITTVMS; Mon, 26-OCT-1987 00:16 EDT
Received: by CMUCCVMA (Mailer X1.25) id 3490; Mon, 26 Oct 87 00:18:04 EST
Date: Fri, 23 Oct 87 08:04 EST
From: The Ricker rides again! <18862246%VUVAXCOM.BITNET@WISCVM.WISC.EDU>
Subject: Telnet
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: info-vax@kl.sri.com

     
Hi all...
     
I'm looking for any information that is available on the use of the
network system Telnet from a Vax.  I looking to put together a proposal
to get access to this system through our school's mainframe, a Vax 11/785.
     
Responses either to me or Info-Vax in general greatly appreciated...
     
Rick Greene
188622462@vuvaxcom.Bitnet

Postmaster@vms.CIS.PITTSBURGH.EDU (PMDF Mail Server) (10/26/87)

The message could not be delivered to:

Addressee: 000426
Reason: 
  %MAIL-E-NOSUCHUSR, no such user 10217_000426 at node CISVM2

----------------------------------------

Received: from JNET-DAEMON by vms.cis.pittsburgh.edu; Mon, 26 Oct 87 09:16 EDT
Received: From CMUCCVMA(MAILER) by PITTVMS with RSCS id 4523 for
 000426@PITTVMS; Mon, 26-OCT-1987 09:13 EDT
Received: by CMUCCVMA (Mailer X1.25) id 4521; Mon, 26 Oct 87 09:15:20 EST
Date: 25 Oct 87 22:57:15 GMT
From: "M. Warner Losh" <UNMVAX!NMTSUN!MWLCS423@UCBVAX.BERKELEY.EDU>
Subject: Re: Changing from daylight time to standard time
Sender: INFO-VAX Discussion <MD4I@CMUCCVMA>
To: BETH DOE <000426@vms.cis.pittsburgh.edu>
Reply-to: INFO-VAX@KL.SRI.COM
Comments:     Warning -- original Sender: tag was info-vax-request@kl.sri.com
Comments: To: info-vax@kl.sri.com

In article <8710241907.AA29503@ucbvax.Berkeley.EDU>, R021JM9W@VB.CC.CMU.EDU (Jim
 Murawski) writes:
>
>         In most of North America, standard time starts this Sunday
>         (October 25th) at 2:00.
>    [ much verbage deleted ]
How about the command(s) :
     
$ SET TIME="+01:00:00"        ! In the fall
$ SET TIME="-01:00:00"        ! In the spring
     
These work well and are much faster/easier to understand (they also work
interactively.)
     
    One point I'd like to get straighten out.  I've done this a few time,
and have had no problems, but I'm not sure if it is cool.  I have heard horror
stories about people getting charged for one hour of cpu time when the system
manager change the time on them.  Has this ever happened to anyone under VMS?
If so, then is there a better way of doing daylight savings stuff.  I know
this can mess up connect times, if your accounting software isn't smart enough,
but we don't charge for connect time.
     
     
                Warner Losh

Postmaster@VAX4.BITNET (PMDF Mail Server) (11/08/87)

The message could not be delivered to:

Addressee: 8250480
Reason: %MAIL-E-NOSUCHUSR, no such user 8250480 at node VAX4

----------------------------------------

Received: from JNET-DAEMON by VAX4; Wed, 4 Nov 87 02:31 PST
Received: From OREGON1(MAILER) by UWAV4 with RSCS id 4849          for
 8250480@UWAV4; Wed,  4 Nov 87 02:31 PST
Received: by OREGON1 (Mailer X1.25) id 4839; Wed, 04 Nov 87 02:33:00 PST
Date: Wed,  4 Nov 87 11:15:27 +0100 (Central European Time)
From: XBR1Y028@DDATHD21
Subject: Problems with VMS 4.6 and LTDRIVER & LATSYM
Sender: INFO-VAX Discussion <INFO-VAX@VTVM2>
To: "(no name)" <8250480@UWAV4>
Reply-to: INFO-VAX@KL.SRI.COM

From:   BR1::Y028          3-NOV-1987 20:27
To:     X%"INFO-VAX@KL.SRI.COM",Y028
Subj:   Problems with VMS 4.6 and LTDRIVER & LATSYM

We are about to convert from VMS 4.5 to 4.6 - yesterday I have read a mail
in VAXnotes on the "DECUS VAX" (a VAX run by DECUS Germany in Munich), telling
everybody that you will have problems with LTDRIVER.EXE and LATSYM.EXE under
VMS 4.6 and you do need a new version of those programs ! Those version were
planned for VMS 4.7 (???)

According to that message the versions are:

                            current            new
                  ---------------------------------------------
  LTDRIVER.EXE    ident:   "LAT X6N-8"      "LAT X7N-14"
  LATSYM.EXE      ident:   "LATSYM V2.0"    "LATSYM V2.1"

Is that really mandatory ?
What is the experience on other sites already running VMS 4.6 (+LAT-Software) ?

Any hints or tips are appreciated !
-- We wanted to convert to 4.6 on Thursday (the first of four VAX systems to
   be upgraded to the new VMS version) - so it might be good to know in
   advance if we do need those new versions !

regards/ mit freundlichen Gruessen

Walter
Reichenbaecher
Technical University Darmstadt
University Computing Center
Applications / User Support
Darmstadt, West Germany

Bitnet/EARN:  XBR1Y028 at DDATHD21
ARPAnet:      XBR1Y028%DDATHD21.BITNET@WISCVM.WISC.EDU
_______________________________________________________________________________

SMTP@WISCVM.WISC.EDU.UUCP (11/12/87)

Error in Batch SMTP Command Sequence.
Unable to deliver mail to some/all recipients.
Reply codes with first digit = '4' or  '5' are error replies:

220 wiscvm.wisc.edu running IBM VM SMTP ready at Wed, 11 Nov 87 20:01:23 CDT
050 HELO gallua.bitnet
250 wiscvm.wisc.edu
050 TICK 0001
250 OK
050 MAIL FROM:<INFO-VAX@KL.SRI.COM>
250 OK
050 RCPT TO:<INFO-VAX@KL.SRI.COM>
250 OK
050 RCPT TO:<Postmaster@gallua.gallaudet.EDU>
550 Host 'gallua.gallaudet.EDU' Unknown
050 DATA
354 Enter mail body.  End by new line with just a '.'
250 Mail Delivered
050 QUIT
221 wiscvm.wisc.edu Service closing transmission channel

           ** Text of Mail follows **
HELO gallua.bitnet
TICK 0001
MAIL FROM:<INFO-VAX@KL.SRI.COM>
RCPT TO:<INFO-VAX@KL.SRI.COM>
RCPT TO:<Postmaster@gallua.gallaudet.EDU>
DATA
Received: from JNET-DAEMON by gallua.gallaudet.edu; Wed, 11 Nov 87 20:45 EST
Date: Wed, 11 Nov 87 20:45 EST
From: The Mail Server <Postmaster@gallua.gallaudet.EDU>
Subject: Undeliverable mail
To: INFO-VAX@KL.SRI.COM

Message had a bad or missing To address.
The entire text of the message follows:

Received: From PSUVM(MAILER) by GALLUA with RSCS id 8942 for CADS_COLE@GALLUA;
 Wed, 11-NOV-1987 20:45 EST
Received: by PSUVM (Mailer X1.24) id 8782; Wed, 11 Nov 87 17:47:03 EST
Date: Wed, 11 Nov 87 16:35 CST
From: "Eric D. Engstrom - 'Murphy'" <SEENGS1@MACALSTR>
Subject: RE: VITPU
Sender: INFO-VAX Discussion <INFO-VAX@VTVM2>
To: Kevin Cole <CADS_COL@GALLUA>
Reply-to: INFO-VAX@KL.SRI.COM

        Hello out there.

        I'm new to this list and didn't recieve any of the VITPU stuff.  In
fact, I didn't even find out what it or they are.  I use TPU extensively and
would like to know what it is.

Thanks,

Eric Engstrom  -  Bitnet:  SEENGS1@Macalstr
Macalester College
St Paul, MN  55105

Oxymoron: Final Version.
.
QUIT

SMTP@WISCVM.WISC.EDU (11/12/87)

Error in Batch SMTP Command Sequence.
Unable to deliver mail to some/all recipients.
Reply codes with first digit = '4' or  '5' are error replies:

220 wiscvm.wisc.edu running IBM VM SMTP ready at Wed, 11 Nov 87 20:01:32 CDT
050 HELO gallua.bitnet
250 wiscvm.wisc.edu
050 TICK 0001
250 OK
050 MAIL FROM:<INFO-VAX@KL.SRI.COM>
250 OK
050 RCPT TO:<INFO-VAX@KL.SRI.COM>
250 OK
050 RCPT TO:<Postmaster@gallua.gallaudet.EDU>
550 Host 'gallua.gallaudet.EDU' Unknown
050 DATA
354 Enter mail body.  End by new line with just a '.'
250 Mail Delivered
050 QUIT
221 wiscvm.wisc.edu Service closing transmission channel

           ** Text of Mail follows **
HELO gallua.bitnet
TICK 0001
MAIL FROM:<INFO-VAX@KL.SRI.COM>
RCPT TO:<INFO-VAX@KL.SRI.COM>
RCPT TO:<Postmaster@gallua.gallaudet.EDU>
DATA
Received: from JNET-DAEMON by gallua.gallaudet.edu; Wed, 11 Nov 87 20:45 EST
Date: Wed, 11 Nov 87 20:45 EST
From: The Mail Server <Postmaster@gallua.gallaudet.EDU>
Subject: Undeliverable mail
To: INFO-VAX@KL.SRI.COM

Message had a bad or missing To address.
The entire text of the message follows:

Received: From PSUVM(MAILER) by GALLUA with RSCS id 9067 for H462BALM@GALLUA;
 Wed, 11-NOV-1987 20:45 EST
Received: by PSUVM (Mailer X1.24) id 8800; Wed, 11 Nov 87 17:47:04 EST
Date: Wed, 11 Nov 87 16:35 CST
From: "Eric D. Engstrom - 'Murphy'" <SEENGS1@MACALSTR>
Subject: RE: VITPU
Sender: INFO-VAX Discussion <INFO-VAX@VTVM2>
To: LARRY MUSA <H462BALM@GALLUA>
Reply-to: INFO-VAX@KL.SRI.COM

        Hello out there.

        I'm new to this list and didn't recieve any of the VITPU stuff.  In
fact, I didn't even find out what it or they are.  I use TPU extensively and
would like to know what it is.

Thanks,

Eric Engstrom  -  Bitnet:  SEENGS1@Macalstr
Macalester College
St Paul, MN  55105

Oxymoron: Final Version.
.
QUIT

SMTP@WISCVM.WISC.EDU (11/12/87)

Error in Batch SMTP Command Sequence.
Unable to deliver mail to some/all recipients.
Reply codes with first digit = '4' or  '5' are error replies:

220 wiscvm.wisc.edu running IBM VM SMTP ready at Wed, 11 Nov 87 20:01:36 CDT
050 HELO gallua.bitnet
250 wiscvm.wisc.edu
050 TICK 0001
250 OK
050 MAIL FROM:<INFO-VAX@KL.SRI.COM>
250 OK
050 RCPT TO:<INFO-VAX@KL.SRI.COM>
250 OK
050 RCPT TO:<Postmaster@gallua.gallaudet.EDU>
550 Host 'gallua.gallaudet.EDU' Unknown
050 DATA
354 Enter mail body.  End by new line with just a '.'
250 Mail Delivered
050 QUIT
221 wiscvm.wisc.edu Service closing transmission channel

           ** Text of Mail follows **
HELO gallua.bitnet
TICK 0001
MAIL FROM:<INFO-VAX@KL.SRI.COM>
RCPT TO:<INFO-VAX@KL.SRI.COM>
RCPT TO:<Postmaster@gallua.gallaudet.EDU>
DATA
Received: from JNET-DAEMON by gallua.gallaudet.edu; Wed, 11 Nov 87 20:45 EST
Date: Wed, 11 Nov 87 20:45 EST
From: The Mail Server <Postmaster@gallua.gallaudet.EDU>
Subject: Undeliverable mail
To: INFO-VAX@KL.SRI.COM

Message had a bad or missing To address.
The entire text of the message follows:

Received: From PSUVM(MAILER) by GALLUA with RSCS id 9104 for WLMILLIOS@GALLUA;
 Wed, 11-NOV-1987 20:45 EST
Received: by PSUVM (Mailer X1.24) id 8811; Wed, 11 Nov 87 17:47:04 EST
Date: Wed, 11 Nov 87 16:35 CST
From: "Eric D. Engstrom - 'Murphy'" <SEENGS1@MACALSTR>
Subject: RE: VITPU
Sender: INFO-VAX Discussion <INFO-VAX@VTVM2>
To: Bill Millios <WLMILLIO@GALLUA>
Reply-to: INFO-VAX@KL.SRI.COM

        Hello out there.

        I'm new to this list and didn't recieve any of the VITPU stuff.  In
fact, I didn't even find out what it or they are.  I use TPU extensively and
would like to know what it is.

Thanks,

Eric Engstrom  -  Bitnet:  SEENGS1@Macalstr
Macalester College
St Paul, MN  55105

Oxymoron: Final Version.
.
QUIT

SMTP@WISCVM.WISC.EDU (11/12/87)

Error in Batch SMTP Command Sequence.
Unable to deliver mail to some/all recipients.
Reply codes with first digit = '4' or  '5' are error replies:

220 wiscvm.wisc.edu running IBM VM SMTP ready at Wed, 11 Nov 87 20:01:39 CDT
050 HELO gallua.bitnet
250 wiscvm.wisc.edu
050 TICK 0001
250 OK
050 MAIL FROM:<INFO-VAX@KL.SRI.COM>
250 OK
050 RCPT TO:<INFO-VAX@KL.SRI.COM>
250 OK
050 RCPT TO:<Postmaster@gallua.gallaudet.EDU>
550 Host 'gallua.gallaudet.EDU' Unknown
050 DATA
354 Enter mail body.  End by new line with just a '.'
250 Mail Delivered
050 QUIT
221 wiscvm.wisc.edu Service closing transmission channel

           ** Text of Mail follows **
HELO gallua.bitnet
TICK 0001
MAIL FROM:<INFO-VAX@KL.SRI.COM>
RCPT TO:<INFO-VAX@KL.SRI.COM>
RCPT TO:<Postmaster@gallua.gallaudet.EDU>
DATA
Received: from JNET-DAEMON by gallua.gallaudet.edu; Wed, 11 Nov 87 20:45 EST
Date: Wed, 11 Nov 87 20:45 EST
From: The Mail Server <Postmaster@gallua.gallaudet.EDU>
Subject: Undeliverable mail
To: INFO-VAX@KL.SRI.COM

Message had a bad or missing To address.
The entire text of the message follows:

Received: From PSUVM(MAILER) by GALLUA with RSCS id 9295 for 11JSALTER@GALLUA;
 Wed, 11-NOV-1987 20:45 EST
Received: by PSUVM (Mailer X1.24) id 8843; Wed, 11 Nov 87 17:47:05 EST
Date: Wed, 11 Nov 87 16:35 CST
From: "Eric D. Engstrom - 'Murphy'" <SEENGS1@MACALSTR>
Subject: RE: VITPU
Sender: INFO-VAX Discussion <INFO-VAX@VTVM2>
To: JAMES SALTER <11JSALTE@GALLUA>
Reply-to: INFO-VAX@KL.SRI.COM

        Hello out there.

        I'm new to this list and didn't recieve any of the VITPU stuff.  In
fact, I didn't even find out what it or they are.  I use TPU extensively and
would like to know what it is.

Thanks,

Eric Engstrom  -  Bitnet:  SEENGS1@Macalstr
Macalester College
St Paul, MN  55105

Oxymoron: Final Version.
.
QUIT

Postmaster@gallua.gallaudet.EDU (The Mail Server) (11/12/87)

Message had a bad or missing To address.
The entire text of the message follows:

Received: From PSUVM(MAILER) by GALLUA with RSCS id 8942 for CADS_COLE@GALLUA;
 Wed, 11-NOV-1987 20:45 EST
Received: by PSUVM (Mailer X1.24) id 8782; Wed, 11 Nov 87 17:47:03 EST
Date: Wed, 11 Nov 87 16:35 CST
From: "Eric D. Engstrom - 'Murphy'" <SEENGS1@MACALSTR>
Subject: RE: VITPU
Sender: INFO-VAX Discussion <INFO-VAX@VTVM2>
To: Kevin Cole <CADS_COL@GALLUA>
Reply-to: INFO-VAX@KL.SRI.COM

        Hello out there.

        I'm new to this list and didn't recieve any of the VITPU stuff.  In
fact, I didn't even find out what it or they are.  I use TPU extensively and
would like to know what it is.

Thanks,

Eric Engstrom  -  Bitnet:  SEENGS1@Macalstr
Macalester College
St Paul, MN  55105

Oxymoron: Final Version.

Postmaster@gallua.gallaudet.EDU (The Mail Server) (11/12/87)

Message had a bad or missing To address.
The entire text of the message follows:

Received: From PSUVM(MAILER) by GALLUA with RSCS id 9067 for H462BALM@GALLUA;
 Wed, 11-NOV-1987 20:45 EST
Received: by PSUVM (Mailer X1.24) id 8800; Wed, 11 Nov 87 17:47:04 EST
Date: Wed, 11 Nov 87 16:35 CST
From: "Eric D. Engstrom - 'Murphy'" <SEENGS1@MACALSTR>
Subject: RE: VITPU
Sender: INFO-VAX Discussion <INFO-VAX@VTVM2>
To: LARRY MUSA <H462BALM@GALLUA>
Reply-to: INFO-VAX@KL.SRI.COM

        Hello out there.

        I'm new to this list and didn't recieve any of the VITPU stuff.  In
fact, I didn't even find out what it or they are.  I use TPU extensively and
would like to know what it is.

Thanks,

Eric Engstrom  -  Bitnet:  SEENGS1@Macalstr
Macalester College
St Paul, MN  55105

Oxymoron: Final Version.

Postmaster@gallua.gallaudet.EDU (The Mail Server) (11/12/87)

Message had a bad or missing To address.
The entire text of the message follows:

Received: From PSUVM(MAILER) by GALLUA with RSCS id 9104 for WLMILLIOS@GALLUA;
 Wed, 11-NOV-1987 20:45 EST
Received: by PSUVM (Mailer X1.24) id 8811; Wed, 11 Nov 87 17:47:04 EST
Date: Wed, 11 Nov 87 16:35 CST
From: "Eric D. Engstrom - 'Murphy'" <SEENGS1@MACALSTR>
Subject: RE: VITPU
Sender: INFO-VAX Discussion <INFO-VAX@VTVM2>
To: Bill Millios <WLMILLIO@GALLUA>
Reply-to: INFO-VAX@KL.SRI.COM

        Hello out there.

        I'm new to this list and didn't recieve any of the VITPU stuff.  In
fact, I didn't even find out what it or they are.  I use TPU extensively and
would like to know what it is.

Thanks,

Eric Engstrom  -  Bitnet:  SEENGS1@Macalstr
Macalester College
St Paul, MN  55105

Oxymoron: Final Version.

Postmaster@gallua.gallaudet.EDU (The Mail Server) (11/12/87)

Message had a bad or missing To address.
The entire text of the message follows:

Received: From PSUVM(MAILER) by GALLUA with RSCS id 9295 for 11JSALTER@GALLUA;
 Wed, 11-NOV-1987 20:45 EST
Received: by PSUVM (Mailer X1.24) id 8843; Wed, 11 Nov 87 17:47:05 EST
Date: Wed, 11 Nov 87 16:35 CST
From: "Eric D. Engstrom - 'Murphy'" <SEENGS1@MACALSTR>
Subject: RE: VITPU
Sender: INFO-VAX Discussion <INFO-VAX@VTVM2>
To: JAMES SALTER <11JSALTE@GALLUA>
Reply-to: INFO-VAX@KL.SRI.COM

        Hello out there.

        I'm new to this list and didn't recieve any of the VITPU stuff.  In
fact, I didn't even find out what it or they are.  I use TPU extensively and
would like to know what it is.

Thanks,

Eric Engstrom  -  Bitnet:  SEENGS1@Macalstr
Macalester College
St Paul, MN  55105

Oxymoron: Final Version.

Postmaster@gallua.gallaudet.EDU (The Mail Server) (11/12/87)

Message had a bad or missing To address.
The entire text of the message follows:

Received: From PSUVM(MAILER) by GALLUA with RSCS id 7634 for CADS_COLE@GALLUA;
 Wed, 11-NOV-1987 21:06 EST
Received: by PSUVM (Mailer X1.24) id 7597; Wed, 11 Nov 87 20:21:35 EST
Date: Wed, 11 Nov 87 10:22:33 SET
From: Jenny Franks <KA%DDAESA10.BITNET@WISCVM.WISC.EDU>
Subject: PSI file transfer
Sender: INFO-VAX Discussion <INFO-VAX@VTVM2>
To: Kevin Cole <CADS_COL@GALLUA>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: INFO-VAX@KL.SRI.COM



                 Subject:   PSI File Transfer
                 ----------------------------

     We have a requirement for a file transfer using PSI over
X.25 lines. We don't need anything else, in fact for security
reasons we don't want anything more than this.

     Apart from Colour Books Software, which I am familiar with,
is there any other product on the market that does this, or should
I write my own.


Jenny Franks,
European Space Operations Centre,
Robert Bosch Strasse 5,
Darmstadt,
West Germany.

Telephone:        +49 - 6151-886-297
EARN address:     KA@DDAESA10
BITNET address:   KA@ESOC.BITNET

Mailer@LBL.GOV (11/12/87)

Start of returned message

  Received: from KL.SRI.Com by LBL.Gov with INTERNET ;
            Thu, 12 Nov 87 02:35:12 PST
  Received: from wiscvm.wisc.edu by KL.SRI.COM with TCP; Wed 11 Nov 87 18:01:44-PST
  Received: from gallua.bitnet by wiscvm.wisc.edu ; Wed, 11 Nov 87 20:01:24 CDT
  Received: from JNET-DAEMON by gallua.gallaudet.edu; Wed, 11 Nov 87 20:45 EST
  Date: Wed, 11 Nov 87 20:45 EST
  From: The Mail Server <Postmaster@gallua.gallaudet.EDU>
  Subject: Undeliverable mail
  To: INFO-VAX@KL.SRI.COM
  
  Message had a bad or missing To address.
  The entire text of the message follows:
  
  Received: From PSUVM(MAILER) by GALLUA with RSCS id 8942 for CADS_COLE@GALLUA;
   Wed, 11-NOV-1987 20:45 EST
  Received: by PSUVM (Mailer X1.24) id 8782; Wed, 11 Nov 87 17:47:03 EST
  Date: Wed, 11 Nov 87 16:35 CST
  From: "Eric D. Engstrom - 'Murphy'" <SEENGS1@MACALSTR>
  Subject: RE: VITPU
  Sender: INFO-VAX Discussion <INFO-VAX@VTVM2>
  To: Kevin Cole <CADS_COL@GALLUA>
  Reply-to: INFO-VAX@KL.SRI.COM
  
          Hello out there.
  
          I'm new to this list and didn't recieve any of the VITPU stuff.  In
  fact, I didn't even find out what it or they are.  I use TPU extensively and
  would like to know what it is.
  
  Thanks,
  
  Eric Engstrom  -  Bitnet:  SEENGS1@Macalstr
  Macalester College
  St Paul, MN  55105
  
  Oxymoron: Final Version.

End of returned message

Postmaster@TOBY.ACS.WASHINGTON.EDU (The Mail Server) (11/15/87)

Message had a bad or missing To address.
The entire text of the message follows:

Received: by OREGON1 (Mailer X1.25) id 3602; Tue, 10 Nov 87 02:49:39 PST
Date: Thu, 5 Nov 87 12:20 EST
From: JSOTTILE%LOYVAX.BITNET@WISCVM.WISC.EDU
Subject: A Second posting For Arpa Users
Sender: INFO-VAX Discussion <INFO-VAX@VTVM2>
To: Pete Pulliam <PETE@UWAV1>
Reply-to: INFO-VAX@KL.SRI.COM
Comments: To: info-vax@kl.sri.com

I have been playing around with ACLs for a while now, and I need to put
and ACL on a Batch Queue.  I know how to do devices and files, etc, but I
have been unable to put an ACL on a queue.  Does anyone out there have any
insight?


- john sottile
Student Systems Programmer
Loyola College in Maryland
(JSOTTILE@LOYVAX.BITNET)

Disclaimer: My views [...]*.*;*


Ps.  Does anyone out there have Advisor or Observer?