*DECK PMPCLOS 
USETEXT TEXTIPL 
USETEXT TEXTRPC 
      PROC PMPCLOS (RPCSTATUS); 
*CALL COPYRITE
# TITLE PMPCLOS - CLOSE THE PORTMAPPER PORT                            #
  
      BEGIN                            # PMPCLOS                       #
# 
****  PMPCLOS  CLOSE THE PORTMAPPER PORT
* 
*     THIS PROCEDURE CLOSES THE PORTMAPPER PORT.
* 
*     PROC PMPCLOS
* 
*     EXIT     RPCSTATUS = STATUS OF THE REQUEST
* 
*     METHOD   THE PORTMAPPER DELETES ITSELF FROM THE PORTMAPPER
*              DATABASE. THE SERVER AND CLIENT HANDLES ARE CLOSED.
# 
  
# 
*     PROC PMPCLOS - XREF LIST
# 
      XREF
        BEGIN 
        PROC IPPABOS;    # ABORT A SOCKET                              #
        PROC RPCCDES;    # CLOSE AN RPC CLIENT HANDLE                  #
        PROC RPCSDES;    # CLOSE AN RPC SERVER HANDLE                  #
        PROC PMPUNSET;   # UNREGISTER RPC SERVER WITH PORTMAPPER       #
        END 
# 
**
# 
      ITEM RPCSTATUS S:RPCSTAT;        # STATUS OF THE REQUEST         #
# 
**
# 
      ITEM IGNORE               U;     # IGNORE RETURN STATUS          #
      CONTROL EJECT;
# 
****  START MAIN PROCEDURE
* 
****  UNREGISTER PORTMAPPER 
# 
      PMPUNSET (PMAP$PROG, PMAP$VERSION, RPCSTATUS);
      IF RPCSTATUS EQ S"OK" 
      THEN
        BEGIN 
# 
****    CLOSE PORTMAPPER HANDLES
# 
        RPCSDES (PMAP$SERVER);
        RPCCDES (PMAP$CLIENT);
# 
****    CLOSE PORTMAPPER SERVER SOCKET
# 
        IPPABOS (PMAP$SOCKET, IGNORE);
  
        END 
  
      RETURN;                          # RETURN TO CALLER              #
  
      END                              # PMPCLOS                       #
  
      TERM
