{
DATE : 

AUTHOR : 
     Kenneth G. Tibesar
     3M Engineering Systems and Technology Labs
     3M Center, Bldg 518-1
     St. Paul, Minn. 55144

REVISION HISTORY :

DESCRIPTION :

ENVIROMENT :          
     DEC PDP-11 
     RSX-11M or RSX-11M+

}


{***********************************************************************
                   START PRM PROCEDURE CALLS  
 *********************************************************************** 
Maintainer: KGT
Version 2.1
}

{$pascal1}  
  
{ close the file }
PROCEDURE PRMClo ( VAR Filebuf : RmsFileDesc ;	{ ref. to file to close }
                   VAR Status  : RmsStatus ) ;	{ STS and STV }
                   EXTERNAL ;

{ Create the file described by the RmsFileDesc buffer }
PROCEDURE PRMCre (VAR CreBuf : RmsFileDesc ;
                  VAR Status  : RmsStatus ) ;	{ status of Sts and Stv }
                   EXTERNAL ;

{ Delete a record, must be preceded with successful PGET or PFIND (PRMRet) }
PROCEDURE PRMDel ( VAR FileBuf : RmsFileDesc ;	{ ref. to file to delete rec }
                   VAR Status  : RmsStatus ) ;	{ STS and STV }
                   EXTERNAL ;

{ free a bucket locked by a previous PrmRet operation }
PROCEDURE PrmFre ( VAR FileBuf : RmsFileDesc ;
                   VAR Status  : RmsStatus ) ;
                   EXTERNAL ;

{ Use PrmKey to define all indexed file keys }
{ Define a single key with each call, use PrmCre after defining ALL keys }
{ Define keys in ascending order starting with key 0 definition. }
PROCEDURE PRMKey (VAR Filebuf : RmsFileDesc ;
                  VAR KeyBuf : IdxKeyDesc ;
                  VAR Status  : RmsStatus ) ;	{ status of Sts and Stv }
                   EXTERNAL ;

{ Open an RMS Indexed file previously defined with RMSDEF or another prg. }
PROCEDURE PRMOpe ( VAR FileBuf : RmsFileDesc ;   { load fields before open }
                   VAR Status  : RmsStatus ) ;	{ status of Sts and Stv }
                   EXTERNAL ;

{ Record retrieval from the specified file }
PROCEDURE PRMRet ( Operation : RecOps ;		{ define PGET or PFIND }
                   VAR FileBuf : RmsFileDesc ;	{ ref. to file for access }
                   VAR RetData : RetRecord ;	{ load with type of opr }
                   VAR RecBuf  : RecDef ;	{ rec. buf connected to use }
                   VAR Status  : RmsStatus ) ;	{ status of STS and STV }
                   EXTERNAL ;

{ Store a record in the specified file }
PROCEDURE PRMSto ( Operation   : RecOps ;	{ define PPUT or PUPDATE }
                   VAR FileBuf : RmsFileDesc ;	{ ref. to file for store }
                   VAR StoData : StoRecord ;	{ store variables }
                   VAR RecBuf  : RecDef ;	{ rec. buf connected to use }
                   VAR Status  : RmsStatus);	{ STS and STV }
                   EXTERNAL ;

{ Define a routine to GET and DISPOSE heap space, execute first in root seg }
PROCEDURE RmsIni ; EXTERNAL ;

{$nopascal1}  

{***********************************************************************
 *                   END PRM PROCEDURE CALLS                           *
 *********************************************************************** }
  
  
