INTEGER FUNCTION RPACK(LEN,NUM,XDATA) IMPLICIT INTEGER (A-Z) COMMON /KER/ N,RPSIZ,SPSIZ,PAD,NUMTRY,OLDTRY, FD,RMTINFD,RMTOUTFD, *STATE,PADCHAR, EOL,ESCHAR,QUOTE,FILNAM(132),RECPKT(94 ), PACKET(94 * ),SIZE,MOREFD,IBM,HOST, LOCALINFD,LOCALOUTFD,SPEED INTEGER LEN,NUM,CH INTEGER KGETLIN INTEGER XDATA(1) INTEGER I,COUNT,STATUS,UNCHAR,J,K,IDC1,T1,IBYTE INTEGER XCOUNT,TEMP,MAILID INTEGER CHKSUM,T,XTYPE,BUFFER(132) IDC1=03400K CHKSUM=0 IF(.NOT.(IBM.EQ.-1))GOTO 23000 XCOUNT=8 GOTO 23001 23000 CONTINUE XCOUNT=2 23001 CONTINUE I=1 CH=RMTINFD 23002 IF(.NOT.(I.LE.XCOUNT))GOTO 23003 IF(.NOT.(IBM.EQ.-1))GOTO 23004 STATUS=IBMGETLIN(BUFFER,CH) GOTO 23005 23004 CONTINUE STATUS=GETLIN(BUFFER,CH) 23005 CONTINUE COUNT=1 23006 IF(.NOT.((BUFFER(COUNT).NE.1 ).AND.(BUFFER(COUNT).NE.10002)))GOTO *23007 COUNT=COUNT+1 GOTO 23006 23007 CONTINUE IF(.NOT.(BUFFER(COUNT).EQ.1 ))GOTO 23008 K=COUNT+1 CHKSUM=BUFFER(K) LEN=UNCHAR(BUFFER(K))-3 K=K+1 CHKSUM=CHKSUM+BUFFER(K) NUM=UNCHAR(BUFFER(K)) K=K+1 XTYPE=BUFFER(K) CHKSUM=CHKSUM+BUFFER(K) K=K+1 J=1 23010 IF(.NOT.(J.LE.LEN))GOTO 23012 XDATA(J)=BUFFER(K) CHKSUM=CHKSUM+BUFFER(K) K=K+1 COUNT=J 23011 J=J+1 GOTO 23010 23012 CONTINUE XDATA(COUNT+1)=0 T=BUFFER(K) CHKSUM=(CHKSUM+(CHKSUM.AND.192)/64).AND.63 IF(.NOT.(CHKSUM.NE.UNCHAR(T)))GOTO 23013 RPACK=0 RETURN 23013 CONTINUE RPACK=XTYPE RETURN 23008 CONTINUE I=I+1 GOTO 23002 23003 CONTINUE RPACK=0 RETURN END