*DECK RPCCDES 
USETEXT TEXTIPL 
USETEXT TEXTRPC 
      PROC RPCCDES (HANDLE);
*CALL COPYRITE
# TITLE RPCCDES - DELETE UDP CLIENT HANDLE                             #
  
      BEGIN                            # RPCCDES                       #
# 
****  RPCCDES  DELETE UDP CLIENT HANDLE 
* 
*     THIS PROCEDURE DELETES A UDP CLIENT HANDLE FOR REMOTE PROCEDURE 
*     CALLS.
* 
*     PROC RPCCDES
* 
*     ENTRY    HANDLE     = RPC HANDLE
* 
*     METHOD   IF THE SPECIFIED HANDLE IS ACTIVE, IT IS MARKED INACTIVE.
*              IF THE SOCKET WAS OPENED BY THE RPCCUDP CALL, IT IS
*              CLOSED.
# 
  
# 
****  PROC RPCCDES - XREF LIST
# 
      XREF
        BEGIN 
        PROC IPPABOS;    # CLOSE A UDP SOCKET                          #
        END 
# 
**
# 
      ITEM HANDLE              U;      # RPC HANDLE                    #
# 
**
# 
      ITEM SOCKSTATUS  S:SOCKSTAT;     # SOCKET STATUS                 #
      CONTROL EJECT;
# 
****  START MAIN PROCEDURE
* 
****  VERIFY HANDLE ENTRY 
# 
      IF NOT RP$ACTIVE [HANDLE] THEN
        RETURN; 
# 
****  CLOSE THE UDP SOCKET IF RPCCUDP OPENED IT.
# 
      IF RP$CLS$SOCK [HANDLE] 
      THEN
        BEGIN 
        IPPABOS (RP$SOCKID [HANDLE], SOCKSTATUS); 
        END 
  
      RP$ACTIVE [HANDLE] = FALSE;      # HANDLE RELEASED               #
      RETURN;                          # RETURN TO CALLER              #
  
      END                              # RPCCDES                       #
  
      TERM
