Index: azure_iot_hub_riscv/trunk/asp_baseplatform/syssvc/serial.c
===================================================================
--- azure_iot_hub_riscv/trunk/asp_baseplatform/syssvc/serial.c	(revision 453)
+++ azure_iot_hub_riscv/trunk/asp_baseplatform/syssvc/serial.c	(revision 458)
@@ -56,56 +56,56 @@
  */
 #ifndef SERIAL_RCV_BUFSZ1
-#define	SERIAL_RCV_BUFSZ1	256			/* ポート1の受信バッファサイズ */
-#endif /* SERIAL_RCV_BUFSZ1 */
+#define SERIAL_RCV_BUFSZ1 256 /* ポート1の受信バッファサイズ */
+#endif						  /* SERIAL_RCV_BUFSZ1 */
 
 #ifndef SERIAL_SND_BUFSZ1
-#define	SERIAL_SND_BUFSZ1	256			/* ポート1の送信バッファサイズ */
-#endif /* SERIAL_SND_BUFSZ1 */
-
-static char	rcv_buffer1[SERIAL_RCV_BUFSZ1];
-static char	snd_buffer1[SERIAL_SND_BUFSZ1];
-
-#if TNUM_PORT >= 2						/* ポート2に関する定義 */
+#define SERIAL_SND_BUFSZ1 256 /* ポート1の送信バッファサイズ */
+#endif						  /* SERIAL_SND_BUFSZ1 */
+
+static char rcv_buffer1[SERIAL_RCV_BUFSZ1];
+static char snd_buffer1[SERIAL_SND_BUFSZ1];
+
+#if TNUM_PORT >= 2 /* ポート2に関する定義 */
 
 #ifndef SERIAL_RCV_BUFSZ2
-#define	SERIAL_RCV_BUFSZ2	256			/* ポート2の受信バッファサイズ */
-#endif /* SERIAL_RCV_BUFSZ2 */
+#define SERIAL_RCV_BUFSZ2 256 /* ポート2の受信バッファサイズ */
+#endif						  /* SERIAL_RCV_BUFSZ2 */
 
 #ifndef SERIAL_SND_BUFSZ2
-#define	SERIAL_SND_BUFSZ2	256			/* ポート2の送信バッファサイズ */
-#endif /* SERIAL_SND_BUFSZ2 */
-
-static char	rcv_buffer2[SERIAL_RCV_BUFSZ2];
-static char	snd_buffer2[SERIAL_SND_BUFSZ2];
+#define SERIAL_SND_BUFSZ2 256 /* ポート2の送信バッファサイズ */
+#endif						  /* SERIAL_SND_BUFSZ2 */
+
+static char rcv_buffer2[SERIAL_RCV_BUFSZ2];
+static char snd_buffer2[SERIAL_SND_BUFSZ2];
 
 #endif /* TNUM_PORT >= 2 */
 
-#if TNUM_PORT >= 3						/* ポート3に関する定義 */
+#if TNUM_PORT >= 3 /* ポート3に関する定義 */
 
 #ifndef SERIAL_RCV_BUFSZ3
-#define	SERIAL_RCV_BUFSZ3	256			/* ポート3の受信バッファサイズ */
-#endif /* SERIAL_RCV_BUFSZ3 */
+#define SERIAL_RCV_BUFSZ3 256 /* ポート3の受信バッファサイズ */
+#endif						  /* SERIAL_RCV_BUFSZ3 */
 
 #ifndef SERIAL_SND_BUFSZ3
-#define	SERIAL_SND_BUFSZ3	256			/* ポート3の送信バッファサイズ */
-#endif /* SERIAL_SND_BUFSZ3 */
-
-static char	rcv_buffer3[SERIAL_RCV_BUFSZ3];
-static char	snd_buffer3[SERIAL_SND_BUFSZ3];
+#define SERIAL_SND_BUFSZ3 256 /* ポート3の送信バッファサイズ */
+#endif						  /* SERIAL_SND_BUFSZ3 */
+
+static char rcv_buffer3[SERIAL_RCV_BUFSZ3];
+static char snd_buffer3[SERIAL_SND_BUFSZ3];
 
 #endif /* TNUM_PORT >= 3 */
 
-#if TNUM_PORT >= 4						/* ポート4に関する定義 */
+#if TNUM_PORT >= 4 /* ポート4に関する定義 */
 
 #ifndef SERIAL_RCV_BUFSZ4
-#define	SERIAL_RCV_BUFSZ4	256			/* ポート4の受信バッファサイズ */
-#endif /* SERIAL_RCV_BUFSZ4 */
+#define SERIAL_RCV_BUFSZ4 256 /* ポート4の受信バッファサイズ */
+#endif						  /* SERIAL_RCV_BUFSZ4 */
 
 #ifndef SERIAL_SND_BUFSZ4
-#define	SERIAL_SND_BUFSZ4	256			/* ポート4の送信バッファサイズ */
-#endif /* SERIAL_SND_BUFSZ4 */
-
-static char	rcv_buffer4[SERIAL_RCV_BUFSZ4];
-static char	snd_buffer4[SERIAL_SND_BUFSZ4];
+#define SERIAL_SND_BUFSZ4 256 /* ポート4の送信バッファサイズ */
+#endif						  /* SERIAL_SND_BUFSZ4 */
+
+static char rcv_buffer4[SERIAL_RCV_BUFSZ4];
+static char snd_buffer4[SERIAL_SND_BUFSZ4];
 
 #endif /* TNUM_PORT >= 4 */
@@ -118,9 +118,9 @@
  *  フロー制御に関連する定数とマクロ
  */
-#define	FC_STOP			'\023'		/* コントロール-S */
-#define	FC_START		'\021'		/* コントロール-Q */
-
-#define BUFCNT_STOP(bufsz)		((bufsz) * 3 / 4)	/* STOPを送る基準文字数 */
-#define BUFCNT_START(bufsz)		((bufsz) / 2)		/* STARTを送る基準文字数 */
+#define FC_STOP '\023'	/* コントロール-S */
+#define FC_START '\021' /* コントロール-Q */
+
+#define BUFCNT_STOP(bufsz) ((bufsz)*3 / 4) /* STOPを送る基準文字数 */
+#define BUFCNT_START(bufsz) ((bufsz) / 2)  /* STARTを送る基準文字数 */
 
 /*
@@ -128,30 +128,30 @@
  */
 typedef struct serial_port_initialization_block {
-	ID		rcv_semid;		/* 受信バッファ管理用セマフォのID */
-	ID		snd_semid;		/* 送信バッファ管理用セマフォのID */
-	uint_t	rcv_bufsz;		/* 受信バッファサイズ */
-	char	*rcv_buffer;	/* 受信バッファ */
-	uint_t	snd_bufsz;		/* 送信バッファサイズ */
-	char	*snd_buffer;	/* 送信バッファ */
+	ID rcv_semid;	  /* 受信バッファ管理用セマフォのID */
+	ID snd_semid;	  /* 送信バッファ管理用セマフォのID */
+	uint_t rcv_bufsz; /* 受信バッファサイズ */
+	char *rcv_buffer; /* 受信バッファ */
+	uint_t snd_bufsz; /* 送信バッファサイズ */
+	char *snd_buffer; /* 送信バッファ */
 } SPINIB;
 
 static const SPINIB spinib_table[TNUM_PORT] = {
-	{ SERIAL_RCV_SEM1, SERIAL_SND_SEM1,
-	  SERIAL_RCV_BUFSZ1, rcv_buffer1,
-	  SERIAL_SND_BUFSZ1, snd_buffer1 },
+	{SERIAL_RCV_SEM1, SERIAL_SND_SEM1,
+	 SERIAL_RCV_BUFSZ1, rcv_buffer1,
+	 SERIAL_SND_BUFSZ1, snd_buffer1},
 #if TNUM_PORT >= 2
-	{ SERIAL_RCV_SEM2, SERIAL_SND_SEM2,
-	  SERIAL_RCV_BUFSZ2, rcv_buffer2,
-	  SERIAL_SND_BUFSZ2, snd_buffer2 },
+	{SERIAL_RCV_SEM2, SERIAL_SND_SEM2,
+	 SERIAL_RCV_BUFSZ2, rcv_buffer2,
+	 SERIAL_SND_BUFSZ2, snd_buffer2},
 #endif /* TNUM_PORT >= 2 */
 #if TNUM_PORT >= 3
-	{ SERIAL_RCV_SEM3, SERIAL_SND_SEM3,
-	  SERIAL_RCV_BUFSZ3, rcv_buffer3,
-	  SERIAL_SND_BUFSZ3, snd_buffer3 },
+	{SERIAL_RCV_SEM3, SERIAL_SND_SEM3,
+	 SERIAL_RCV_BUFSZ3, rcv_buffer3,
+	 SERIAL_SND_BUFSZ3, snd_buffer3},
 #endif /* TNUM_PORT >= 3 */
 #if TNUM_PORT >= 4
-	{ SERIAL_RCV_SEM4, SERIAL_SND_SEM4,
-	  SERIAL_RCV_BUFSZ4, rcv_buffer4,
-	  SERIAL_SND_BUFSZ4, snd_buffer4 },
+	{SERIAL_RCV_SEM4, SERIAL_SND_SEM4,
+	 SERIAL_RCV_BUFSZ4, rcv_buffer4,
+	 SERIAL_SND_BUFSZ4, snd_buffer4},
 #endif /* TNUM_PORT >= 4 */
 };
@@ -161,38 +161,38 @@
  */
 typedef struct serial_port_control_block {
-	const SPINIB *p_spinib;		/* シリアルポート初期化ブロック */
-	SIOPCB	*p_siopcb;			/* シリアルI/Oポート管理ブロック */
-	bool_t	openflag;			/* オープン済みフラグ */
-	bool_t	errorflag;			/* エラーフラグ */
-	uint_t	ioctl;				/* 動作制御の設定値 */
-
-	uint_t	rcv_read_ptr;		/* 受信バッファ読出しポインタ */
-	uint_t	rcv_write_ptr;		/* 受信バッファ書込みポインタ */
-	uint_t	rcv_count;			/* 受信バッファ中の文字数 */
-	char	rcv_fc_chr;			/* 送るべきSTART/STOP */
-	bool_t	rcv_stopped;		/* STOPを送った状態か？ */
-
-	uint_t	snd_read_ptr;		/* 送信バッファ読出しポインタ */
-	uint_t	snd_write_ptr;		/* 送信バッファ書込みポインタ */
-	uint_t	snd_count;			/* 送信バッファ中の文字数 */
-	bool_t	snd_stopped;		/* STOPを受け取った状態か？ */
+	const SPINIB *p_spinib; /* シリアルポート初期化ブロック */
+	SIOPCB *p_siopcb;		/* シリアルI/Oポート管理ブロック */
+	bool_t openflag;		/* オープン済みフラグ */
+	bool_t errorflag;		/* エラーフラグ */
+	uint_t ioctl;			/* 動作制御の設定値 */
+
+	uint_t rcv_read_ptr;  /* 受信バッファ読出しポインタ */
+	uint_t rcv_write_ptr; /* 受信バッファ書込みポインタ */
+	uint_t rcv_count;	  /* 受信バッファ中の文字数 */
+	char rcv_fc_chr;	  /* 送るべきSTART/STOP */
+	bool_t rcv_stopped;	  /* STOPを送った状態か？ */
+
+	uint_t snd_read_ptr;  /* 送信バッファ読出しポインタ */
+	uint_t snd_write_ptr; /* 送信バッファ書込みポインタ */
+	uint_t snd_count;	  /* 送信バッファ中の文字数 */
+	bool_t snd_stopped;	  /* STOPを受け取った状態か？ */
 } SPCB;
 
-static SPCB	spcb_table[TNUM_PORT];
+static SPCB spcb_table[TNUM_PORT];
 
 /*
  *  シリアルポートIDからシリアルポート管理ブロックを取り出すためのマクロ
  */
-#define INDEX_PORT(portid)	((uint_t)((portid) - 1))
-#define get_spcb(portid)	(&(spcb_table[INDEX_PORT(portid)]))
+#define INDEX_PORT(portid) ((uint_t)((portid)-1))
+#define get_spcb(portid) (&(spcb_table[INDEX_PORT(portid)]))
 
 /*
  *  ポインタのインクリメント
  */
-#define INC_PTR(ptr, bufsz) do {	\
-	if (++(ptr) == (bufsz)) {		\
-		(ptr) = 0;					\
-	 }								\
-} while (false)
+#define INC_PTR(ptr, bufsz) do {   \
+		if (++(ptr) == (bufsz)) {  \
+			(ptr) = 0;             \
+		}                          \
+	} while (false)
 
 /*
@@ -202,10 +202,10 @@
  *  合には，ercにercd_expを評価した値を代入し，error_exitにgotoする．
  */
-#define SVC(exp, ercd_exp) do {		\
-	if ((exp) < 0) {				\
-		ercd = (ercd_exp);			\
-		goto error_exit;			\
-	}								\
-} while (false)
+#define SVC(exp, ercd_exp) do {    \
+		if ((exp) < 0) {           \
+			ercd = (ercd_exp);     \
+			goto error_exit;       \
+		}                          \
+	} while (false)
 
 /*
@@ -216,5 +216,5 @@
 {
 	p_spcb->errorflag = true;
-	return(E_SYS);
+	return (E_SYS);
 }
 
@@ -228,8 +228,8 @@
 	case E_RLWAI:
 	case E_DLT:
-		return(rercd);
+		return (rercd);
 	default:
 		p_spcb->errorflag = true;
-		return(E_SYS);
+		return (E_SYS);
 	}
 }
@@ -241,6 +241,6 @@
 serial_initialize(intptr_t exinf)
 {
-	uint_t	i;
-	SPCB	*p_spcb;
+	uint_t i;
+	SPCB *p_spcb;
 
 	for (i = 0; i < TNUM_PORT; i++) {
@@ -257,17 +257,17 @@
 serial_opn_por(ID portid)
 {
-	SPCB	*p_spcb;
-	ER		ercd;
-
-	if (sns_dpn()) {				/* コンテキストのチェック */
-		return(E_CTX);
+	SPCB *p_spcb;
+	ER ercd;
+
+	if (sns_dpn()) { /* コンテキストのチェック */
+		return (E_CTX);
 	}
 	if (!(1 <= portid && portid <= TNUM_PORT)) {
-		return(E_ID);				/* ポート番号のチェック */
+		return (E_ID); /* ポート番号のチェック */
 	}
 	p_spcb = get_spcb(portid);
 
 	SVC(dis_dsp(), gen_ercd_sys(p_spcb));
-	if (p_spcb->openflag) {			/* オープン済みかのチェック */
+	if (p_spcb->openflag) { /* オープン済みかのチェック */
 		ercd = E_OBJ;
 	}
@@ -292,5 +292,5 @@
 		 *  これ以降，割込みを禁止する．
 		 */
-		if (loc_cpu() < 0) {
+		if (loc_cpu() < 0) 	{
 			ercd = E_SYS;
 			goto error_exit_enadsp;
@@ -300,5 +300,5 @@
 		 *  ハードウェア依存のオープン処理
 		 */
-		p_spcb->p_siopcb = sio_opn_por(portid, (intptr_t) p_spcb);
+		p_spcb->p_siopcb = sio_opn_por(portid, (intptr_t)p_spcb);
 
 		/*
@@ -317,9 +317,9 @@
 	}
 
-  error_exit_enadsp:
+error_exit_enadsp:
 	SVC(ena_dsp(), gen_ercd_sys(p_spcb));
 
-  error_exit:
-	return(ercd);
+error_exit:
+	return (ercd);
 }
 
@@ -330,18 +330,18 @@
 serial_cls_por(ID portid)
 {
-	SPCB	*p_spcb;
-	ER		ercd;
-	bool_t	eflag = false;
-
-	if (sns_dpn()) {				/* コンテキストのチェック */
-		return(E_CTX);
+	SPCB *p_spcb;
+	ER ercd;
+	bool_t eflag = false;
+
+	if (sns_dpn()) { /* コンテキストのチェック */
+		return (E_CTX);
 	}
 	if (!(1 <= portid && portid <= TNUM_PORT)) {
-		return(E_ID);				/* ポート番号のチェック */
+		return (E_ID); /* ポート番号のチェック */
 	}
 	p_spcb = get_spcb(portid);
 
 	SVC(dis_dsp(), gen_ercd_sys(p_spcb));
-	if (!(p_spcb->openflag)) {		/* オープン済みかのチェック */
+	if (!(p_spcb->openflag)) { /* オープン済みかのチェック */
 		ercd = E_OBJ;
 	}
@@ -381,6 +381,6 @@
 	SVC(ena_dsp(), gen_ercd_sys(p_spcb));
 
-  error_exit:
-	return(ercd);
+error_exit:
+	return (ercd);
 }
 
@@ -397,9 +397,9 @@
 {
 	if (sio_snd_chr(p_spcb->p_siopcb, c)) {
-		return(true);
+		return (true);
 	}
 	else {
 		sio_ena_cbr(p_spcb->p_siopcb, SIO_RDY_SND);
-		return(false);
+		return (false);
 	}
 }
@@ -411,6 +411,6 @@
 serial_wri_chr(SPCB *p_spcb, char c)
 {
-	bool_t	buffer_full;
-	ER		ercd, rercd;
+	bool_t buffer_full;
+	ER ercd, rercd;
 
 	/*
@@ -424,7 +424,7 @@
 		 */
 		SVC(rercd = serial_wri_chr(p_spcb, '\r'), rercd);
-		if ((bool_t) rercd) {
+		if ((bool_t)rercd) {
 			SVC(rercd = wai_sem(p_spcb->p_spinib->snd_semid),
-										gen_ercd_wait(rercd, p_spcb));
+				gen_ercd_wait(rercd, p_spcb));
 		}
 	}
@@ -432,5 +432,5 @@
 	SVC(loc_cpu(), gen_ercd_sys(p_spcb));
 	if (p_spcb->snd_count == 0U && !(p_spcb->snd_stopped)
-								&& serial_snd_chr(p_spcb, c)) {
+		&& serial_snd_chr(p_spcb, c)) {
 		/*
 		 *  シリアルI/Oデバイスの送信レジスタに文字を入れることに成功し
@@ -450,8 +450,8 @@
 
 	SVC(unl_cpu(), gen_ercd_sys(p_spcb));
-	ercd = (ER_BOOL) buffer_full;
-
-  error_exit:
-	return(ercd);
+	ercd = (ER_BOOL)buffer_full;
+
+error_exit:
+	return (ercd);
 }
 
@@ -462,33 +462,33 @@
 serial_wri_dat(ID portid, const char *buf, uint_t len)
 {
-	SPCB	*p_spcb;
-	bool_t	buffer_full;
-	uint_t	wricnt = 0U;
-	ER		ercd, rercd;
-
-	if (sns_dpn()) {				/* コンテキストのチェック */
-		return(E_CTX);
+	SPCB *p_spcb;
+	bool_t buffer_full;
+	uint_t wricnt = 0U;
+	ER ercd, rercd;
+
+	if (sns_dpn()) { /* コンテキストのチェック */
+		return (E_CTX);
 	}
 	if (!(1 <= portid && portid <= TNUM_PORT)) {
-		return(E_ID);				/* ポート番号のチェック */
+		return (E_ID); /* ポート番号のチェック */
 	}
 
 	p_spcb = get_spcb(portid);
-	if (!(p_spcb->openflag)) {		/* オープン済みかのチェック */
-		return(E_OBJ);
-	}
-	if (p_spcb->errorflag) {		/* エラー状態かのチェック */
-		return(E_SYS);
-	}
-
-	buffer_full = true;				/* ループの1回めはwai_semする */
+	if (!(p_spcb->openflag)) { /* オープン済みかのチェック */
+		return (E_OBJ);
+	}
+	if (p_spcb->errorflag) { /* エラー状態かのチェック */
+		return (E_SYS);
+	}
+
+	buffer_full = true; /* ループの1回めはwai_semする */
 	while (wricnt < len) {
 		if (buffer_full) {
 			SVC(rercd = wai_sem(p_spcb->p_spinib->snd_semid),
-										gen_ercd_wait(rercd, p_spcb));
+				gen_ercd_wait(rercd, p_spcb));
 		}
 		SVC(rercd = serial_wri_chr(p_spcb, *buf++), rercd);
 		wricnt++;
-		buffer_full = (bool_t) rercd;
+		buffer_full = (bool_t)rercd;
 	}
 	if (!buffer_full) {
@@ -497,6 +497,6 @@
 	ercd = E_OK;
 
-  error_exit:
-	return(wricnt > 0U ? (ER_UINT) wricnt : ercd);
+error_exit:
+	return (wricnt > 0U ? (ER_UINT)wricnt : ercd);
 }
 
@@ -507,6 +507,6 @@
 serial_rea_chr(SPCB *p_spcb, char *p_c)
 {
-	bool_t	buffer_empty;
-	ER		ercd;
+	bool_t buffer_empty;
+	ER ercd;
 
 	SVC(loc_cpu(), gen_ercd_sys(p_spcb));
@@ -523,6 +523,6 @@
 	 *  STARTを送信する．
 	 */
-	if (p_spcb->rcv_stopped && p_spcb->rcv_count
-								<= BUFCNT_START(p_spcb->p_spinib->rcv_bufsz)) {
+	if (p_spcb->rcv_stopped
+		&& p_spcb->rcv_count <= BUFCNT_START(p_spcb->p_spinib->rcv_bufsz)) {
 		if (!serial_snd_chr(p_spcb, FC_START)) {
 			p_spcb->rcv_fc_chr = FC_START;
@@ -532,8 +532,8 @@
 
 	SVC(unl_cpu(), gen_ercd_sys(p_spcb));
-	ercd = (ER_BOOL) buffer_empty;
-
-  error_exit:
-	return(ercd);
+	ercd = (ER_BOOL)buffer_empty;
+
+error_exit:
+	return (ercd);
 }
 
@@ -544,35 +544,35 @@
 serial_rea_dat(ID portid, char *buf, uint_t len)
 {
-	SPCB	*p_spcb;
-	bool_t	buffer_empty;
-	uint_t	reacnt = 0U;
-	char	c = '\0';		/* コンパイラの警告を抑止するために初期化する */
-	ER		ercd, rercd;
-
-	if (sns_dpn()) {				/* コンテキストのチェック */
-		return(E_CTX);
+	SPCB *p_spcb;
+	bool_t buffer_empty;
+	uint_t reacnt = 0U;
+	char c = '\0'; /* コンパイラの警告を抑止するために初期化する */
+	ER ercd, rercd;
+
+	if (sns_dpn()) { /* コンテキストのチェック */
+		return (E_CTX);
 	}
 	if (!(1 <= portid && portid <= TNUM_PORT)) {
-		return(E_ID);				/* ポート番号のチェック */
+		return (E_ID); /* ポート番号のチェック */
 	}
 
 	p_spcb = get_spcb(portid);
-	if (!(p_spcb->openflag)) {		/* オープン済みかのチェック */
-		return(E_OBJ);
-	}
-	if (p_spcb->errorflag) {		/* エラー状態かのチェック */
-		return(E_SYS);
-	}
-
-	buffer_empty = true;			/* ループの1回めはwai_semする */
+	if (!(p_spcb->openflag)) { /* オープン済みかのチェック */
+		return (E_OBJ);
+	}
+	if (p_spcb->errorflag) { /* エラー状態かのチェック */
+		return (E_SYS);
+	}
+
+	buffer_empty = true; /* ループの1回めはwai_semする */
 	while (reacnt < len) {
 		if (buffer_empty) {
 			SVC(rercd = wai_sem(p_spcb->p_spinib->rcv_semid),
-										gen_ercd_wait(rercd, p_spcb));
+				gen_ercd_wait(rercd, p_spcb));
 		}
 		SVC(rercd = serial_rea_chr(p_spcb, &c), rercd);
 		*buf++ = c;
 		reacnt++;
-		buffer_empty = (bool_t) rercd;
+		buffer_empty = (bool_t)rercd;
 
 		/*
@@ -581,9 +581,9 @@
 		if ((p_spcb->ioctl & IOCTL_ECHO) != 0U) {
 			SVC(rercd = wai_sem(p_spcb->p_spinib->snd_semid),
-										gen_ercd_wait(rercd, p_spcb));
+				gen_ercd_wait(rercd, p_spcb));
 			SVC(rercd = serial_wri_chr(p_spcb, c), rercd);
-			if (!((bool_t) rercd)) {
+			if (!((bool_t)rercd)) {
 				SVC(sig_sem(p_spcb->p_spinib->snd_semid),
-										gen_ercd_sys(p_spcb));
+					gen_ercd_sys(p_spcb));
 			}
 		}
@@ -594,6 +594,6 @@
 	ercd = E_OK;
 
-  error_exit:
-	return(reacnt > 0U ? (ER_UINT) reacnt : ercd);
+error_exit:
+	return (reacnt > 0U ? (ER_UINT)reacnt : ercd);
 }
 
@@ -604,23 +604,23 @@
 serial_ctl_por(ID portid, uint_t ioctl)
 {
-	SPCB	*p_spcb;
-
-	if (sns_dpn()) {				/* コンテキストのチェック */
-		return(E_CTX);
+	SPCB *p_spcb;
+
+	if (sns_dpn()) { /* コンテキストのチェック */
+		return (E_CTX);
 	}
 	if (!(1 <= portid && portid <= TNUM_PORT)) {
-		return(E_ID);				/* ポート番号のチェック */
+		return (E_ID); /* ポート番号のチェック */
 	}
 
 	p_spcb = get_spcb(portid);
-	if (!(p_spcb->openflag)) {		/* オープン済みかのチェック */
-		return(E_OBJ);
-	}
-	if (p_spcb->errorflag) {		/* エラー状態かのチェック */
-		return(E_SYS);
+	if (!(p_spcb->openflag)) { /* オープン済みかのチェック */
+		return (E_OBJ);
+	}
+	if (p_spcb->errorflag) { /* エラー状態かのチェック */
+		return (E_SYS);
 	}
 
 	p_spcb->ioctl = ioctl;
-	return(E_OK);
+	return (E_OK);
 }
 
@@ -631,24 +631,24 @@
 serial_ref_por(ID portid, T_SERIAL_RPOR *pk_rpor)
 {
-	SPCB	*p_spcb;
-
-	if (sns_dpn()) {				/* コンテキストのチェック */
-		return(E_CTX);
+	SPCB *p_spcb;
+
+	if (sns_dpn()) { /* コンテキストのチェック */
+		return (E_CTX);
 	}
 	if (!(1 <= portid && portid <= TNUM_PORT)) {
-		return(E_ID);				/* ポート番号のチェック */
+		return (E_ID); /* ポート番号のチェック */
 	}
 
 	p_spcb = get_spcb(portid);
-	if (!(p_spcb->openflag)) {		/* オープン済みかのチェック */
-		return(E_OBJ);
-	}
-	if (p_spcb->errorflag) {		/* エラー状態かのチェック */
-		return(E_SYS);
+	if (!(p_spcb->openflag)) { /* オープン済みかのチェック */
+		return (E_OBJ);
+	}
+	if (p_spcb->errorflag) { /* エラー状態かのチェック */
+		return (E_SYS);
 	}
 
 	pk_rpor->reacnt = p_spcb->rcv_count;
 	pk_rpor->wricnt = p_spcb->snd_count;
-	return(E_OK);
+	return (E_OK);
 }
 
@@ -659,33 +659,38 @@
 sio_irdy_snd(intptr_t exinf)
 {
-	SPCB	*p_spcb;
-
-	p_spcb = (SPCB *) exinf;
-	if (p_spcb->rcv_fc_chr != '\0') {
-		/*
-		 *  START/STOP を送信する．
-		 */
-		(void) sio_snd_chr(p_spcb->p_siopcb, p_spcb->rcv_fc_chr);
-		p_spcb->rcv_fc_chr = '\0';
-	}
-	else if (!(p_spcb->snd_stopped) && p_spcb->snd_count > 0U) {
-		/*
-		 *  送信バッファ中から文字を取り出して送信する．
-		 */
-		(void) sio_snd_chr(p_spcb->p_siopcb,
-					p_spcb->p_spinib->snd_buffer[p_spcb->snd_read_ptr]);
-		INC_PTR(p_spcb->snd_read_ptr, p_spcb->p_spinib->snd_bufsz);
-		if (p_spcb->snd_count == p_spcb->p_spinib->snd_bufsz) {
-			if (isig_sem(p_spcb->p_spinib->snd_semid) < 0) {
-				p_spcb->errorflag = true;
+	SPCB *p_spcb;
+
+	p_spcb = (SPCB *)exinf;
+	for (;;) {
+		if (p_spcb->rcv_fc_chr != '\0') {
+			/*
+			*  START/STOP を送信する．
+			*/
+			if (!sio_snd_chr(p_spcb->p_siopcb, p_spcb->rcv_fc_chr))
+				break;
+			p_spcb->rcv_fc_chr = '\0';
+		}
+		else if (!(p_spcb->snd_stopped) && p_spcb->snd_count > 0U) {
+			/*
+			*  送信バッファ中から文字を取り出して送信する．
+			*/
+			if (!sio_snd_chr(p_spcb->p_siopcb,
+							 p_spcb->p_spinib->snd_buffer[p_spcb->snd_read_ptr]))
+				break;
+			INC_PTR(p_spcb->snd_read_ptr, p_spcb->p_spinib->snd_bufsz);
+			if (p_spcb->snd_count == p_spcb->p_spinib->snd_bufsz) {
+				if (isig_sem(p_spcb->p_spinib->snd_semid) < 0) {
+					p_spcb->errorflag = true;
+				}
 			}
-		}
-		p_spcb->snd_count--;
-	}
-	else {
-		/*
-		 *  送信すべき文字がない場合は，送信可能コールバックを禁止する．
-		 */
-		sio_dis_cbr(p_spcb->p_siopcb, SIO_RDY_SND);
+			p_spcb->snd_count--;
+		}
+		else {
+			/*
+			*  送信すべき文字がない場合は，送信可能コールバックを禁止する．
+			*/
+			sio_dis_cbr(p_spcb->p_siopcb, SIO_RDY_SND);
+			break;
+		}
 	}
 }
@@ -697,67 +702,70 @@
 sio_irdy_rcv(intptr_t exinf)
 {
-	SPCB	*p_spcb;
-	char	c;
-
-	p_spcb = (SPCB *) exinf;
-	c = (char) sio_rcv_chr(p_spcb->p_siopcb);
-	if ((p_spcb->ioctl & IOCTL_FCSND) != 0U && c == FC_STOP) {
-		/*
-		 *  送信を一時停止する．送信中の文字はそのまま送信する．
-		 */
-		p_spcb->snd_stopped = true;
-	}
-	else if (p_spcb->snd_stopped && (c == FC_START
-				|| (p_spcb->ioctl & IOCTL_FCANY) != 0U)) {
-		/*
-		 *  送信を再開する．
-		 */
-		p_spcb->snd_stopped = false;
-		if (p_spcb->snd_count > 0U) {
-			c = p_spcb->p_spinib->snd_buffer[p_spcb->snd_read_ptr];
-			if (serial_snd_chr(p_spcb, c)) {
-				INC_PTR(p_spcb->snd_read_ptr, p_spcb->p_spinib->snd_bufsz);
-				if (p_spcb->snd_count == p_spcb->p_spinib->snd_bufsz) {
-					if (isig_sem(p_spcb->p_spinib->snd_semid) < 0) {
-						p_spcb->errorflag = true;
+	SPCB *p_spcb;
+	int_t c;
+
+	p_spcb = (SPCB *)exinf;
+	for (;;) {
+		c = sio_rcv_chr(p_spcb->p_siopcb);
+		if (c < 0)
+			break;
+		if ((p_spcb->ioctl & IOCTL_FCSND) != 0U && c == FC_STOP) {
+			/*
+			*  送信を一時停止する．送信中の文字はそのまま送信する．
+			*/
+			p_spcb->snd_stopped = true;
+		}
+		else if (p_spcb->snd_stopped && (c == FC_START
+			|| (p_spcb->ioctl & IOCTL_FCANY) != 0U)) {
+			/*
+			*  送信を再開する．
+			*/
+			p_spcb->snd_stopped = false;
+			if (p_spcb->snd_count > 0U) {
+				c = p_spcb->p_spinib->snd_buffer[p_spcb->snd_read_ptr];
+				if (serial_snd_chr(p_spcb, c)) {
+					INC_PTR(p_spcb->snd_read_ptr, p_spcb->p_spinib->snd_bufsz);
+					if (p_spcb->snd_count == p_spcb->p_spinib->snd_bufsz) {
+						if (isig_sem(p_spcb->p_spinib->snd_semid) < 0) {
+							p_spcb->errorflag = true;
+						}
 					}
+					p_spcb->snd_count--;
 				}
-				p_spcb->snd_count--;
 			}
 		}
-	}
-	else if ((p_spcb->ioctl & IOCTL_FCSND) != 0U && c == FC_START) {
-		/*
-		 *  送信に対してフロー制御している場合，START は捨てる．
-		 */
-	}
-	else if (p_spcb->rcv_count == p_spcb->p_spinib->rcv_bufsz) {
-		/*
-		 *  バッファフルの場合，受信した文字を捨てる．
-		 */
-	}
-	else {
-		/*
-		 *  受信した文字を受信バッファに入れる．
-		 */
-		p_spcb->p_spinib->rcv_buffer[p_spcb->rcv_write_ptr] = c;
-		INC_PTR(p_spcb->rcv_write_ptr, p_spcb->p_spinib->rcv_bufsz);
-		if (p_spcb->rcv_count == 0U) {
-			if (isig_sem(p_spcb->p_spinib->rcv_semid) < 0) {
-				p_spcb->errorflag = true;
+		else if ((p_spcb->ioctl & IOCTL_FCSND) != 0U && c == FC_START) {
+			/*
+			*  送信に対してフロー制御している場合，START は捨てる．
+			*/
+		}
+		else if (p_spcb->rcv_count == p_spcb->p_spinib->rcv_bufsz) {
+			/*
+			*  バッファフルの場合，受信した文字を捨てる．
+			*/
+		}
+		else {
+			/*
+			*  受信した文字を受信バッファに入れる．
+			*/
+			p_spcb->p_spinib->rcv_buffer[p_spcb->rcv_write_ptr] = c;
+			INC_PTR(p_spcb->rcv_write_ptr, p_spcb->p_spinib->rcv_bufsz);
+			if (p_spcb->rcv_count == 0U) {
+				if (isig_sem(p_spcb->p_spinib->rcv_semid) < 0) {
+					p_spcb->errorflag = true;
+				}
 			}
-		}
-		p_spcb->rcv_count++;
-
-		/*
-		 *  STOPを送信する．
-		 */
-		if ((p_spcb->ioctl & IOCTL_FCRCV) != 0U && !(p_spcb->rcv_stopped)
-						&& p_spcb->rcv_count
-							>= BUFCNT_STOP(p_spcb->p_spinib->rcv_bufsz)) {
-			if (!serial_snd_chr(p_spcb, FC_STOP)) {
-				p_spcb->rcv_fc_chr = FC_STOP;
+			p_spcb->rcv_count++;
+
+			/*
+			*  STOPを送信する．
+			*/
+			if ((p_spcb->ioctl & IOCTL_FCRCV) != 0U && !(p_spcb->rcv_stopped)
+				&& p_spcb->rcv_count >= BUFCNT_STOP(p_spcb->p_spinib->rcv_bufsz)) {
+				if (!serial_snd_chr(p_spcb, FC_STOP)) {
+					p_spcb->rcv_fc_chr = FC_STOP;
+				}
+				p_spcb->rcv_stopped = true;
 			}
-			p_spcb->rcv_stopped = true;
 		}
 	}
@@ -770,17 +778,17 @@
 serial_get_chr(ID portid, char *p_c)
 {
-	SPCB	*p_spcb;
-
-	if (1 <= portid && portid <= TNUM_PORT) {	/* ポート番号のチェック */
+	SPCB *p_spcb;
+
+	if (1 <= portid && portid <= TNUM_PORT) { /* ポート番号のチェック */
 		p_spcb = get_spcb(portid);
-		if (p_spcb->openflag) {					/* オープン済みかのチェック */
+		if (p_spcb->openflag) { /* オープン済みかのチェック */
 			if (p_spcb->snd_count > 0U) {
 				*p_c = p_spcb->p_spinib->snd_buffer[p_spcb->snd_read_ptr];
 				INC_PTR(p_spcb->snd_read_ptr, p_spcb->p_spinib->snd_bufsz);
 				p_spcb->snd_count--;
-				return(true);
+				return (true);
 			}
 		}
 	}
-	return(false);
-}
+	return (false);
+}
