*DECK RPCSDES 
USETEXT TEXTIPL 
USETEXT TEXTRPC 
      PROC RPCSDES (HANDLE);
*CALL COPYRITE
# TITLE RPCSDES - DELETE UDP SERVER HANDLE                             #
  
      BEGIN                            # RPCSDES                       #
# 
****  RPCSDES  DELETE UDP SERVER HANDLE 
* 
*     THIS PROCEDURE DELETES A UDP SERVER HANDLE FOR REMOTE PROCEDURE 
*     CALLS.
* 
*     PROC RPCSDES
* 
*     ENTRY    HANDLE     = RPC HANDLE
* 
*     METHOD   IF THE SPECIFIED HANDLE IS ACTIVE, IT IS MARKED INACTIVE.
*              IF THE SOCKET WAS OPENED BY THE RPCSUDP CALL, IT IS
*              CLOSED.
# 
  
# 
****  PROC RPCSDES - 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 RPCSUDP 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                              # RPCSDES                       #
  
      TERM
