Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

Need $RMIDEF from FORSYSDEF.TLB

SOLVED
Go to solution
Mike Kier
Valued Contributor

Need $RMIDEF from FORSYSDEF.TLB

My employer has an older version of Fortran on our V7.3-2 systems that precedes the SYS$RMI service and I don't have a newer version available nor the privileges to install it if I did.

Would someone please attach an RMIDEF.FOR extracted from a more recent SYS$LIBRARY:FORSYSDEF.TLB that I could just grab?

Thanks
Mike
Practice Random Acts of VMS Marketing
9 REPLIES
Hein van den Heuvel
Honored Contributor

Re: Need $RMIDEF from FORSYSDEF.TLB

Mike, I don't see and RMIDEF around here.
But is is not just a list of parameter definitions?

Using you favourite hammer (TPU, DCL,...) mold $RMIDEF from STARLET.LMB into fortran.

Something like....

$ libr/extr=$rmidef/out=rmidef.mar sys$library:starlet.mlb
$ perl -ne "next unless /^.EQU/; ($x,$name,$value)=split; print qq( PARAMETER $name = $value\n)" < rmidef.mar > rmidef.for


Fekko Stubbe
Valued Contributor
Solution

Re: Need $RMIDEF from FORSYSDEF.TLB

Hi Mike,
Attached is the rmidef.txt
Mike Kier
Valued Contributor

Re: Need $RMIDEF from FORSYSDEF.TLB

Fekko,

That was exactly what I needed. Thank you very much.

Hein,

That was my backup plan , but it is a very *large* file of parameters, I have no perl here (in addition to having constrained privs thanks to Sarbanes-Oxely, we also have fairly tight disk quotas for the developers, so no user-local perl installation), and I was really hoping not to have to cook up text conversions in LSE or Eve.
Practice Random Acts of VMS Marketing
Hoff
Honored Contributor

Re: Need $RMIDEF from FORSYSDEF.TLB

Consider a hobbyist license and a hobbyist distro, and go play?

US$30 plus either an emulator or a real Alpha (or one if the US$300 rx2600 boxes and a scrounged OpenVMS I64 kit), and off you go. Immediately solves the "no privileges" problem, and any lurking "excess spare time" problem.

As for public-access clusters, the Deathrow GEIN:: host is running an older release, though the DECUServe EISNER:: host is running OpenVMS Alpha V8.3.
Hein van den Heuvel
Honored Contributor

Re: Need $RMIDEF from FORSYSDEF.TLB

Fekko posted the real thing.
Excellent. Problem solved.

Mike wrote>> ", I have no perl here"

That's why I wrote: "Using you favourite hammer"

I dunno Mike, but if you can't pull of this transformation then.... Never mind !
:-) :-)

If you have not played with PERL yet, then might I recommend just trying? Either on a public OpenVMS system as mentioned, or just download (ActiveState.com ?) and play with it on a private system / PC?

Anyways, just for grins I typed in a DCL script to do this, and it worked in one go, no edit needed :-).
Just in case someone needs something similar some other day for an other file

Cheers,
Hein.


$ libr/extr=$rmidef/out=rmidef.mar sys$library:starlet.mlb
$ perl -ne "next unless /^.EQU/; ($x,$name,$value)=split; print qq( PARAMETER $name = $value\n)" < rmidef.mar > rmidef.for
$ cre tmp.com
$open/read in 'p1
$open/write out 'p2
$loop:
$read/end=done in rec
$if "$EQU".nes.F$EXT(0,4,rec) then goto loop
$rec = f$edit(rec,"COMPRESS")
$nam = f$elem(1," ",rec)
$val = f$elem(2," ",rec)
$write out " PARAMETER ", nam, " = ", val
$goto loop
$done:
$close in
$close out
Exit
$ @tmp rmidef.mar rmidef.tmp
$ head 10 rmidef.tmp
PARAMETER RMI$C_EXETYPE = 1
PARAMETER RMI$C_EWSTYPE = 2
:
$ perl -pe "last if $. > 10" rmidef.for
PARAMETER RMI$C_EXETYPE = 1
PARAMETER RMI$C_EWSTYPE = 2
:

Fekko Stubbe
Valued Contributor

Re: Need $RMIDEF from FORSYSDEF.TLB

Hein,
This will only get the $equ's (parameters) but not the defined structures, so this solves only half the problem.
Fekko
Mike Kier
Valued Contributor

Re: Need $RMIDEF from FORSYSDEF.TLB

Hein,

I've been playing with perl a lot and wish I had it available in this environment. Not an issue.

And, yes, I could have cobbled together some LSE/TPU macros or DCL code or a variety of other things in an hour or so that would have given me the bulk of what I needed.

But it was also easy to ask if someone could just attach the "real thing" and save me some work and perhaps some unnoticed typos. Thanks again, Fekko.

I don't need to kill flies with sledgehammers :-)
Practice Random Acts of VMS Marketing
Fekko Stubbe
Valued Contributor

Re: Need $RMIDEF from FORSYSDEF.TLB

Mike,
I wrote a piece of DCL to convert modules from starlet.mlb (or any .mlb file) to fortran . I attached the .com file as a .txt file. I tested it, but i do not garantee that it works in all cases. I am interested in possible errors/successes.
Fekko

Re: Need $RMIDEF from FORSYSDEF.TLB

The original definition files are created with SDL, found on freeware CD.

You need the [.STARLET.LIS]RMIDEF.SDL from the OpenVMS Alpha Listings CD-ROM Kit, if you don't have this kit, maybe your friendly HP support can provide one.

Create RMIDEF.FOR with the following command,

$ SDL /LANG=FORTRAN RMIDEF.SDL