Network 0x92


時刻合わせ要求


【機能】

 ネットワーク・タイム・プロトコル(SNTP)により時刻を取得します。

【関数】

 int Sntp( char *time, int *to, int *info )
 {
   return trapa_svc( 0x92, pid, time, to, info );
 }

【入力】

 time 時刻 取得した時刻を格納する領域アドレス
 to タイムサーバ情報 タイムサーバ情報を格納した領域の先頭アドレス
 info 要求情報 要求情報を格納した領域の先頭アドレス

+0
+1
+2
+3
to+00
タイムサーバIPアドレス
to+04
タイムサーバポート番号
x

+0
+1
+2
+3
info+00
タイムアウト値(ms) (10ms〜10000ms)
info+04
リトライ数(0〜10)
info+08
RTC書き込み要求(0:未設定 1:設定)
info+0C
ブロック(0:非ブロック 1:ブロック)

【出力】

 リターンコード OK 正常終了
+0
+1
+2
+3
time+00
年(BCD)
月(BCD)
日(BCD)
曜日
time+04
時(BCD)
分(BCD)
秒(BCD)
1/100秒(BCD)

ERR_PARAM パラメータエラー
ERR_LANCLOSED LAN未オープン
ERR_SNTPRUN SNTP実行中
ERR_SNTPOPEN SNTPオープンエラー
ERR_SNTPSEND SNTP送信エラー
ERR_SNTPRECV SNTP受信エラー
ERR_SNTPTMOUT タイムアウト

【解説】

 アドレス情報でブロック(1)を指定した場合、サーバアクセス処理はブロック処理となり一連の送受信動作が終了するまで制御は戻りません。
 アドレス情報で非ブロック(0)を指定した場合、直ぐに制御を戻します。処理結果は「時刻合わせ結果取得」ファンクションで取得して下さい。

 RTC書き込み要求を設定(1)すると取得した時刻を内部のRTCに設定します。

 入力アドレスがNULL場合、サーバのIPアドレスが0.0.0.0または255.255.255.255の場合、パラメータエラーを返します。

 リトライ数、タイムアウト値が範囲外の場合はリトライ0回、タイムアウト3秒で動作します。

【関連項目】

 時刻合わせ結果取得