$!++ !'F$verify(0) $! This procedure demonstrates the use of TMESIS SYMBOL to access P1 address $! space and S0 address space information. It demonstrates a way to get the $! file specification(s) of the previous procedure(s) (ie. that which invoke $! this procedure) facilitated by TMESIS SYMBOL V5.0. This procedure can be $! placed in a GOSUB/RETURN subroutine to be invoked anywhere in a procedure $! to obtain the calling procedure's file name. $!-- $ FAO := WRITE SYS$OUTPUT F$fao $ $ SYMBOL/SET/LOCAL/EXEC CTL$AG_CLIDATA $ SYMBOL/SET/LOCAL/EXEC PPD$L_PRC $ SYMBOL/SET/LOCAL/EXEC PRC_W_PROCLEVEL $ SYMBOL/SET/LOCAL/EXEC PRC_L_IDFLNK $ SYMBOL/SET/LOCAL/EXEC IDF_L_LNK $ SYMBOL/SET/LOCAL/EXEC IDF_L_FILENAME $ SYMBOL/SET/LOCAL/EXEC IDF_L_CURRENT_SUBROUTINE $ SYMBOL/SET/LOCAL/EXEC SYM_T_SYMBOL $ $ IDF = F$cvui(0,32,F$fao("!AD",4,- F$cvui(0,32,F$fao("!AD",4,CTL$AG_CLIDATA+PPD$L_PRC))+PRC_L_IDFLNK)) $ LVL = F$cvui(0,16,F$fao("!AD",4,- F$cvui(0,32,F$fao("!AD",4,CTL$AG_CLIDATA+PPD$L_PRC))+PRC_W_PROCLEVEL)) $ $!++ $! At this point, LVL will be the procedure level of this proceudre. To $! obtain only the calling procedure, decrement this value by one and re- $! move the "$ GOTO LOOP" statement below. $!-- $ $ FAO("!/Level Filename") $ LOOP: $ IF IDF .ne. 0 $ THEN $ FAO("[!2ZL] !AC",LVL,F$cvui(0,32,F$fao("!AD",4,IDF+IDF_L_FILENAME))) $ SUB = F$cvui(0,32,F$fao("!AD",4,IDF+IDF_L_CURRENT_SUBROUTINE)) $ IF SUB .ne. 0 $ THEN $ FAO(" Subroutine Label: !AC",SUB+SYM_T_SYMBOL) $ ENDIF $ IDF = F$cvui(0,32,F$fao("!AD",4,IDF+IDF_L_LNK)) $ LVL = LVL - 1 $ GOTO LOOP ! Comment out this line for calling procedure only! $ ENDIF $ EXIT $!++ $! Copyright © 2000 by Brian Schenkenberger and TMESIS SOFTWARE $! ALL RIGHTS RESERVED. $! Notice of Disclaimer $! ------------------------- $! $! This Software is provided "AS IS" and is supplied for informational purpose $! only. No warranty is expressed or implied and no liability can be accepted $! for any direct, indirect or consequential damages or for any damage whatso- $! ever resulting in the loss of systems, data or profit from the use of this $! software or from any of the information contained herein. The author makes $! no claims as to the suitablility or fitness of this Software or information $! contain herein for any particular purpose. $! $! $! Software License $! ------------------------- $! This Software is furnished under license. The licensee may not distribute $! any copy of the Software without the prior written consent of the licensor. $! For FIELD TEST releases of this Software, the licensee may install and use $! this software on any machine (CPU) which is held property of the licensee. $! LICENSED USE of this software is provided *ONLY* for use AT YOUR OWN RISK. $! $! $! Title and Ownership $! ------------------------- $! NO TITLE TO AND/OR OWNERSHIP OF THIS SOFTWARE IS HEREBY TRANSFERRED. ANY $! MODIFICATION WITHOUT THE PRIOR WRITTEN CONSENT OF THE COPYRIGHT HOLDER IS $! PROHIBITED. ANY USE, IN WHOLE OR PART, OF THIS SOFTWARE FOR A COMMERCIAL $! PRODUCT WITHOUT THE PRIOR WRITTEN CONSENT OF THE COPYRIGHT HOLDER IS ALSO $! PROHIBITED. THE TECHNIQUES EMPLOYED IN THE SOFTWARE ARE THE INTELLECTUAL $! PROPERTY OF THE COPYRIGHT HOLDER. THIS SOFTWARE CONTAINS "TRADE SECRETS" $! AND PROPRIETARY SOFTWARE TECHNIQUES. REVERSE ENGINEERING OF THE SOFTWARE $! IS STRICTLY PROHIBITED. $!--