sub help
!	Written by Michael W. Wheeler (mww@tntech.bitnet)
!	VAX Basic V3.1
!	Copyright (c) by Michael W. Wheeler, September 1987
!	This program is intended for Public Domain, and may not be sold or
!	marketed in any form without the permision and written consent
!	from the author Michael W. Wheeler.  I retain all copyrights to
!	this program, in either the original or modified forms, and no
!	violation, deletion, or change of the copyright notice is
!	allowed.  Futhermore, I will have no liability or responsibilty
!	to any user with respect to loss or damage caused directly or
!	indirectly by this program.

! Labels
!	none.

! Constants
%include "$ssdef"  %from %library "sys$library:basic$starlet.tlb"
%include "$hlpdef" %from %library "sys$library:basic$starlet.tlb"
external long constant	msg_help

! Types
!	none.

! Variables
declare long		return_status, flags_mask
declare string		help_lib, pause
common (io_l) long	term_table, col_len, num_cols, tt_cols, tt_rows
common (flags) byte	dir, prompt, help, log_qual

! Procedures
external long		lib$put_output, lib$get_input, get_input, put_output

! Functions
external long function	lib$sys_trnlog, lbr$output_help

flags_mask = hlp$m_prompt or hlp$m_process or hlp$m_group or		&
	hlp$m_system or hlp$m_liblist

return_status = lib$sys_trnlog( "TTU_HELP" by desc, ! Logical name	&
				,		    ! Destination len	&
				help_lib by desc,   ! Help library	&
				,		    ! Table to search	&
				,		    ! Access mode	&
				 )		    ! disable mask
if return_status = ss$_notran then
    help_lib = "sys$help:down"
else
    help_lib = "ttu_help:down"
end if

return_status = lbr$output_help( put_output by ref,	! Output routine    &
				 tt_cols by ref,	! Output line width &
				 "down" by desc,	! Help topic	    &
				 help_lib by desc,	! Library name      &
				 flags_mask by ref,	! Help flags        &
				 get_input by ref )	! Input routine
if return_status <> ss$_normal then
    call lib$signal( msg_help by value )
    when error in
	if not(help) then
	    print #2%, lf; lf; "Press RETURN to continue... ";
	    input #2%, pause
	end if
    use
	call sys$exit( return_status by value )
    end when
end if
subend
