$COPYRIGHT 'COPYRIGHT (C) 1982 BY HEWLETT-PACKARD COMPANY'$
$SYSPROG ON$
$PARTIAL_EVAL ON$
$STACKCHECK ON$
$RANGE OFF$
$DEBUG OFF$
$OVFLCHECK OFF$
(************************************************************************)
(*                                                                      *)
(*      not released    VERSION         2.0                             *)
(*                                                                      *)
(************************************************************************)
(*                                                                      *)
(*                                                                      *)
(*      IOLIB           extensions                                      *)
(*                                                                      *)
(*                                                                      *)
(************************************************************************)
(*                                                                      *)
(*                                                                      *)
(*      library      -  IOLIB                                           *)
(*      name         -  EXTLIB                                          *)
(*      module(s)    -  general_5                                       *)
(*                                                                      *)
(*                                                                      *)
(*      date         -  July 22 , 1982                                  *)
(*      update       -  July 30 , 1982                                  *)
(*                                                                      *)
(*                                                                      *)
(************************************************************************)

(************************************************************************)
(*                                                                      *)
(*                                                                      *)
(*      GENERAL EXTENSIONS                                              *)
(*                                                                      *)
(*                                                                      *)
(************************************************************************)



MODULE general_5 ;     

        { date    07/22/82
          update  07/23/82
          update  10/03/83 to version on p 500 of SDG (07/30/82 version)
          
          purpose This module contains the LEVEL 5 GENERAL GROUP procedures.   
        }


IMPORT  iodeclarations  ;  

EXPORT 
  
  TYPE user_eot_proc = PROCEDURE ( parameter : INTEGER );
  
  PROCEDURE on_eot     ( VAR b_info: buf_info_type ;
                         your_proc : user_eot_proc ;
                         your_parm : INTEGER );
  PROCEDURE off_eot    ( VAR b_info: buf_info_type  );
  
IMPLEMENT
  
  PROCEDURE on_eot     ( VAR b_info: buf_info_type ;
                         your_proc : user_eot_proc ;
                         your_parm : INTEGER );
  TYPE proc_coerce   = RECORD CASE BOOLEAN OF 
                         TRUE:  ( user: PROCEDURE ( parm : INTEGER ) );
                         FALSE: ( sys : PROCEDURE ( parm : ANYPTR )  )
                       END;
  TYPE parm_coerce   = RECORD CASE BOOLEAN OF 
                         TRUE:  ( int : INTEGER );
                         FALSE: ( ptr : ANYPTR  )
                       END;
  VAR localproc : proc_coerce;
      localparm : parm_coerce;
  BEGIN
    WITH b_info DO 
      BEGIN
        localproc.user     := your_proc;
        eot_proc.real_proc := localproc.sys;
        localparm.int      := your_parm;
        eot_parm           := localparm.ptr;
      END; { of WITH DO }
  END; { of on_eot }
  
  PROCEDURE off_eot    ( VAR b_info: buf_info_type );
  BEGIN
    WITH b_info DO 
      BEGIN
        eot_proc.dummy_sl := NIL;
        eot_proc.dummy_pr := NIL;
        eot_parm          := NIL; 
      END; { of WITH DO }
  END; { of on_eot }

        
END.    { of general_5 }  

