Ignore:
Timestamp:
May 22, 2019, 10:03:37 PM (5 years ago)
Author:
coas-nagasima
Message:

ビルドが通るよう更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • azure_iot_hub/trunk/ntshell/echonet/echonet.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    44 *  Copyright (C) 2014 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 *  @(#) $Id$
     
    6853
    6954#define EOBJ_NULL 0x00
    70 #define EOBJ_LOCAL_NODE 0x01                    /* 自ノード */
    71 #define EOBJ_SYNC_REMOTE_NODE 0x02              /* 他ノード */
    72 #define EOBJ_ASYNC_REMOTE_NODE 0x04             /* 他ノード(非同期) */
    73 #define EOBJ_DEVICE 0x08                                /* 機器オブジェクト */
     55#define EOBJ_LOCAL_NODE 0x01                    /* 自ノード */
     56#define EOBJ_SYNC_REMOTE_NODE 0x02              /* 他ノード */
     57#define EOBJ_ASYNC_REMOTE_NODE 0x04             /* 他ノード(非同期) */
     58#define EOBJ_DEVICE 0x08                                /* 機器オブジェクト */
    7459
    7560#define EPC_NONE 0x00
    76 #define EPC_RULE_SET 0x01                               /* アクセスルール Set */
    77 #define EPC_RULE_GET 0x02                               /* アクセスルール Get */
    78 #define EPC_RULE_ANNO 0x04                              /* アクセスルール Anno */
    79 #define EPC_ANNOUNCE 0x40                               /* 状æ
    80 ‹å¤‰åŒ–時通知 */
    81 #define EPC_VARIABLE 0x80                               /* 可変長データ */
     61#define EPC_RULE_SET 0x01                               /* アクセスルール Set */
     62#define EPC_RULE_GET 0x02                               /* アクセスルール Get */
     63#define EPC_RULE_ANNO 0x04                              /* アクセスルール Anno */
     64#define EPC_ANNOUNCE 0x40                               /* 状態変化時通知 */
     65#define EPC_VARIABLE 0x80                               /* 可変長データ */
    8266
    8367typedef enum _echonet_enod_id
    8468{
    85         ENOD_NOT_MATCH_ID       = -1,                   /* アドレスID登録なし */
    86         ENOD_MULTICAST_ID       = 0,                    /* マルチキャストアドレスID */
    87         ENOD_LOCAL_ID           = 1,                    /* 自ノードアドレスID */
    88         ENOD_API_ID                     = 2,                    /* APIアドレスID */
    89         ENOD_REMOTE_ID          = 3,                    /* 他ノードアドレスID */
     69        ENOD_NOT_MATCH_ID       = -1,                   /* アドレスID登録なし */
     70        ENOD_MULTICAST_ID       = 0,                    /* マルチキャストアドレスID */
     71        ENOD_LOCAL_ID           = 1,                    /* 自ノードアドレスID */
     72        ENOD_API_ID                     = 2,                    /* APIアドレスID */
     73        ENOD_REMOTE_ID          = 3,                    /* 他ノードアドレスID */
    9074} ECN_ENOD_ID;
    9175
    92 /* ECHONET Lite規格 */
     76/* ECHONET Lite規格 */
    9377typedef enum
    9478{
     
    9680} ECN_EHD1_ECL_VERSION;
    9781
    98 /* 電文形式1/2 */
     82/* 電文形式1/2 */
    9983typedef enum
    10084{
    101         ECN_EDH2_FORMAT_1 = 0x81,       /* 電文形式1 */
    102         ECN_EDH2_FORMAT_2 = 0x82        /* 電文形式2 */
     85        ECN_EDH2_FORMAT_1 = 0x81,       /* 電文形式1 */
     86        ECN_EDH2_FORMAT_2 = 0x82        /* 電文形式2 */
    10387} ECN_EHD2_FORMAT;
    10488
    105 /* ECHONET Liteサービスコード */
     89/* ECHONET Liteサービスコード */
    10690typedef enum _echonet_service_code
    10791{
    108         ESV_NOP                         =       0,              /* (機能指定なし)                                                 */
    109         ESV_SET_I                       =       0x60,   /* プロパティ値書き込み要求(応答不要)               */
    110         ESV_SET_C                       =       0x61,   /* プロパティ値書き込み要求(応答要)          */
    111         ESV_GET                         =       0x62,   /* プロパティ値読み出し要求                                 */
    112         ESV_INF_REQ                     =       0x63,   /* プロパティ値通知要求                                               */
    113         ESV_SET_GET                     =       0x6E,   /* プロパティ値書き込み・読み出し要求          */
    114         ESV_SET_RES                     =       0x71,   /* プロパティ値書き込み応答                                 */
    115         ESV_GET_RES                     =       0x72,   /* プロパティ値読み出し応答                                 */
    116         ESV_INF                         =       0x73,   /* プロパティ値通知                                                     */
    117         ESV_INFC                        =       0x74,   /* プロパティ値通知(応答要)                              */
    118         ESV_INFC_RES            =       0x7A,   /* プロパティ値通知応答                                               */
    119         ESV_SET_GET_RES         =       0x7E,   /* プロパティ値書き込み・読み出し応答          */
    120         ESV_SET_I_SNA           =       0x50,   /* プロパティ値書き込み要求不可応答                     */
    121         ESV_SET_C_SNA           =       0x51,   /* プロパティ値書き込み要求不可応答                     */
    122         ESV_GET_SNA                     =       0x52,   /* プロパティ値読み出し不可応答                           */
    123         ESV_INF_SNA                     =       0x53,   /* プロパティ値通知不可応答                                 */
    124         ESV_SET_GET_SNA         =       0x5E    /* プロパティ値書き込み・読み出し不可応答    */
     92        ESV_NOP                         =       0,              /* (機能指定なし)                                                     */
     93        ESV_SET_I                       =       0x60,   /* プロパティ値書き込み要求(応答不要)           */
     94        ESV_SET_C                       =       0x61,   /* プロパティ値書き込み要求(応答要)            */
     95        ESV_GET                         =       0x62,   /* プロパティ値読み出し要求                                 */
     96        ESV_INF_REQ                     =       0x63,   /* プロパティ値通知要求                                           */
     97        ESV_SET_GET                     =       0x6E,   /* プロパティ値書き込み・読み出し要求            */
     98        ESV_SET_RES                     =       0x71,   /* プロパティ値書き込み応答                                 */
     99        ESV_GET_RES                     =       0x72,   /* プロパティ値読み出し応答                                 */
     100        ESV_INF                         =       0x73,   /* プロパティ値通知                                                     */
     101        ESV_INFC                        =       0x74,   /* プロパティ値通知(応答要)                                */
     102        ESV_INFC_RES            =       0x7A,   /* プロパティ値通知応答                                           */
     103        ESV_SET_GET_RES         =       0x7E,   /* プロパティ値書き込み・読み出し応答            */
     104        ESV_SET_I_SNA           =       0x50,   /* プロパティ値書き込み要求不可応答                     */
     105        ESV_SET_C_SNA           =       0x51,   /* プロパティ値書き込み要求不可応答                     */
     106        ESV_GET_SNA                     =       0x52,   /* プロパティ値読み出し不可応答                               */
     107        ESV_INF_SNA                     =       0x53,   /* プロパティ値通知不可応答                                 */
     108        ESV_SET_GET_SNA         =       0x5E    /* プロパティ値書き込み・読み出し不可応答  */
    125109} ECN_SRV_CODE;
    126110
    127111/*
    128  *  ECHONET Lite電文ヘッダー
     112 *  ECHONET Lite電文ヘッダー
    129113 */
    130114typedef struct
    131115{
    132         uint8_t ehd1;           /* ECHONET Lite電文ヘッダー1 ECN_EHD1_ECL_VERSION */
    133         uint8_t ehd2;           /* ECHONET Lite電文ヘッダー2 ECN_EHD2_FORMAT */
    134         uint16_t        tid;    /* トランザクションID */
     116        uint8_t ehd1;           /* ECHONET Lite電文ヘッダー1 ECN_EHD1_ECL_VERSION */
     117        uint8_t ehd2;           /* ECHONET Lite電文ヘッダー2 ECN_EHD2_FORMAT */
     118        uint16_t        tid;    /* トランザクションID */
    135119} __attribute__((packed)) T_ECN_HDR;
    136120
    137121/*
    138  *  ECHONET Liteオブジェクトコード
     122 *  ECHONET Liteオブジェクトコード
    139123 */
    140124typedef struct
    141125{
    142         uint8_t eojx1;          /* クラスグループコード */
    143         uint8_t eojx2;          /* クラスコード */
    144         uint8_t eojx3;          /* インスタンスコード */
     126        uint8_t eojx1;          /* クラスグループコード */
     127        uint8_t eojx2;          /* クラスコード */
     128        uint8_t eojx3;          /* インスタンスコード */
    145129} __attribute__((packed)) T_ECN_EOJ;
    146130
    147131/*
    148  *  ECHONET Liteデータヘッダー
     132 *  ECHONET Liteデータヘッダー
    149133 */
    150134typedef struct
    151135{
    152         T_ECN_EOJ       seoj;   /* 送信å
    153 ƒECHONET Liteオブジェクト指定 */
    154         T_ECN_EOJ       deoj;   /* 相手å
    155 ˆECHONET Liteオブジェクト指定 */
    156         uint8_t esv;            /* ECHONET Liteサービス (ECN_SRV_CODE) */
    157         uint8_t opc;            /* 処理プロパティ数 */
     136        T_ECN_EOJ       seoj;   /* 送信元ECHONET Liteオブジェクト指定 */
     137        T_ECN_EOJ       deoj;   /* 相手先ECHONET Liteオブジェクト指定 */
     138        uint8_t esv;            /* ECHONET Liteサービス (ECN_SRV_CODE) */
     139        uint8_t opc;            /* 処理プロパティ数 */
    158140} __attribute__((packed)) T_ECN_EDATA_BODY;
    159141
    160142/*
    161  *  ECHONET Liteプロパティ
     143 *  ECHONET Liteプロパティ
    162144 */
    163145typedef struct
    164146{
    165         uint8_t epc;            /* ECHONET Liteプロパティコード */
    166         uint8_t pdc;            /* EDTのバイト数 */
    167         /*void  *p_edt;*/       /* プロパティ値データ */
     147        uint8_t epc;            /* ECHONET Liteプロパティコード */
     148        uint8_t pdc;            /* EDTのバイト数 */
     149        /*void  *p_edt;*/       /* プロパティ値データ */
    168150} __attribute__((packed)) T_ECN_PRP;
    169151
    170152/*
    171  *  ECHONET Liteデータ
     153 *  ECHONET Liteデータ
    172154 */
    173155typedef struct
     
    179161
    180162/*
    181  *  ECHONET Lite 電文
     163 *  ECHONET Lite 電文
    182164 */
    183165typedef struct echonet_object_data
     
    189171
    190172/*
    191  *  応答電文解析イテレーター
     173 *  応答電文解析イテレーター
    192174 */
    193175typedef struct echonet_epc_enumerator
    194176{
    195177        T_EDATA *pk_esv;
    196         uint8_t count;                  /* 今読み取り中のブロックにあるプロパティ総数 */
    197         uint8_t got_ct;                 /* 今読み取り中のブロックで、読み取った数 */
    198         uint8_t next_blk_ct;    /* 後続ブロック数 */
    199         uint8_t is_eof;                 /* 終端に達した時、非0 */
     178        uint8_t count;                  /* 今読み取り中のブロックにあるプロパティ総数 */
     179        uint8_t got_ct;                 /* 今読み取り中のブロックで、読み取った数 */
     180        uint8_t next_blk_ct;    /* 後続ブロック数 */
     181        uint8_t is_eof;                 /* 終端に達した時、非0 */
    200182        int cur;
    201183} T_ENUM_EPC;
     
    204186
    205187/*
    206  * ECHONET Lite プロパティの設定関数
     188 * ECHONET Lite プロパティの設定関数
    207189 */
    208190typedef int (EPRP_SETTER)(const EPRPINIB *item, const void *src, int size, bool_t *anno);
    209191
    210192/*
    211  * ECHONET Lite プロパティの取得関数
     193 * ECHONET Lite プロパティの取得関数
    212194 */
    213195typedef int (EPRP_GETTER)(const EPRPINIB *item, void *dst, int size);
    214196
    215197/*
    216  *  ECHONET Lite プロパティ初期化ブロック
     198 *  ECHONET Lite プロパティ初期化ブロック
    217199 */
    218200struct echonet_property_initialization_block
    219201{
    220         uint8_t         eprpcd;                 /* ECHONET Lite プロパティコード */
    221         ATR                     eprpatr;                /* ECHONET Lite プロパティ属性 */
    222         uint8_t         eprpsz;                 /* ECHONET Lite プロパティのサイズ */
    223         intptr_t        exinf;                  /* ECHONET Lite プロパティの拡張æƒ
    224 å ± */
    225         EPRP_SETTER     *eprpset;               /* ECHONET Lite プロパティの設定関数 */
    226         EPRP_GETTER     *eprpget;               /* ECHONET Lite プロパティの取得関数 */
     202        uint8_t         eprpcd;                 /* ECHONET Lite プロパティコード */
     203        ATR                     eprpatr;                /* ECHONET Lite プロパティ属性 */
     204        uint8_t         eprpsz;                 /* ECHONET Lite プロパティのサイズ */
     205        intptr_t        exinf;                  /* ECHONET Lite プロパティの拡張情報 */
     206        EPRP_SETTER     *eprpset;               /* ECHONET Lite プロパティの設定関数 */
     207        EPRP_GETTER     *eprpget;               /* ECHONET Lite プロパティの取得関数 */
    227208};
    228209
    229 #define TMIN_EOBJID             1               /* ECHONET Lite オブジェクトIDの最小値 */
    230 
    231 /*
    232  *  ECHONET Lite オブジェクト初期化ブロック
     210#define TMIN_EOBJID             1               /* ECHONET Lite オブジェクトIDの最小値 */
     211
     212/*
     213 *  ECHONET Lite オブジェクト初期化ブロック
    233214 */
    234215typedef struct echonet_object_initialization_block
    235216{
    236         ATR                     eobjatr;                /* ECHONET Lite オブジェクト属性 */
    237         ID                      enodid;                 /* ECHONET Lite ノードプロファイルオブジェクトID */
    238         intptr_t        exinf;                  /* ECHONET Lite オブジェクトの拡張æƒ
    239 å ± */
    240         uint8_t         eojx1;                  /* ECHONET Lite オブジェクトのクラスグループコード */
    241         uint8_t         eojx2;                  /* ECHONET Lite オブジェクトのクラスコード */
    242         uint8_t         eojx3;                  /* ECHONET Lite オブジェクトのインスタンスコード */
    243         const EPRPINIB *eprp;           /* ECHONET Lite プロパティ初期化ブロック */
    244         uint_t          eprpcnt;                /* ECHONET Lite プロパティ初期化ブロック数 */
     217        ATR                     eobjatr;                /* ECHONET Lite オブジェクト属性 */
     218        ID                      enodid;                 /* ECHONET Lite ノードプロファイルオブジェクトID */
     219        intptr_t        exinf;                  /* ECHONET Lite オブジェクトの拡張情報 */
     220        uint8_t         eojx1;                  /* ECHONET Lite オブジェクトのクラスグループコード */
     221        uint8_t         eojx2;                  /* ECHONET Lite オブジェクトのクラスコード */
     222        uint8_t         eojx3;                  /* ECHONET Lite オブジェクトのインスタンスコード */
     223        const EPRPINIB *eprp;           /* ECHONET Lite プロパティ初期化ブロック */
     224        uint_t          eprpcnt;                /* ECHONET Lite プロパティ初期化ブロック数 */
    245225} EOBJINIB;
    246226
    247227/*
    248  *  ECHONET Lite ノード管理ブロック
     228 *  ECHONET Lite ノード管理ブロック
    249229 */
    250230typedef struct echonet_object_control_block
    251231{
    252         const EOBJINIB *profile;        /* ECHONET Lite ノードプロファイルへのポインタ */
    253         const EOBJINIB **eobjs;         /* ECHONET Lite オブジェクトリストへのポインタ */
    254         uint_t          eobjcnt;                /* ECHONET Lite オブジェクト数 */
     232        const EOBJINIB *profile;        /* ECHONET Lite ノードプロファイルへのポインタ */
     233        const EOBJINIB **eobjs;         /* ECHONET Lite オブジェクトリストへのポインタ */
     234        uint_t          eobjcnt;                /* ECHONET Lite オブジェクト数 */
    255235} EOBJCB;
    256236
    257237/*
    258  *  ECHONET Lite ノードとIPアドレスの対応æƒ
    259 å ±ãƒ–ロックの定義
     238 *  ECHONET Lite ノードとIPアドレスの対応情報ブロックの定義
    260239 */
    261240typedef struct echonet_node_address_block
    262241{
    263         bool_t          inuse;                  /* 使用状況 */
    264         uint8_t         ipaddr[16];             /* IPアドレス */
     242        bool_t          inuse;                  /* 使用状況 */
     243        uint8_t         ipaddr[16];             /* IPアドレス */
    265244} ENODADRB;
    266245
    267246/*
    268  *  ECHONET Lite オブジェクトIDの最大値(echonet_cfg.c)
     247 *  ECHONET Lite オブジェクトIDの最大値(echonet_cfg.c)
    269248 */
    270249extern const ID tmax_eobjid;
    271250
    272251/*
    273  *  ECHONET Lite オブジェクト初期化ブロックのエリア(echonet_cfg.c)
     252 *  ECHONET Lite オブジェクト初期化ブロックのエリア(echonet_cfg.c)
    274253 */
    275254extern const EOBJINIB   eobjinib_table[];
    276255
    277256/*
    278  *  ECHONET Liteノード管理ブロックの数
     257 *  ECHONET Liteノード管理ブロックの数
    279258 */
    280259extern const int tnum_enodid;
    281260
    282261/*
    283  *  ECHONET Lite オブジェクト管理ブロックのエリア(echonet_cfg.c)
     262 *  ECHONET Lite オブジェクト管理ブロックのエリア(echonet_cfg.c)
    284263 */
    285264extern EOBJCB   eobjcb_table[];
    286265
    287266/*
    288  * ECHONET LiteノードとIPアドレスの対応æƒ
    289 å ±ã®æ•°
     267 * ECHONET LiteノードとIPアドレスの対応情報の数
    290268 */
    291269extern const int tnum_enodadr;
    292270
    293271/*
    294  *  ECHONET Lite ノードとIPアドレスの対応æƒ
    295 å ±ãƒ–ロックのエリア(echonet_cfg.c)
     272 *  ECHONET Lite ノードとIPアドレスの対応情報ブロックのエリア(echonet_cfg.c)
    296273 */
    297274extern ENODADRB enodadrb_table[];
    298275
    299276/*
    300  * ECHONET Lite カーネルオブジェクトID
     277 * ECHONET Lite カーネルオブジェクトID
    301278 */
    302279extern const ID ecn_svc_taskid;
     
    311288
    312289/*
    313  *  ECHONET Lite オブジェクト管理ブロックからECHONET Lite オブジェクトIDを取り出すためのマクロ
     290 *  ECHONET Lite オブジェクト管理ブロックからECHONET Lite オブジェクトIDを取り出すためのマクロ
    314291 */
    315292#define EOBJID(p_eobjcb)        ((ID)(((p_eobjcb) - eobjcb_table) + TMIN_EOBJID))
    316293
    317294/*
    318  *  ECHONET Lite オブジェクト機能の初期化
     295 *  ECHONET Lite オブジェクト機能の初期化
    319296 */
    320297extern void     initialize_echonet_object(void);
     
    327304
    328305/*
    329  * ECHONET Liteサービス処理開始
     306 * ECHONET Liteサービス処理開始
    330307 */
    331308ER ecn_sta_svc();
    332309
    333310/*
    334  * インスタンスリスト通知の送信
     311 * インスタンスリスト通知の送信
    335312 */
    336313ER ecn_ntf_inl();
    337314
    338315/*
    339  * ECHONETオブジェクト参ç
    340 §
     316 * ECHONETオブジェクト参照
    341317 */
    342318ER ecn_ref_eobj(ID eobjid, T_REOBJ *pk_eobj);
    343319
    344320/*
    345  * ECHONETプロパティ参ç
    346 §
     321 * ECHONETプロパティ参照
    347322 */
    348323ER ecn_ref_eprp(ID eobjid, uint8_t epc, T_RPRP *pk_eprp);
    349324
    350325/*
    351  * プロパティ値書き込み要求(応答不要)電文作成
     326 * プロパティ値書き込み要求(応答不要)電文作成
    352327 */
    353328ER ecn_esv_seti(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt);
    354329
    355330/*
    356  * プロパティ値書き込み要求(応答要)電文作成
     331 * プロパティ値書き込み要求(応答要)電文作成
    357332 */
    358333ER ecn_esv_setc(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt);
    359334
    360335/*
    361  * プロパティ値読み出し要求電文作成
     336 * プロパティ値読み出し要求電文作成
    362337 */
    363338ER ecn_esv_get(T_EDATA **ppk_esv, ID eobjid, uint8_t epc);
    364339
    365340/*
    366  * プロパティ値通知要求電文作成
     341 * プロパティ値通知要求電文作成
    367342 */
    368343ER ecn_esv_inf_req(T_EDATA **ppk_esv, ID eobjid, uint8_t epc);
    369344
    370345/*
    371  * プロパティ値書き込み・読み出し要求電文作成
     346 * プロパティ値書き込み・読み出し要求電文作成
    372347 */
    373348ER ecn_esv_set_get(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt);
    374349
    375350/*
    376  * プロパティ値書き込み・読み出し要求電文折り返し指定
     351 * プロパティ値書き込み・読み出し要求電文折り返し指定
    377352 */
    378353ER ecn_trn_set_get(T_EDATA *pk_esv, int *p_trn_pos);
    379354
    380355/*
    381  * プロパティ値書き込み・読み出し要求電文終了指定
     356 * プロパティ値書き込み・読み出し要求電文終了指定
    382357 */
    383358ER ecn_end_set_get(T_EDATA *pk_esv, int trn_pos);
    384359
    385360/*
    386  * プロパティ値通知(応答要)電文作成
     361 * プロパティ値通知(応答要)電文作成
    387362 */
    388363ER ecn_esv_infc(T_EDATA **ppk_esv, ID eobjid, ID seobjid, uint8_t sepc);
    389364
    390365/*
    391  * 要求電文へのプロパティ指定追加
     366 * 要求電文へのプロパティ指定追加
    392367 */
    393368ER ecn_add_epc(T_EDATA *pk_esv, uint8_t epc);
    394369
    395370/*
    396  * 要求電文へのプロパティデータ追加
     371 * 要求電文へのプロパティデータ追加
    397372 */
    398373ER ecn_add_edt(T_EDATA *pk_esv, uint8_t epc, uint8_t pdc, const void *p_edt);
    399374
    400375/*
    401  * 要求電文の送信
     376 * 要求電文の送信
    402377 */
    403378ER ecn_snd_esv(T_EDATA *pk_esv);
    404379
    405380/*
    406  * 応答電文の受信永遠å¾
    407 ã¡
     381 * 応答電文の受信永遠待ち
    408382 */
    409383ER ecn_rcv_esv(T_EDATA **ppk_esv);
    410384
    411385/*
    412  * 応答電文の受信å¾
    413 ã¡ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚ã‚Š
     386 * 応答電文の受信待ちタイムアウトあり
    414387 */
    415388ER ecn_trcv_esv(T_EDATA **ppk_esv, int tmout);
    416389
    417390/*
    418  * 応答電文の受信ポーリング
     391 * 応答電文の受信ポーリング
    419392 */
    420393ER ecn_prcv_esv(T_EDATA **ppk_esv);
    421394
    422395/*
    423  * 応答電文の破棄
     396 * 応答電文の破棄
    424397 */
    425398ER ecn_rel_esv(T_EDATA *pk_esv);
    426399
    427400/*
    428  * 応答電文の送信å
    429 ƒãƒŽãƒ¼ãƒ‰ã‚’取得する
     401 * 応答電文の送信元ノードを取得する
    430402 */
    431403ID ecn_get_enod(T_EDATA *pk_esv);
    432404
    433405/*
    434  * 応答電文の送信å
    435 ƒæ©Ÿå™¨ã‚ªãƒ–ジェクトを取得する
     406 * 応答電文の送信元機器オブジェクトを取得する
    436407 */
    437408ID ecn_get_eobj(T_EDATA *pk_esv);
    438409
    439410/*
    440  * 応答電文解析イテレーター初期化
     411 * 応答電文解析イテレーター初期化
    441412 */
    442413ER ecn_itr_ini(T_ENUM_EPC *pk_itr, T_EDATA *pk_esv);
    443414
    444415/*
    445  * 応答電文解析イテレーターインクリメント
     416 * 応答電文解析イテレーターインクリメント
    446417 */
    447418ER ecn_itr_nxt(T_ENUM_EPC *pk_itr, uint8_t *p_epc, uint8_t *p_pdc, void *p_edt);
    448419
    449420/*
    450  * 応答電文å¾
    451 ã¡ã®å‰²ã‚Šè¾¼ã¿é€ä¿¡
     421 * 応答電文待ちの割り込み送信
    452422 */
    453423ER ecn_brk_wai(const void *p_dat, int datsz);
    454424
    455425/*
    456  * 割り込みデータの取得
     426 * 割り込みデータの取得
    457427 */
    458428ER ecn_get_brk_dat(T_EDATA *pk_esv, void *p_buf, int bufsz, int *p_datsz);
    459429
    460430/*
    461  * データ設定関数
     431 * データ設定関数
    462432 */
    463433int ecn_data_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno);
    464434
    465435/*
    466  * データ取得関数
     436 * データ取得関数
    467437 */
    468438int ecn_data_prop_get(const EPRPINIB *item, void *dst, int size);
Note: See TracChangeset for help on using the changeset viewer.