Ignore:
Timestamp:
Aug 23, 2017, 9:27:43 AM (7 years ago)
Author:
coas-nagasima
Message:

文字コードを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/mrbgems/mruby-ecnl/src/echonet.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r270 r321  
    44 *  Copyright (C) 2014-2016 Cores Co., Ltd. Japan
    55 *
    6  *  上記著作権è€
    7 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    8  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    9  *  変・再é
    10 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    11  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    12  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    13  *      スコード中に含まれていること.
    14  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    15  *      用できる形で再é
    16 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    17 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    18  *      è€
    19 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    20  *      の無保証規定を掲載すること.
    21  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    22  *      用できない形で再é
    23 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    24  *      と.
    25  *    (a) 再é
    26 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    27 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    28  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    29  *    (b) 再é
    30 å¸ƒã®å½¢æ
    31 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    32  *        報告すること.
    33  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    34  *      害からも,上記著作権è€
    35 ãŠã‚ˆã³TOPPERSプロジェクトをå
    36 è²¬ã™ã‚‹ã“と.
    37  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    38  *      由に基づく請求からも,上記著作権è€
    39 ãŠã‚ˆã³TOPPERSプロジェクトを
    40  *      å
    41 è²¬ã™ã‚‹ã“と.
     6 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     7 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     8 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     9 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     10 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     11 *      スコード中に含まれていること.
     12 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     13 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     14 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     15 *      の無保証規定を掲載すること.
     16 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     17 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     18 *      と.
     19 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     20 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     21 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     22 *        報告すること.
     23 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     24 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     25 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     26 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     27 *      免責すること.
    4228 *
    43  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    44 ãŠ
    45  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    46  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    47  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    48  *  の責任を負わない.
     29 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     30 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     31 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     32 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     33 *  の責任を負わない.
    4934 *
    5035 */
     
    6449
    6550#ifndef TOPPERS_T_STDDEF_H
    66 typedef char                    bool_t;         /* 真偽値 */
    67 
    68 typedef signed int              int_t;          /* 自然なサイズの符号付き整数 */
    69 typedef unsigned int    uint_t;         /* 自然なサイズの符号無し整数 */
    70 
    71 typedef int_t                   ER;                     /* エラーコード */
    72 typedef int_t                   ID;                     /* オブジェクトのID番号 */
    73 typedef uint_t                  ATR;            /* オブジェクトの属性 */
    74 typedef int_t                   TMO;            /* タイムアウト指定 */
     51typedef char                    bool_t;         /* 真偽値 */
     52
     53typedef signed int              int_t;          /* 自然なサイズの符号付き整数 */
     54typedef unsigned int    uint_t;         /* 自然なサイズの符号無し整数 */
     55
     56typedef int_t                   ER;                     /* エラーコード */
     57typedef int_t                   ID;                     /* オブジェクトのID番号 */
     58typedef uint_t                  ATR;            /* オブジェクトの属性 */
     59typedef int_t                   TMO;            /* タイムアウト指定 */
    7560
    7661#ifndef NULL
    77 #define NULL            0                       /* 無効ポインタ */
     62#define NULL            0                       /* 無効ポインタ */
    7863#endif /* NULL */
    7964
    8065#ifndef true
    81 #define true            1                       /* 真 */
     66#define true            1                       /* */
    8267#endif /* true */
    8368
    8469#ifndef false
    85 #define false           0                       /* 偽 */
     70#define false           0                       /* */
    8671#endif /* false */
    8772
    88 #define E_OK            0                       /* 正常終了 */
    89 
    90 #define E_SYS           (-5)            /* システムエラー */
    91 #define E_PAR           (-17)           /* パラメータエラー */
    92 #define E_NOMEM         (-33)           /* メモリ不足 */
    93 #define E_OBJ           (-41)           /* オブジェクト状æ
    94 ‹ã‚¨ãƒ©ãƒ¼ */
    95 #define E_NOEXS         (-42)           /* オブジェクト未生成 */
    96 #define E_TMOUT         (-50)           /* ポーリング失敗またはタイムアウト */
    97 #define E_BOVR          (-58)           /* バッファオーバーフロー */
    98 #define E_BRK           (-100)          /* ユーザーによる中断 */
    99 
    100 #define TMO_FEVR        (-1)            /* æ°¸ä¹
    101 å¾
    102 ã¡ */
     73#define E_OK            0                       /* 正常終了 */
     74
     75#define E_SYS           (-5)            /* システムエラー */
     76#define E_PAR           (-17)           /* パラメータエラー */
     77#define E_NOMEM         (-33)           /* メモリ不足 */
     78#define E_OBJ           (-41)           /* オブジェクト状態エラー */
     79#define E_NOEXS         (-42)           /* オブジェクト未生成 */
     80#define E_TMOUT         (-50)           /* ポーリング失敗またはタイムアウト */
     81#define E_BOVR          (-58)           /* バッファオーバーフロー */
     82#define E_BRK           (-100)          /* ユーザーによる中断 */
     83
     84#define TMO_FEVR        (-1)            /* 永久待ち */
    10385#endif
    10486
    10587#define EOBJ_NULL 0x00
    106 #define EOBJ_LOCAL_NODE 0x01                    /* 自ノード */
    107 #define EOBJ_SYNC_REMOTE_NODE 0x02              /* 他ノード */
    108 #define EOBJ_ASYNC_REMOTE_NODE 0x04             /* 他ノード(非同期) */
    109 #define EOBJ_DEVICE 0x08                                /* 機器オブジェクト */
     88#define EOBJ_LOCAL_NODE 0x01                    /* 自ノード */
     89#define EOBJ_SYNC_REMOTE_NODE 0x02              /* 他ノード */
     90#define EOBJ_ASYNC_REMOTE_NODE 0x04             /* 他ノード(非同期) */
     91#define EOBJ_DEVICE 0x08                                /* 機器オブジェクト */
    11092
    11193#define EPC_NONE 0x00
    112 #define EPC_RULE_SET 0x01                               /* アクセスルール Set */
    113 #define EPC_RULE_GET 0x02                               /* アクセスルール Get */
    114 #define EPC_RULE_ANNO 0x04                              /* アクセスルール Anno */
    115 #define EPC_ANNOUNCE 0x40                               /* 状æ
    116 ‹å¤‰åŒ–時通知 */
    117 #define EPC_VARIABLE 0x80                               /* 可変長データ */
     94#define EPC_RULE_SET 0x01                               /* アクセスルール Set */
     95#define EPC_RULE_GET 0x02                               /* アクセスルール Get */
     96#define EPC_RULE_ANNO 0x04                              /* アクセスルール Anno */
     97#define EPC_ANNOUNCE 0x40                               /* 状態変化時通知 */
     98#define EPC_VARIABLE 0x80                               /* 可変長データ */
    11899
    119100typedef enum _echonet_enod_id
    120101{
    121         ENOD_NOT_MATCH_ID       = -1,                   /* アドレスID登録なし */
    122         ENOD_MULTICAST_ID       = 0,                    /* マルチキャストアドレスID */
    123         ENOD_LOCAL_ID           = 1,                    /* 自ノードアドレスID */
    124         ENOD_API_ID                     = 2,                    /* APIアドレスID */
    125         ENOD_REMOTE_ID          = 3,                    /* 他ノードアドレスID */
     102        ENOD_NOT_MATCH_ID       = -1,                   /* アドレスID登録なし */
     103        ENOD_MULTICAST_ID       = 0,                    /* マルチキャストアドレスID */
     104        ENOD_LOCAL_ID           = 1,                    /* 自ノードアドレスID */
     105        ENOD_API_ID                     = 2,                    /* APIアドレスID */
     106        ENOD_REMOTE_ID          = 3,                    /* 他ノードアドレスID */
    126107} ECN_ENOD_ID;
    127108
    128 /* ECHONET Lite規格 */
     109/* ECHONET Lite規格 */
    129110typedef enum
    130111{
     
    132113} ECN_EHD1_ECL_VERSION;
    133114
    134 /* 電文形式1/2 */
     115/* 電文形式1/2 */
    135116typedef enum
    136117{
    137         ECN_EDH2_FORMAT_1 = 0x81,       /* 電文形式1 */
    138         ECN_EDH2_FORMAT_2 = 0x82        /* 電文形式2 */
     118        ECN_EDH2_FORMAT_1 = 0x81,       /* 電文形式1 */
     119        ECN_EDH2_FORMAT_2 = 0x82        /* 電文形式2 */
    139120} ECN_EHD2_FORMAT;
    140121
    141 /* ECHONET Liteサービスコード */
     122/* ECHONET Liteサービスコード */
    142123typedef enum _echonet_service_code
    143124{
    144         ESV_NOP                         =       0,              /* (機能指定なし)                                                 */
    145         ESV_SET_I                       =       0x60,   /* プロパティ値書き込み要求(応答不要)               */
    146         ESV_SET_C                       =       0x61,   /* プロパティ値書き込み要求(応答要)          */
    147         ESV_GET                         =       0x62,   /* プロパティ値読み出し要求                                 */
    148         ESV_INF_REQ                     =       0x63,   /* プロパティ値通知要求                                               */
    149         ESV_SET_GET                     =       0x6E,   /* プロパティ値書き込み・読み出し要求          */
    150         ESV_SET_RES                     =       0x71,   /* プロパティ値書き込み応答                                 */
    151         ESV_GET_RES                     =       0x72,   /* プロパティ値読み出し応答                                 */
    152         ESV_INF                         =       0x73,   /* プロパティ値通知                                                     */
    153         ESV_INFC                        =       0x74,   /* プロパティ値通知(応答要)                              */
    154         ESV_INFC_RES            =       0x7A,   /* プロパティ値通知応答                                               */
    155         ESV_SET_GET_RES         =       0x7E,   /* プロパティ値書き込み・読み出し応答          */
    156         ESV_SET_I_SNA           =       0x50,   /* プロパティ値書き込み要求不可応答                     */
    157         ESV_SET_C_SNA           =       0x51,   /* プロパティ値書き込み要求不可応答                     */
    158         ESV_GET_SNA                     =       0x52,   /* プロパティ値読み出し不可応答                           */
    159         ESV_INF_SNA                     =       0x53,   /* プロパティ値通知不可応答                                 */
    160         ESV_SET_GET_SNA         =       0x5E    /* プロパティ値書き込み・読み出し不可応答    */
     125        ESV_NOP                         =       0,              /* (機能指定なし)                                                     */
     126        ESV_SET_I                       =       0x60,   /* プロパティ値書き込み要求(応答不要)           */
     127        ESV_SET_C                       =       0x61,   /* プロパティ値書き込み要求(応答要)            */
     128        ESV_GET                         =       0x62,   /* プロパティ値読み出し要求                                 */
     129        ESV_INF_REQ                     =       0x63,   /* プロパティ値通知要求                                           */
     130        ESV_SET_GET                     =       0x6E,   /* プロパティ値書き込み・読み出し要求            */
     131        ESV_SET_RES                     =       0x71,   /* プロパティ値書き込み応答                                 */
     132        ESV_GET_RES                     =       0x72,   /* プロパティ値読み出し応答                                 */
     133        ESV_INF                         =       0x73,   /* プロパティ値通知                                                     */
     134        ESV_INFC                        =       0x74,   /* プロパティ値通知(応答要)                                */
     135        ESV_INFC_RES            =       0x7A,   /* プロパティ値通知応答                                           */
     136        ESV_SET_GET_RES         =       0x7E,   /* プロパティ値書き込み・読み出し応答            */
     137        ESV_SET_I_SNA           =       0x50,   /* プロパティ値書き込み要求不可応答                     */
     138        ESV_SET_C_SNA           =       0x51,   /* プロパティ値書き込み要求不可応答                     */
     139        ESV_GET_SNA                     =       0x52,   /* プロパティ値読み出し不可応答                               */
     140        ESV_INF_SNA                     =       0x53,   /* プロパティ値通知不可応答                                 */
     141        ESV_SET_GET_SNA         =       0x5E    /* プロパティ値書き込み・読み出し不可応答  */
    161142} ECN_SRV_CODE;
    162143
     
    173154
    174155/*
    175  *  ECHONET Lite電文ヘッダー
     156 *  ECHONET Lite電文ヘッダー
    176157 */
    177158typedef struct
    178159{
    179         uint8_t ehd1;           /* ECHONET Lite電文ヘッダー1 ECN_EHD1_ECL_VERSION */
    180         uint8_t ehd2;           /* ECHONET Lite電文ヘッダー2 ECN_EHD2_FORMAT */
    181         uint16_t        tid;    /* トランザクションID */
     160        uint8_t ehd1;           /* ECHONET Lite電文ヘッダー1 ECN_EHD1_ECL_VERSION */
     161        uint8_t ehd2;           /* ECHONET Lite電文ヘッダー2 ECN_EHD2_FORMAT */
     162        uint16_t        tid;    /* トランザクションID */
    182163} __attribute__((packed)) T_ECN_HDR;
    183164
    184165/*
    185  *  ECHONET Liteオブジェクトコード
     166 *  ECHONET Liteオブジェクトコード
    186167 */
    187168typedef struct
    188169{
    189         uint8_t eojx1;          /* クラスグループコード */
    190         uint8_t eojx2;          /* クラスコード */
    191         uint8_t eojx3;          /* インスタンスコード */
     170        uint8_t eojx1;          /* クラスグループコード */
     171        uint8_t eojx2;          /* クラスコード */
     172        uint8_t eojx3;          /* インスタンスコード */
    192173} __attribute__((packed)) T_ECN_EOJ;
    193174
    194175/*
    195  *  ECHONET Liteデータヘッダー
     176 *  ECHONET Liteデータヘッダー
    196177 */
    197178typedef struct
    198179{
    199         T_ECN_EOJ       seoj;   /* 送信å
    200 ƒECHONET Liteオブジェクト指定 */
    201         T_ECN_EOJ       deoj;   /* 相手å
    202 ˆECHONET Liteオブジェクト指定 */
    203         uint8_t esv;            /* ECHONET Liteサービス (ECN_SRV_CODE) */
    204         uint8_t opc;            /* 処理プロパティ数 */
     180        T_ECN_EOJ       seoj;   /* 送信元ECHONET Liteオブジェクト指定 */
     181        T_ECN_EOJ       deoj;   /* 相手先ECHONET Liteオブジェクト指定 */
     182        uint8_t esv;            /* ECHONET Liteサービス (ECN_SRV_CODE) */
     183        uint8_t opc;            /* 処理プロパティ数 */
    205184} __attribute__((packed)) T_ECN_EDATA_BODY;
    206185
    207186/*
    208  *  ECHONET Liteプロパティ
     187 *  ECHONET Liteプロパティ
    209188 */
    210189typedef struct
    211190{
    212         uint8_t epc;            /* ECHONET Liteプロパティコード */
    213         uint8_t pdc;            /* EDTのバイト数 */
    214         /*void  *p_edt;*/       /* プロパティ値データ */
     191        uint8_t epc;            /* ECHONET Liteプロパティコード */
     192        uint8_t pdc;            /* EDTのバイト数 */
     193        /*void  *p_edt;*/       /* プロパティ値データ */
    215194} __attribute__((packed)) T_ECN_PRP;
    216195
    217196/*
    218  *  ECHONET Liteデータ
     197 *  ECHONET Liteデータ
    219198 */
    220199typedef struct
     
    226205
    227206/*
    228  *  ECHONET Lite 電文
     207 *  ECHONET Lite 電文
    229208 */
    230209typedef struct echonet_object_data
     
    246225
    247226/*
    248  *  応答電文解析イテレーター
     227 *  応答電文解析イテレーター
    249228 */
    250229typedef struct echonet_epc_enumerator
    251230{
    252231        T_EDATA *pk_esv;
    253         uint8_t count;                  /* 今読み取り中のブロックにあるプロパティ総数 */
    254         uint8_t got_ct;                 /* 今読み取り中のブロックで、読み取った数 */
    255         uint8_t next_blk_ct;    /* 後続ブロック数 */
    256         uint8_t is_eof;                 /* 終端に達した時、非0 */
     232        uint8_t count;                  /* 今読み取り中のブロックにあるプロパティ総数 */
     233        uint8_t got_ct;                 /* 今読み取り中のブロックで、読み取った数 */
     234        uint8_t next_blk_ct;    /* 後続ブロック数 */
     235        uint8_t is_eof;                 /* 終端に達した時、非0 */
    257236        int cur;
    258237} T_ENUM_EPC;
     
    263242
    264243/*
    265  * ECHONET Lite プロパティの設定関数
     244 * ECHONET Lite プロパティの設定関数
    266245 */
    267246typedef int (EPRP_SETTER)(ecnl_svc_task_t *svc, const EPRPINIB *item, const void *src, int size, bool_t *anno);
    268247
    269248/*
    270  * ECHONET Lite プロパティの取得関数
     249 * ECHONET Lite プロパティの取得関数
    271250 */
    272251typedef int (EPRP_GETTER)(ecnl_svc_task_t *svc, const EPRPINIB *item, void *dst, int size);
    273252
    274253/*
    275  *  ECHONET Lite プロパティ初期化ブロック
     254 *  ECHONET Lite プロパティ初期化ブロック
    276255 */
    277256struct echonet_property_initialization_block
    278257{
    279         uint8_t         eprpcd;                 /* ECHONET Lite プロパティコード */
    280         ATR                     eprpatr;                /* ECHONET Lite プロパティ属性 */
    281         uint8_t         eprpsz;                 /* ECHONET Lite プロパティのサイズ */
    282         intptr_t        exinf;                  /* ECHONET Lite プロパティの拡張æƒ
    283 å ± */
    284         EPRP_SETTER     *eprpset;               /* ECHONET Lite プロパティの設定関数 */
    285         EPRP_GETTER     *eprpget;               /* ECHONET Lite プロパティの取得関数 */
     258        uint8_t         eprpcd;                 /* ECHONET Lite プロパティコード */
     259        ATR                     eprpatr;                /* ECHONET Lite プロパティ属性 */
     260        uint8_t         eprpsz;                 /* ECHONET Lite プロパティのサイズ */
     261        intptr_t        exinf;                  /* ECHONET Lite プロパティの拡張情報 */
     262        EPRP_SETTER     *eprpset;               /* ECHONET Lite プロパティの設定関数 */
     263        EPRP_GETTER     *eprpget;               /* ECHONET Lite プロパティの取得関数 */
    286264};
    287265
    288 #define TMIN_EOBJID             1               /* ECHONET Lite オブジェクトIDの最小値 */
    289 
    290 /*
    291  *  ECHONET Lite オブジェクト初期化ブロック
     266#define TMIN_EOBJID             1               /* ECHONET Lite オブジェクトIDの最小値 */
     267
     268/*
     269 *  ECHONET Lite オブジェクト初期化ブロック
    292270 */
    293271typedef struct echonet_object_initialization_block
    294272{
    295         ATR                     eobjatr;                /* ECHONET Lite オブジェクト属性 */
    296         ID                      enodid;                 /* ECHONET Lite ノードプロファイルオブジェクトID */
    297         intptr_t        exinf;                  /* ECHONET Lite オブジェクトの拡張æƒ
    298 å ± */
    299         uint8_t         eojx1;                  /* ECHONET Lite オブジェクトのクラスグループコード */
    300         uint8_t         eojx2;                  /* ECHONET Lite オブジェクトのクラスコード */
    301         uint8_t         eojx3;                  /* ECHONET Lite オブジェクトのインスタンスコード */
    302         const EPRPINIB **eprp;          /* ECHONET Lite プロパティ初期化ブロック */
    303         uint_t          eprpcnt;                /* ECHONET Lite プロパティ初期化ブロック数 */
     273        ATR                     eobjatr;                /* ECHONET Lite オブジェクト属性 */
     274        ID                      enodid;                 /* ECHONET Lite ノードプロファイルオブジェクトID */
     275        intptr_t        exinf;                  /* ECHONET Lite オブジェクトの拡張情報 */
     276        uint8_t         eojx1;                  /* ECHONET Lite オブジェクトのクラスグループコード */
     277        uint8_t         eojx2;                  /* ECHONET Lite オブジェクトのクラスコード */
     278        uint8_t         eojx3;                  /* ECHONET Lite オブジェクトのインスタンスコード */
     279        const EPRPINIB **eprp;          /* ECHONET Lite プロパティ初期化ブロック */
     280        uint_t          eprpcnt;                /* ECHONET Lite プロパティ初期化ブロック数 */
    304281} EOBJINIB;
    305282
    306283/*
    307  *  ECHONET Lite ノード管理ブロック
     284 *  ECHONET Lite ノード管理ブロック
    308285 */
    309286typedef struct echonet_object_control_block
    310287{
    311         const EOBJINIB *profile;        /* ECHONET Lite ノードプロファイルへのポインタ */
    312         const EOBJINIB **eobjs;         /* ECHONET Lite オブジェクトリストへのポインタ */
    313         uint_t          eobjcnt;                /* ECHONET Lite オブジェクト数 */
     288        const EOBJINIB *profile;        /* ECHONET Lite ノードプロファイルへのポインタ */
     289        const EOBJINIB **eobjs;         /* ECHONET Lite オブジェクトリストへのポインタ */
     290        uint_t          eobjcnt;                /* ECHONET Lite オブジェクト数 */
    314291} EOBJCB;
    315292
    316293/*
    317  *  ECHONET Lite オブジェクト機能の初期化
     294 *  ECHONET Lite オブジェクト機能の初期化
    318295 */
    319296extern void initialize_echonet_object(void);
     
    324301
    325302/*
    326  * ECHONET Liteサービス処理開始
     303 * ECHONET Liteサービス処理開始
    327304 */
    328305ER ecn_sta_svc(ecnl_svc_task_t *svc);
    329306
    330307/*
    331  * ECHONETオブジェクト参ç
    332 §
     308 * ECHONETオブジェクト参照
    333309 */
    334310ER ecn_ref_eobj(ecnl_svc_task_t *svc, ID eobjid, T_REOBJ *pk_eobj);
    335311
    336312/*
    337  * ECHONETプロパティ参ç
    338 §
     313 * ECHONETプロパティ参照
    339314 */
    340315ER ecn_ref_eprp(ecnl_svc_task_t *svc, ID eobjid, uint8_t epc, T_RPRP *pk_eprp);
    341316
    342317/*
    343  * プロパティ値書き込み要求(応答不要)電文作成
     318 * プロパティ値書き込み要求(応答不要)電文作成
    344319 */
    345320ER ecn_esv_seti(ecnl_svc_task_t *svc, T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt);
    346321
    347322/*
    348  * プロパティ値書き込み要求(応答要)電文作成
     323 * プロパティ値書き込み要求(応答要)電文作成
    349324 */
    350325ER ecn_esv_setc(ecnl_svc_task_t *svc, T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt);
    351326
    352327/*
    353  * プロパティ値読み出し要求電文作成
     328 * プロパティ値読み出し要求電文作成
    354329 */
    355330ER ecn_esv_get(ecnl_svc_task_t *svc, T_EDATA **ppk_esv, ID eobjid, uint8_t epc);
    356331
    357332/*
    358  * プロパティ値通知要求電文作成
     333 * プロパティ値通知要求電文作成
    359334 */
    360335ER ecn_esv_inf_req(ecnl_svc_task_t *svc, T_EDATA **ppk_esv, ID eobjid, uint8_t epc);
    361336
    362337/*
    363  * プロパティ値書き込み・読み出し要求電文作成
     338 * プロパティ値書き込み・読み出し要求電文作成
    364339 */
    365340ER ecn_esv_set_get(ecnl_svc_task_t *svc, T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt);
    366341
    367342/*
    368  * プロパティ値書き込み・読み出し要求電文折り返し指定
     343 * プロパティ値書き込み・読み出し要求電文折り返し指定
    369344 */
    370345ER ecn_trn_set_get(mrb_state *mrb, T_EDATA *pk_esv, int *p_trn_pos);
    371346
    372347/*
    373  * プロパティ値書き込み・読み出し要求電文終了指定
     348 * プロパティ値書き込み・読み出し要求電文終了指定
    374349 */
    375350ER ecn_end_set_get(mrb_state *mrb, T_EDATA *pk_esv, int trn_pos);
    376351
    377352/*
    378  * プロパティ値通知(応答要)電文作成
     353 * プロパティ値通知(応答要)電文作成
    379354 */
    380355ER ecn_esv_infc(ecnl_svc_task_t *svc, T_EDATA **ppk_esv, ID eobjid, ID seobjid, uint8_t sepc);
    381356
    382357/*
    383  * 要求電文へのプロパティ指定追加
     358 * 要求電文へのプロパティ指定追加
    384359 */
    385360ER ecn_add_epc(mrb_state *mrb, T_EDATA *pk_esv, uint8_t epc);
    386361
    387362/*
    388  * 要求電文へのプロパティデータ追加
     363 * 要求電文へのプロパティデータ追加
    389364 */
    390365ER ecn_add_edt(mrb_state *mrb, T_EDATA *pk_esv, uint8_t epc, uint8_t pdc, const void *p_edt);
    391366
    392367/*
    393  * 要求電文の送信
     368 * 要求電文の送信
    394369 */
    395370ER ecn_snd_esv(ecnl_svc_task_t *svc, T_EDATA *pk_esv);
    396371
    397372/*
    398  * 応答電文の受信ポーリング
     373 * 応答電文の受信ポーリング
    399374 */
    400375ER ecn_prcv_esv(ecnl_svc_task_t *svc, T_EDATA **ppk_esv);
    401376
    402377/*
    403  * 応答電文の破棄
     378 * 応答電文の破棄
    404379 */
    405380ER ecn_rel_esv(mrb_state *mrb, T_EDATA *pk_esv);
    406381
    407382/*
    408  * 応答電文の送信å
    409 ƒãƒŽãƒ¼ãƒ‰ã‚’取得する
     383 * 応答電文の送信元ノードを取得する
    410384 */
    411385ID ecn_get_enod(ecnl_svc_task_t *svc, T_EDATA *pk_esv);
    412386
    413387/*
    414  * 応答電文の送信å
    415 ƒæ©Ÿå™¨ã‚ªãƒ–ジェクトを取得する
     388 * 応答電文の送信元機器オブジェクトを取得する
    416389 */
    417390ID ecn_get_eobj(ecnl_svc_task_t *svc, T_EDATA *pk_esv);
    418391
    419392/*
    420  * 応答電文解析イテレーター初期化
     393 * 応答電文解析イテレーター初期化
    421394 */
    422395ER ecn_itr_ini(T_ENUM_EPC *pk_itr, T_EDATA *pk_esv);
    423396
    424397/*
    425  * 応答電文解析イテレーターインクリメント
     398 * 応答電文解析イテレーターインクリメント
    426399 */
    427400ER ecn_itr_nxt(mrb_state *mrb, T_ENUM_EPC *pk_itr, uint8_t *p_epc, uint8_t *p_pdc, void *p_edt);
    428401
    429402/*
    430  * 応答電文å¾
    431 ã¡ã®å‰²ã‚Šè¾¼ã¿é€ä¿¡
     403 * 応答電文待ちの割り込み送信
    432404 */
    433405ER ecn_brk_wai(ecnl_svc_task_t *svc, const void *p_dat, int datsz);
    434406
    435407/*
    436  * 割り込みデータの取得
     408 * 割り込みデータの取得
    437409 */
    438410ER ecn_get_brk_dat(mrb_state *mrb, T_EDATA *pk_esv, void *p_buf, int bufsz, int *p_datsz);
    439411
    440412/*
    441  * データ設定関数
     413 * データ設定関数
    442414 */
    443415int ecn_data_prop_set(ecnl_svc_task_t *svc, const EPRPINIB *item, const void *src, int size, bool_t *anno);
    444416
    445417/*
    446  * データ取得関数
     418 * データ取得関数
    447419 */
    448420int ecn_data_prop_get(ecnl_svc_task_t *svc, const EPRPINIB *item, void *dst, int size);
Note: See TracChangeset for help on using the changeset viewer.