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:ブロック)
| |
【出力】
| +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秒で動作します。
【関連項目】
時刻合わせ結果取得