Index: azure_iot_hub/trunk/ntshell/src/ntp_cli.c
===================================================================
--- azure_iot_hub/trunk/ntshell/src/ntp_cli.c	(revision 388)
+++ azure_iot_hub/trunk/ntshell/src/ntp_cli.c	(revision 389)
@@ -1,50 +1,35 @@
 /*
- *  TOPPERS ECHONET Lite Communication Middleware
+ *  TOPPERS PROJECT Home Network Working Group Software
  * 
  *  Copyright (C) 2018 Cores Co., Ltd. Japan
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -52,5 +37,5 @@
 
 /* 
- *  NTP ã¯ã©ã¤ã¢ã³ã
+ *  NTP クライアント
  */
 
@@ -84,17 +69,17 @@
 #include "ntp_cli.h"
 
-/* NTP ãµã¼ãã®ãã¼ãçªå· */
+/* NTP サーバのポート番号 */
 
 #define NTP_SRV_PORTNO		UINT_C(123)
 
-/* NTP ãµã¼ãã®URL */
+/* NTP サーバのURL */
 
 #define NTP_SRV_URL		"ntp.nict.jp"
 
-/* éä¿¡éé */
+/* 送信間隔 */
 
 #define SLP_ITV		(60*SYSTIM_HZ)
 
-/* é¢æ° */
+/* 関数 */
 
 void ntp_cli_update_time(T_NTP_CLI_CONTEXT *nc);
@@ -105,6 +90,5 @@
 
 /*
- *  å
-¨åå¤æ°
+ *  全域変数
  */
 
@@ -171,6 +155,6 @@
 }
 
-#define NTP_POLL_ASYNC 10		// 1024ç§æ¯ã«æå»åãåãã
-#define NTP_POLL_NORMAL 16		// 65536ç§æ¯ã«æå»åãåãã
+#define NTP_POLL_ASYNC 10		// 1024秒毎に時刻問い合わせ
+#define NTP_POLL_NORMAL 16		// 65536秒毎に時刻問い合わせ
 
 void ntp_cli_initialize(T_NTP_CLI_CONTEXT *nc, ID cepid)
@@ -214,5 +198,5 @@
 	T_NTP_MSG *ntp = &nc->ntp_msg;
 
-	// NTPæå»å¿ç­ã®å ´å
+	// NTP時刻応答の場合
 	if ((ntp->mode == NTP_MODE_SERVER) || (ntp->mode == NTP_MODE_BROADCAST)) {
 		switch (nc->state) {
@@ -221,16 +205,15 @@
 			break;
 		case NTP_CLI_STATE_REQUEST:
-			// ãµã¼ãã¼ããã®å¿ç­æå»ãåå¾
+			// サーバーからの応答時刻を取得
 			memcpy(&nc->receive_timestamp, &ntp->receive_timestamp, sizeof(nc->receive_timestamp));
 			memcpy(&nc->transmit_timestamp, &ntp->transmit_timestamp, sizeof(nc->transmit_timestamp));
 
-			// ç¾å¨æå»åå¾
+			// 現在時刻取得
 			ntp_cli_read_time(nc, &tp);
 
-			// NTPåç
-§æå»ã«ç¾å¨æå»ãè¨­å®
+			// NTP参照時刻に現在時刻を設定
 			set_systime_to_ntptime(&tp, &nc->recv_resp_timestamp);
 
-			// æå»ãæ´æ°
+			// 時刻を更新
 			ntp_cli_update_time(nc);
 
@@ -243,14 +226,14 @@
 		}
 	}
-	// NTPæå»è¦æ±ã®å ´å
+	// NTP時刻要求の場合
 	else if (ntp->mode == NTP_MODE_CLIENT) {
-		// ç¾å¨æå»åå¾
+		// 現在時刻取得
 		ntp_cli_read_time(nc, &tp);
 
-		// NTPåä¿¡ã»éä¿¡æå»ã«ç¾å¨æå»ãè¨­å®
+		// NTP受信・送信時刻に現在時刻を設定
 		set_systime_to_ntptime(&tp, &nc->receive_timestamp);
 		set_systime_to_ntptime(&tp, &nc->transmit_timestamp);
 
-		// NTPãã±ããéä¿¡
+		// NTPパケット送信
 		ntp_cli_time_synchronization(nc, NTP_MODE_SERVER);
 	}
@@ -267,5 +250,5 @@
 	div2_timestamp(&ofs);
 
-	// å·®ãå¤§ããå ´åã¯ãµã¼ãã¼ã®éä¿¡æéãè¨­å®
+	// 差が大きい場合はサーバーの送信時間を設定
 	if (ntohl(ofs.integer) > 2) {
 		memcpy(&nc->reference_timestamp, &nc->transmit_timestamp, sizeof(nc->transmit_timestamp));
@@ -286,5 +269,5 @@
 #endif
 	{
-		/* æ¹è¡ã³ã¼ãã®åé¤ */
+		/* 改行コードの削除 */
 		int len = strnlen(nc->buf, sizeof(nc->buf) - 1);
 		nc->buf[len - 1] = '\0';
@@ -344,17 +327,16 @@
 		/* through */
 	case NTP_CLI_STATE_RESOLVE_ADDR:
-		// ç¾å¨æå»åå¾
+		// 現在時刻取得
 		ntp_cli_read_time(nc, &tp);
 
-		// NTPéå§æå»ã«ç¾å¨æå»ãè¨­å®
+		// NTP開始時刻に現在時刻を設定
 		set_systime_to_ntptime(&tp, &nc->originate_timestamp);
 		memset(&nc->receive_timestamp, 0, sizeof(nc->receive_timestamp));
 		memset(&nc->transmit_timestamp, 0, sizeof(nc->transmit_timestamp));
 
-		// NTPãã±ããéä¿¡
+		// NTPパケット送信
 		ntp_cli_time_synchronization(nc, NTP_MODE_CLIENT);
 
-		// NTPå¿ç­å¾
-ã¡ã«é·ç§»ã500msã§ãªãã©ã¤
+		// NTP応答待ちに遷移、500msでリトライ
 		nc->retry = 0;
 		nc->state = NTP_CLI_STATE_REQUEST;
@@ -366,37 +348,35 @@
 			nc->state = NTP_CLI_STATE_ASYNC;
 			nc->poll = NTP_POLL_ASYNC;
-			nc->timer = (1 << nc->poll) * 1000 * 1000;  // 1024ç§å¾ã«æå»åæ
-			break;
-		}
-		// ç¾å¨æå»åå¾
+			nc->timer = (1 << nc->poll) * 1000 * 1000;  // 1024秒後に時刻同期
+			break;
+		}
+		// 現在時刻取得
 		ntp_cli_read_time(nc, &tp);
 
-		// NTPéå§æå»ã«ç¾å¨æå»ãè¨­å®
+		// NTP開始時刻に現在時刻を設定
 		set_systime_to_ntptime(&tp, &nc->originate_timestamp);
 		memset(&nc->receive_timestamp, 0, sizeof(nc->receive_timestamp));
 		memset(&nc->transmit_timestamp, 0, sizeof(nc->transmit_timestamp));
 
-		// NTPãã±ããéä¿¡
+		// NTPパケット送信
 		ntp_cli_time_synchronization(nc, NTP_MODE_CLIENT);
 
-		// NTPå¿ç­å¾
-ã¡ã«é·ç§»ã500msã§ãªãã©ã¤
+		// NTP応答待ちに遷移、500msでリトライ
 		nc->state = NTP_CLI_STATE_REQUEST;
 		nc->timer = 500 * 1000;
 		break;
 	case NTP_CLI_STATE_SYNC:
-		// ç¾å¨æå»åå¾
+		// 現在時刻取得
 		ntp_cli_read_time(nc, &tp);
 
-		// NTPéå§æå»ã«ç¾å¨æå»ãè¨­å®
+		// NTP開始時刻に現在時刻を設定
 		set_systime_to_ntptime(&tp, &nc->originate_timestamp);
 		memset(&nc->receive_timestamp, 0, sizeof(nc->receive_timestamp));
 		memset(&nc->transmit_timestamp, 0, sizeof(nc->transmit_timestamp));
 
-		// NTPãã±ããéä¿¡
+		// NTPパケット送信
 		ntp_cli_time_synchronization(nc, NTP_MODE_CLIENT);
 
-		// NTPå¿ç­å¾
-ã¡ã«é·ç§»ã500msã§ãªãã©ã¤
+		// NTP応答待ちに遷移、500msでリトライ
 		nc->state = NTP_CLI_STATE_REQUEST;
 		nc->timer = 500 * 1000;
@@ -418,22 +398,21 @@
 	ntp->stratum = (mode == NTP_MODE_CLIENT) ? 2 : 1;
 	ntp->poll = nc->poll;
-	ntp->precision = 0xfa;   // ç²¾åº¦ã¯10^-6(1Î¼s)
+	ntp->precision = 0xfa;   // 精度は10^-6(1μs)
 	ntp->root_delay = htonl(0);
 	ntp->root_dispersion = htonl(0);
-	// åæã®ããã®å¤é¨çãªææ®µã®ãªããµãããã
+	// 同期のための外部的な手段のないサブネット
 	ntp->reference_identifier[0] = 'L';
 	ntp->reference_identifier[1] = 'O';
 	ntp->reference_identifier[2] = 'C';
 	ntp->reference_identifier[3] = 'L';
-	// åç
-§ã¿ã¤ã ã¹ã¿ã³ã
+	// 参照タイムスタンプ
 	memcpy(&ntp->reference_timestamp, &nc->reference_timestamp, sizeof(ntp->reference_timestamp));
-	// éå§ã¿ã¤ã ã¹ã¿ã³ã
+	// 開始タイムスタンプ
 	memcpy(&ntp->originate_timestamp, &nc->originate_timestamp, sizeof(ntp->originate_timestamp));
-	// åä¿¡ã¿ã¤ã ã¹ã¿ã³ã
+	// 受信タイムスタンプ
 	memcpy(&ntp->receive_timestamp, &nc->receive_timestamp, sizeof(ntp->receive_timestamp));
-	// éä¿¡ã¿ã¤ã ã¹ã¿ã³ã
+	// 送信タイムスタンプ
 	memcpy(&ntp->transmit_timestamp, &nc->transmit_timestamp, sizeof(ntp->transmit_timestamp));
-	// éµè­å¥å­
+	// 鍵識別子
 	ntp->key_identifier[0] = 0x08;
 	ntp->key_identifier[1] = 0x18;
@@ -486,5 +465,5 @@
 
 /*
- *  ãã³ãã­ãã­ã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°
+ *  ノンブロッキングコールのコールバック関数
  */
 
@@ -497,5 +476,5 @@
 	len = *(ER_UINT*)p_parblk;
 	if (len < 0 && len != E_RLWAI) {
-		/* E_RLWAI ä»¥å¤ã§ã0 ä»¥ä¸ã®å ´åã¯ãã¨ã©ã¼ãæå³ãã¦ããã*/
+		/* E_RLWAI 以外で、0 以下の場合は、エラーを意味している。*/
 		syslog(LOG_NOTICE, "[NTP CLI,%d] callback error: %s, fncd: %s", nc->cepid,
 			itron_strerror(len), in_strtfn(fncd));
@@ -525,5 +504,5 @@
 
 /*
- *  NTP ã¯ã©ã¤ã¢ã³ãéä¿¡ã¿ã¹ã¯
+ *  NTP クライアント送信タスク
  */
 
@@ -539,5 +518,5 @@
 	syslog(LOG_NOTICE, "[NTP CLI:%d,%d] started.", nc->tskid, (ID)exinf);
 
-	/* åæå */
+	/* 初期化 */
 	ntp_cli_initialize(nc, (ID)exinf);
 
@@ -552,9 +531,8 @@
 		prev = time;
 
-		/* ã¿ã¤ãã¼åå¾ */
+		/* タイマー取得 */
 		timer = ntp_cli_get_timer(nc);
 
-		/* å¾
-ã¡ */
+		/* 待ち */
 		error = tslp_tsk(timer);
 		if ((error != E_OK) && (error != E_TMOUT)) {
@@ -571,13 +549,13 @@
 		}
 
-		/* æéçµé */
+		/* 時間経過 */
 		ntp_cli_progress(nc, time - prev);
 
-		/* èµ·ããããå ´å */
+		/* 起こされた場合 */
 		if (error == E_OK) {
 			ntp_cli_wakeup(nc);
 		}
 
-		/* ã¿ã¤ã ã¢ã¦ãå¦ç */
+		/* タイムアウト処理 */
 		ntp_cli_timeout(nc);
 	}
