[comp.os.vms] External definitions for SYS$, RTL$ etc...

IMHW400@INDYVAX.BITNET (01/08/88)

The lack of COMPLETE definitions of system facilities and structures for
the non-MACRO, non-BLISS programmer really bugs me, too.  It is possible
to find all the definitions in the proper .MLB and .REQ files, but I've
had to do the translations (mostly to C) myself.  It seems that the basketful
of scraps that have been thrown to us C programmers *never* includes the
symbols that I wanted (GETUAI/SETUAI, PSM, SMB, etc.).  I am slowly building
up a library of .H files for these things (tinkered up from the MACRO modules
with an editor and much elbow grease), but this is obviously a fragile and
temporary solution.

I think that the trouble is that SDL, which is used to create the definitions
for MACRO and BLISS, has never been completely extended to support other
languages.  Part of the reason for this is that it would be a *lot* of hard
work in some cases, and perhaps impossible in others.  If you look hard
enough, you can probably find .SDL sources on your system; think about how
one might translate SDL to C, including all the nasty masks and bits....
On the other hand, the result would quite possibly be worth the effort,
buying a lot of customer goodwill.  (DEC persons should feel free to comment
if allowed.)

Bottom line:  DEC, please extend SDL to *all* supported languages, or find
some other way to allow us to build tools in the language best suited to
the task.  (Maybe extend CDD?)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mark H. Wood    IMHW400@INDYVAX.BITNET   (317)274-0749 III U   U PPPP  U   U III
Indiana University - Purdue University at Indianapolis  I  U   U P   P U   U  I
799 West Michigan Street, ET 1023                       I  U   U PPPP  U   U  I
Indianapolis, IN  46202 USA                             I  U   U P     U   U  I
[@disclaimer@]                                         III  UUU  P      UUU  III

JOE@FHCRCVAX.BITNET (Joe Meadows) (01/10/88)

>I think that the trouble is that SDL, which is used to create the definitions
>for MACRO and BLISS, has never been completely extended to support other
>languages.
        Actually, SDL is used to generate the Fortran and Basic
definitions. I guess I could agree that there not 'completely'
integrated, but I don't think it's SDL's fault.. If you ever
do an SDL/NOPARSE/DUMP on an SDL module (grab one out of
STARARLETSD.TLB) you'll see that there's more than enough info
there to create beautiful include files. It is the language developers
choice as to how to use this info I guess. For some reason the C
developers haven't writted an SDL module yet, which is a shame..

        Which brings me to the next subject, has anybody tried to
write a program to either read the binary SDL files, or interface
with the SDL program like the BASIC and FORTRAN developers have
done? If anybody know what I am talking about, and has any ideas on
the subject, please get in touch with me, I think that will be my
next project.. i.e. Given the following command procedure:

$ Library/Ext='p1 Sys$Library:Starletsd.Tlb/out='p1'.sdi
$ Define/nolog Sdl$Share sdl$dir
$ Define/nolog SdlFortra sdl$dir:Sdlfortra.Exe
$ SDL/NoParse/Lang=(Fortra='p2') 'p1'.sdi

I would like to replace the SDLFORTRA.EXE image with my own..
(Note that SDLFORTRA.EXE is included in the Fortran distribution, but
not saved after the installation)

>Bottom line:  DEC, please extend SDL to *all* supported languages, or find
>some other way to allow us to build tools in the language best suited to
>the task.  (Maybe extend CDD?)

        Perhaps documenting either the file format or the format of
the routine that gets called via SDL/Noparse/LANG=() would be enough.
Of course, DEC would probably prefer to make money by selling SDL
as a separate product..

        Of course, another drawback to all of this is that only
the modules from STARLET are included in the VMS distribution,
I'd like to see the LIB modules as well..

        Cheers,
        Joe Meadows             joe@fhcrcvax.bitnet

hydrovax@nmtsun.nmt.edu (M. Warner Losh) (01/12/88)

In article <8801091111.AA04662@ucbvax.Berkeley.EDU>, IMHW400@INDYVAX.BITNET writes:
> The lack of COMPLETE definitions of system facilities and structures for
> the non-MACRO, non-BLISS programmer really bugs me, too.  It is possible
> to find all the definitions in the proper .MLB and .REQ files, but I've
> had to do the translations (mostly to C) myself.

My solution:

   find the place where the symbol is defined.  Extract that module from
the relevant library.  Go into TPU and do a replace on $EQU with a
# define.  This doesn't catch all of the stuff.

   I found that there are some .h files that have bit structures defined
for the relevant field, so I think that SDL might already do that for
you. ?????

   Another solution:  Buy the Wollon gang's TCP/IP.  They give you a whole
directory of .h files that were generated with a program that they
wrote.  Maybe we could get them to distribute it, if DEC doesn't come
up with a solution.  The only drawback is that it won't work with other
languages (but who uses RPG for system programming anyway??? :-D).

-- 
bitnet:	lush@nmt.csnet			M. Warner Losh
csnet:	warner%hydrovax@nmtsun
uucp:	...{cmcl2, ihnp4}!lanl!unmvax!nmtsun!warner%hydrovax
	...{cmcl2, ihnp4}!lanl!unmvax!nmtsun!hydrovax
Warning:  Hydrovax is both a machine, and an account, so be careful.

kenw@noah.arc.CDN (Ken Wallewein) (01/19/88)

>>I think that the trouble is that SDL, which is used to create the definitions
>>for MACRO and BLISS, has never been completely extended to support other
>>languages.
>        Actually, SDL is used to generate the Fortran and Basic
>definitions. I guess I could agree that there not 'completely'
>integrated, but I don't think it's SDL's fault.. If you ever
>do an SDL/NOPARSE/DUMP on an SDL module (grab one out of

  Awright, guys, I give up. What's SDL? It's not in the Master Directory, and 
it's not in my DEC Dictionary. The system responds to '$ SDL' with '_File:',
and there's an SDLNPARSE.EXE in SYS$SYSTEM, but no help that I can find.
Curiosity is going to kill this cat :-).

/kenw