S
PL_
PL_
PL_WRITE{%}ON{%}{WTHEN\ELSE}
*
      L$$$ = LEN({%1})
      IF L$$$ > PLIP$MAX.IO.LEN THEN
         L$$$ = PLIP$MAX.IO.LEN
      END
*
      S$ = CALLFN('00':                 \
                 '08':OCONV(L$$$,'MCDX')'R%4':      \
                 FNR.WRITE:                         \
                 OCONV({%2},'MCDX')'R%4':           \
                 OCONV(L$$$,'MCDX')'R%4':           \
                 ({%1})[1,L$$$]                     \
                )
*
      IF S$[7,4] = IPX.SOCKET.NO THEN
         RES = OCONV(S$[11,4],'MCXD')
         IF RES > 32768 THEN
            RES = RES - 65536
         END
         ERR = 0
      END ELSE
         ERR = 1
         RES = 0
      END
*
      IF NOT(ERR) AND RES >= 0 {%3}
