.title show_called_files - show dcl called command files ; ; Ce brico edite sur SYS$OUTPUT la liste des fichiers de commandes ; utilises par DCL, dans l'ordre "premier edite, dernier appelle". ; ; Par exemple, si on imagine, a partir du prompt DCL, le lancement d'un ; fichier de commande FILE_1, qui lance FILE_2, lequel active cette image, on ; aura sur SYS$OUTPUT les lignes suivantes : ; ; disk:[dev]FILE_2.COM;n ; disk:[dev]FILE_1.COM;m ; nom_du_terminal ; ; Dans le cas d'une activation dans SYS$SYLOGIN, on obtiendra le nom ; de la procedure SYS$SYLOGIN, suivi du nom de la procedure de login (LOGIN.COM) ; qui sera executee ensuite, terminee par le nom du terminal sur lequel on se ; trouve (ce qui etait demande dans la conf VMS). ; ; Ce brico neccessite le privilege CMEXEC. Il peut etre habile de ; l'installer avec ce privilege si on decide de ne pas l'attribuer ; systematiquement (ce qui parait sage). ; ; On genere une image par : ; ; $ MACRO SHOW_CALLED_FILES ; $ LINK SHOW_CALLED_FILES ; ; Comme d'habitude, il est donne en l'etat a DECUS, et vous l'utiliserez ; a vos riques et perils ... ; ; Francois FOUCHET 03-APR-1991 ; .link 'sys$system:sys.stb'/se .link 'sys$system:dcldef.stb'/se .psect code exe,nowrt .entry show_called_files,^m<> $cmexec_s - routin = exec_routine ret .entry exec_routine,^m movab g^lib$sig_to_ret,(fp) ; Setup condition handler moval g^ctl$ag_clidata,r11 ; Get cli data area @ movl ppd$l_prc(r11),r11 ; Get prc @ movl prc_l_idflnk(r11),r11 ; Point first IDF 1$: movl idf_l_filename(r11),r0 ; Get filename @ pushal 1(r0) ; filename @ movzbl (r0),-(sp) ; filename length pushal (sp) ; descriptor @ calls #1,g^lib$put_output ; Edit file name addl2 #8,sp ; Cleanup stack movl idf_l_lnk(r11),r11 ; Next idf block bneq 1$ ; Edit if defined 2$: ret .end show_called_files