!Revision history:
! 29-JAN-88 PSR Added SPRING to set TT NAME

%externalbyteintegerspec Spring %alias "3L_SPRING"
%external %routine %spec Init Streams   %alias "3L___stream_init"
%external %routine %spec Wind Streams   %alias "3L___stream_wind"
%external %routine %spec Open FD Input  %alias "3L_IMP_OPEN_FD_INPUT" -
                                      ( %integer Stream, Fd, %string(255) S )
%external %routine %spec Open FD Output %alias "3L_IMP_OPEN_FD_OUTPUT" -
                                      ( %integer Stream, Fd, %string(255) S )
%external %routine %spec Open Referred Input %alias "3L_IMP_OPEN_REFERRED_INPUT" -
                                      ( %integer Stream, Old )
%external %routine %spec Open Referred Output %alias "3L_IMP_OPEN_REFERRED_OUTPUT" -
                                      ( %integer Stream, Old )
%external %string(255) %function %spec Get Env %alias "3L_GET_ENV" -
                                      ( %string(255) S )

!
! >> IMP___START_IO <<
!
%external %routine Start IO %alias "3L___start_imp_io"
   %own %string(3) TT Name = "TT:"
   TT Name = "CON" %if Spring # 0
   Init Streams                         {set up level 0 streams (all null)}
   Open FD  Input(0, 0, TT Name);  Open Referred  Input(1, 0)
   Open FD Output(0, 0, TT Name);  Open Referred Output(1, 0)
   Init Streams                         {protect level 1}
%end

!
! >> IMP___STOP_IO <<
!
%external %routine Stop IO %alias "3L___stop_imp_io"
   Wind Streams                         {level -> 1, wind down user}
   Wind Streams                         {level -> 0, wind down stdio}
%end
