$DEBUG PAGEWIDTH(80) PAGELENGTH(50) M$MENU$FILE$LISTING: DO; /****************************************************/ /* */ /* MODULE NAME - M$MENU$FILE$LISTING */ /* */ /* FUNCTION - ROOT OF MENU TREE. */ /* CONTAINES TREE NODE ITSELF, */ /* AND THE MESSAGE. */ /* */ /****************************************************/ $NOLIST $INCLUDE(COMMON.DCL) $LIST /**** TREE NODE TYPE DECLARATION ****/ DECLARE NODE LITERALLY 'STRUCTURE( MSG$P ADDRESS, PARENT$P ADDRESS, N$SONS BYTE, SONS$TYPE(8) BYTE, SONS$P(8) ADDRESS )'; /**** EXTERNAL EXEC PROCEDURES ****/ EX$LIST: PROCEDURE EXTERNAL; END; EX$LAST: PROCEDURE EXTERNAL; END; EX$PR703: PROCEDURE EXTERNAL; END; EX$COPYLP: PROCEDURE EXTERNAL; END; EX$PR: PROCEDURE EXTERNAL; END; EX$TABSPC: PROCEDURE EXTERNAL; END; /**** EXTERNAL TREE NODES ****/ DECLARE ( MENU$TREE$FILE$HANDLING ) NODE EXTERNAL; /**** MESSAGE ****/ DECLARE MSG$FILE$LISTING(*) BYTE DATA( 'FILE LISTING / PRINTING :',CR,LF, LF, '1. List a file on console ', '4. Print ( printer connected as :LP: )',CR,LF, '2. List the last lines of a file ', '5. Format for printing ( with paging )',CR,LF, '3. Print ( Centronics-703 printer ) ', '6. Format ( without paging )',CR,LF, CR,LF, LF, 0); /**** TREE NODE ****/ DECLARE MENU$TREE$FILE$LISTING NODE PUBLIC DATA( .MSG$FILE$LISTING, .MENU$TREE$FILE$HANDLING, 6, 1,1,1,1,1,1,1,1, .EX$LIST, .EX$LAST, .EX$PR703, .EX$COPYLP, .EX$PR, .EX$TABSPC, 0, 0 ) ; END M$MENU$FILE$LISTING;