Lua 向けヤマハルーター専用 API

$Date: 2024/03/07 11:44:46 $


概要

 Lua スクリプト機能で使用できる API の一覧です。


注意事項


API 一覧

使用できる API は Lua スクリプト機能バージョンによって異なります。Lua スクリプト機能バージョンと対応するファームウェアについては Lua スクリプト機能バージョンの変更履歴を参照してください。


基本ライブラリ


ハードウェアライブラリ


HTTPライブラリ

ソケット通信ライブラリ


ソケット通信ライブラリは、LuaSocketのC言語で記述されたライブラリ関数を移植したものです。LuaSocketのバージョンは 2.0.2 です。

LuaSocketはC言語で書かれたライブラリ関数と、Lua言語で書かれたライブラリ関数に分かれています。C言語で書かれたライブラリ関数が、ソケットシステムコールを呼び出すような低レベルの関数を用意しているのに対して、Lua言語で書かれたライブラリ関数は、HTTPやFTP、SMTP等のアプリケーションを利用するための関数を用意しています。
ルーターにはLuaSocketのC言語で書かれたライブラリ関数をAPIとして移植しているため、Lua言語のライブラリ関数についてもLuaSocketのホームページで公開されているスクリプトをそのまま使用することができません。以下にあるヤマハルーター用LuaSocketモジュールファイルを使用してください。 また、Lua言語で書かれたライブラリ関数についてはLuaSocketのリファレンスをご覧ください。

ヤマハルーター用LuaSocketモジュールファイル

本ライブラリでは、ソケットオブジェクトを生成し、オブジェクト単位での通信を行います。オブジェクトはプロトコル毎に性質が異なり、特定の関数によって状態を遷移させます。

注意事項




SYSLOG メッセージ一覧

API の実行で出力される SYSLOG メッセージを以下に示します。実際に出力されるメッセージには "[LUA]" というプレフィックスが付加されます。

レベル 出力メッセージ 意味
DEBUG Task(N) executed rt.command("COMMAND"): true Lua タスク番号 N の Lua タスクでルーターのコマンド "COMMAND" の実行に成功した。
Task(N) executed rt.command("COMMAND"): false Lua タスク番号 N の Lua タスクでルーターのコマンド "COMMAND" の実行に失敗した。
Task(N) executed rt.mail: true Lua タスク番号 N の Lua タスクでメールの送信に成功した。
Task(N) executed rt.mail: false Lua タスク番号 N の Lua タスクでメールの送信に失敗した。
Task(N) started rt.syslogwatch Lua タスク番号 N の Lua タスクで SYSLOG の監視を開始した。
Task(N) detected time out in rt.syslogwatch Lua タスク番号 N の Lua タスクで実行していた SYSLOG の監視でタイムアウトが発生した。
Task(N) completed rt.syslogwatch Lua タスク番号 N の Lua タスクで実行していた SYSLOG の監視が完了した。
Task(N) opened RESOURCE Lua タスク番号 N の Lua タスクでハードウェア、RESOURCE をオープンした。
Task(N) failed to open RESOURCE Lua タスク番号 N の Lua タスクでハードウェア、RESOURCE のオープンに失敗した。
Task(N) closed RESOURCE Lua タスク番号 N の Lua タスクでハードウェア、RESOURCE をクローズした。
Task(N) started rt.httprequest Lua タスク番号 N の Lua タスクで HTTP リクエストの送信を開始した。
Task(N) detected time out in rt.httprequest Lua タスク番号 N の Lua タスクで実行していた HTTP リクエストの送信処理、またはレスポンスデータの受信処理においてタイムアウトが発生した。
Task(N) completed rt.httprequest Lua タスク番号 N の Lua タスクで実行していた HTTP リクエストの送信及びレスポンスデータの受信が完了した。
Task(N) TCP(UDP) Initialize failed Lua タスク番号 N の Lua タスクで TCP または UDP の初期化に失敗した。

上記の他に、API の引数誤りやスクリプトの構文エラーによりスクリプトの実行が不可能な場合には、INFO タイプのエラーメッセージが SYSLOG に出力されます。詳細は注意事項を参照してください。


参考情報