/******************************************************************/

#include <iocslib.h>
#include "defines.h"
#include "rs232c.h"

/******************************************************************/

int ComInpOuts(unchar *s,int mode,long otm,long itm,int acks,int try)
/* RS-232C文字列送信／受信（時間切れリトライあり）*/
/* mode:0=送信、1=受信 , try:リトライ回数 , その他はComOuts0/ComInps0と同じ */
/* リターン値：送信時：0=送信ｏｋ */
/*           ：受信時：0=入力なし , >0=EOSを含めそのバイト数入力 */
/*           ：<0=エラー（リトライ回数内に送信／受信できなかった）*/
{
int i,ret=IERR;
int (*Com0)();
	Com0=mode? ComInps0:ComOuts0;
	if (try<0) { /* リトライなし */
		ret=Com0(s,otm,itm,acks);
	}
	else
	if (try==0) { /* 無限リトライ */
		/* 送信完了かＢＲＥＡＫまで止まらない */
		do {
			ret=Com0(s,otm,itm,acks);
		} while (ret<0 && ret!=BERR);
	} else { /* 回数制限付きリトライ */
		for (i=0;(ret<0 && ret!=BERR) && i<try;i++) {
			ret=Com0(s,otm,itm,acks);
		}
	}
	return(ret);
}

/******************************************************************/
