+++ /dev/null
-/*\r
- * naitive_interface.h\r
- *\r
- * このファイルは、ネイティブファンクションのテーブルを定義します。\r
- * ネイティブファンクションコールは、TNativeFunctionItem_t\r
- */\r
-\r
-#ifndef NAITIVE_INTERFACE_H_\r
-#define NAITIVE_INTERFACE_H_\r
-#include "NyLPC_mimicVm.h"\r
-\r
-typedef NyLPC_TBool (*NyLPC_TNativeFunction)(NyLPC_TcMiMicVM_t* i_vm);\r
-\r
-struct TNativeFunctionItem\r
-{\r
- /**\r
- * 関数id。関数のidを定義する。関数idはビットフィールドを持つ。フォーマットは以下の通り。\r
- * <table>\r
- * <tr><td>bit field</td><td>bit field</td></tr>\r
- * <tr><td>31-24</td><td>Addr type</td></tr>\r
- * <tr><td>23-0</td><td>Number</td></tr>\r
- * </table>\r
- * AddrType\r
- * <ul>\r
- * <li>0x00: LocalIDモード。23-0に、ユーザ定義IDが含まれていることを示す。他のシステムと重複の可能性があるので注意すること。</li>\r
- * <li>0x01: MAC-OUIモード。23-0に、MACAddrのOUI値が含まれていることを示す。OUI所有事業者が、ベンダ固有の関数を定義する場合に使用する。</li>\r
- * <li>0x02: MiMicDomainモード。23-0に、MiMic projectがユーザに割り当てたIDが格納されていることを示す。</li>\r
- * <li>0x39: MiMic予約値。</li>\r
- * <li>other: reserved</li>\r
- * </ul>\r
- */\r
- NyLPC_TUInt32 id;\r
- /**\r
- * 関数の名前。Javaパッケージ風に定義すると良い。重複可。\r
- * @example "jp.nyatla.sample"\r
- */\r
- const char* name;\r
- /**\r
- * 関数ポインタ。\r
- */\r
- NyLPC_TNativeFunction function;\r
-};\r
-typedef struct TNativeFunctionItem TNativeFunctionItem_t;\r
-\r
-/**\r
- * ネイティブ関数テーブルから、idに一致する関数を検索する。\r
- */\r
-NyLPC_TNativeFunction getNativeFunctionById(NyLPC_TUInt32 i_id);\r
-\r
-\r
-#endif /* NAITIVE_INTERFACE_H_ */\r