Newsgroups: vmsnet.tpu
Subject: Re: LIB$FIND_IMAGE_SYMBOL
From: "Comet" <comet@us.oracle.com>
Date: Sun, 10 Jan 93 12:58:20 PST
Reply-To: "Comet" <COMET@us.oracle.com>
Organization: The Internet
Return-Path: <TPU-Mgr@SHSU.edu>
Errors-To: TPU-Mgr@SHSU.edu
X-Listname: Text Processing Utility (TPU) Language Discussion List
Original-To: HQPYR1:INFO-TPU@SHSU.EDU


In article <9301082049.AA07948@oasun1.us.oracle.com>, I wrote:

I remember seeing on a DECUS symposium tape, once upon a time, a TPU CALL_USER
routine that used LIB$FIND_IMAGE_SYMBOL to activate arbitrary routines in
arbitrary (`correctly' linked) shareable images to do such things as, ummm,
maybe finding the sine of some angle.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Carl J Lydick  <carl@SOL1.GPS.CALTECH.EDU> responded at JAN-09 01:20:59 thus:

It's easy to do.  What is it that you can't reconstruct yourself?  For a TPU
CALL_USER routine, you can easily use the integer argument to index into a
number of routines (you could also use the string argument, but that's the best
place to pass parameters).  Using LIB$FIND_IMAGE_SYMBOL seems mostly to be
overkill.  Could you let us know exactly what it is you *REALLY* want to do?
That would probably save us some time and make things easier for you.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I <comet@us.oracle.com> respond [insert message identifier here--Ed.]:

If I knew ahead of time which routines I might want to invoke, Carl, then it
would be "easy to do."  "Exactly what it is that I *REALLY* want to do" is, as I
have stated, have a way of activating ARBITRARY routines... these routines are
NOT KNOWN at the time the CALL_USER is written.  This is why it is not overkill
to use LIB$FIND_IMAGE_SYMBOL.  When I first saw this routine, I thought it was
amazingly clever, and so I posted my message to the mailing list using as full
and complete a description as my memory could come up with, hoping that somebody
would recognize this amazing bit of wizardry.
--------------------------------------------------------------------------------
Tom Williams  <TPU-Mgr@SHSU.edu> responded at JAN-09 06:59:22 thus:

Yes, he said, blushing.  I wrote it.  It's a pair of routines, as I recall (long
time since I've touched it). One of them builds a few arrays of arguments for
the call; the other one invokes LIB$FIND_IMAGE_SYMBOL and LIB$CALLG. I will get
the sources out of mothballs and send them out some time in the next week or so,
if you can's find it elsewhere.

Currently, the routines only handle integers and strings.  Maybe they'll evolve.
--------------------------------------------------------------------------------
I <comet@us.oracle.com> respond:

Tom Williams!  Mr. TPU-Mgr himSELF!!!  Show Carl and the rest of the readership
your gem. I'm looking forward to when you "send them out some time in the next
week or so."  If it will help your routines evolve from handling more than
integers and strings, I'll... Encourage This!  Yeah!!!  I'm so-o-o excited that
I'll be able to get these routines again.  This is the main reason I joined this
TPU mailing list, Tom!  Thanks for organizing/supporting it!  =)

--------                          __
Comet <comet@us.oracle.com>      /\ \         Oracle Corporation
Technical Analyst               /\ \ \        500 Oracle Parkway
Midrange Computer Systems      / /\ \ \       Box 659312
Worldwide Technical Support   / / /\ \ \      Redwood Shores, CA  94065-5041
                             / / /__\_\_\
The view of this object is  / / /________\  not necessarily that of my employer.
                            \/_/_________|