*DECK PMPUNSET
USETEXT TEXTIPL 
USETEXT TEXTRPC 
      PROC PMPUNSET (PROGNUM, VERSION, RPCSTATUS);
*CALL COPYRITE
# TITLE PMPUNSET - DELETE A MAPPING ENTRY FROM PORTMAPPER DATABASE     #
  
      BEGIN                            # PMPUNSET                      #
# 
****  PMPUNSET  DELETE A MAPPING ENTRY FROM PORTMAPPER DATABASE 
* 
*     THIS PROCEDURE DELETES AN ENTRY FROM THE PORTMAPPER DATABASE. 
* 
*     PROC PMPUNSET 
* 
*     ENTRY    PROGNUM    = PORTMAPPER PROGRAM NUMBER 
*              VERSION    = PROTOCOL VERSION
* 
*     EXIT     RPCSTATUS  = STATUS OF THE REQUEST 
* 
*     METHOD   ALL ENTRIES WITH THE SPECIFIED MAPPING ARE DEACTIVATED.
# 
      ITEM PROGNUM             U;      # PORTMAPPER PROGRAM NUMBER     #
      ITEM VERSION             U;      # PROTOCOL VERSION              #
      ITEM RPCSTATUS S:RPCSTAT;        # STATUS OF THE REQUEST         #
# 
**
# 
      ITEM INDEX                U;
      CONTROL EJECT;
# 
****  START MAIN PROCEDURE
* 
****  LOOK FOR SPECIFIED REGISTRATIONS
# 
      FOR INDEX = 0 STEP 1 UNTIL MAXREG$ DO 
        BEGIN 
        IF (PROGNUM EQ PM$PROGNUM [INDEX]) AND
           (VERSION EQ PM$VERSION [INDEX])
        THEN
          PM$PROGNUM [INDEX] = 0;      # RELEASE THE MATCHED ENTRY     #
        END 
  
      RPCSTATUS = S"OK";               # SET NORMAL RETURN STATUS      #
      RETURN;                          # RETURN TO CALLER              #
  
      END                              # PMPUNSET                      #
  
      TERM
