Changeset 167 for UsbWattMeter/trunk/ecnl_lwip/echonet.h
- Timestamp:
- Mar 8, 2016, 8:37:45 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
UsbWattMeter/trunk/ecnl_lwip/echonet.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=SHIFT_JIS
r164 r167 4 4 * Copyright (C) 2014-2016 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêĢ鱯D 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL 17 * Ì³ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pūȢ`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 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 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 57 53 58 54 #define EOBJ_NULL 0x00 59 #define EOBJ_LOCAL_NODE 0x01 /* ©m[h*/60 #define EOBJ_SYNC_REMOTE_NODE 0x02 /* ¼m[h*/61 #define EOBJ_ASYNC_REMOTE_NODE 0x04 /* ¼m[hiñ¯új*/62 #define EOBJ_DEVICE 0x08 /* @íIuWFNg*/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 /* 機器オブジェクト */ 63 59 64 60 #define EPC_NONE 0x00 65 #define EPC_RULE_SET 0x01 /* ANZX[Set */66 #define EPC_RULE_GET 0x02 /* ANZX[Get */67 #define EPC_RULE_ANNO 0x04 /* ANZX[Anno */68 #define EPC_ANNOUNCE 0x40 /* óÔÏ»Êm*/69 #define EPC_VARIABLE 0x80 /* ÂÏ·f[^*/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 /* 可変長データ */ 70 66 71 67 typedef enum _echonet_enod_id 72 68 { 73 69 ENOD_NOT_MATCH_ID = -1, 74 ENOD_MULTICAST_ID = 0, /* }`LXgAhXID */75 ENOD_LOCAL_ID = 1, /* ©m[hAhXID */76 ENOD_API_ID = 2, /* API AhXID */77 ENOD_REMOTE_ID = 3, /* ¼m[hAhXID */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 */ 78 74 } ECN_ENOD_ID; 79 75 80 /* ECHONET Lite Ki*/76 /* ECHONET Lite規格 */ 81 77 typedef enum 82 78 { … … 84 80 } ECN_EHD1_ECL_VERSION; 85 81 86 /* d¶`®1/2 */82 /* 電文形式1/2 */ 87 83 typedef enum 88 84 { 89 ECN_EDH2_FORMAT_1 = 0x81, /* d¶`®1 */90 ECN_EDH2_FORMAT_2 = 0x82 /* d¶`®2 */85 ECN_EDH2_FORMAT_1 = 0x81, /* 電文形式1 */ 86 ECN_EDH2_FORMAT_2 = 0x82 /* 電文形式2 */ 91 87 } ECN_EHD2_FORMAT; 92 88 93 /* ECHONET Lite T[rXR[h*/89 /* ECHONET Liteサービスコード */ 94 90 typedef enum _echonet_service_code 95 91 { 96 ESV_NOP = 0, /* ( @\wèȵ) */97 ESV_SET_I = 0x60, /* vpeBl«Ývisvj*/98 ESV_SET_C = 0x61, /* vpeBl«Ývivj*/99 ESV_GET = 0x62, /* vpeBlÇÝoµv*/100 ESV_INF_REQ = 0x63, /* vpeBlÊmv*/101 ESV_SET_GET = 0x6E, /* vpeBl«ÝEÇÝoµv*/102 ESV_SET_RES = 0x71, /* vpeBl«Ý*/103 ESV_GET_RES = 0x72, /* vpeBlÇÝoµ*/104 ESV_INF = 0x73, /* vpeBlÊm*/105 ESV_INFC = 0x74, /* vpeBlÊmivj*/106 ESV_INFC_RES = 0x7A, /* vpeBlÊm*/107 ESV_SET_GET_RES = 0x7E, /* vpeBl«ÝEÇÝoµ*/108 ESV_SET_I_SNA = 0x50, /* vpeBl«ÝvsÂ*/109 ESV_SET_C_SNA = 0x51, /* vpeBl«ÝvsÂ*/110 ESV_GET_SNA = 0x52, /* vpeBlÇÝoµsÂ*/111 ESV_INF_SNA = 0x53, /* vpeBlÊmsÂ*/112 ESV_SET_GET_SNA = 0x5E /* vpeBl«ÝEÇÝoµsÂ*/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 /* プロパティ値書き込み・読み出し不可応答 */ 113 109 } ECN_SRV_CODE; 114 110 … … 122 118 123 119 /* 124 * ECHONET Lite d¶wb_[120 * ECHONET Lite電文ヘッダー 125 121 */ 126 122 typedef struct 127 123 { 128 uint8_t ehd1; /* ECHONET Lite d¶wb_[1 ECN_EHD1_ECL_VERSION */129 uint8_t ehd2; /* ECHONET Lite d¶wb_[2 ECN_EHD2_FORMAT */130 uint16_t tid; /* gUNVID */124 uint8_t ehd1; /* ECHONET Lite電文ヘッダー1 ECN_EHD1_ECL_VERSION */ 125 uint8_t ehd2; /* ECHONET Lite電文ヘッダー2 ECN_EHD2_FORMAT */ 126 uint16_t tid; /* トランザクションID */ 131 127 } T_ECN_HDR; 132 128 133 129 /* 134 * ECHONET Lite IuWFNgR[h130 * ECHONET Liteオブジェクトコード 135 131 */ 136 132 typedef struct 137 133 { 138 uint8_t eojx1; /* NXO[vR[h*/139 uint8_t eojx2; /* NXR[h*/140 uint8_t eojx3; /* CX^XR[h*/134 uint8_t eojx1; /* クラスグループコード */ 135 uint8_t eojx2; /* クラスコード */ 136 uint8_t eojx3; /* インスタンスコード */ 141 137 } T_ECN_EOJ; 142 138 143 139 /* 144 * ECHONET Lite f[^wb_[140 * ECHONET Liteデータヘッダー 145 141 */ 146 142 typedef struct 147 143 { 148 T_ECN_EOJ seoj; /* M³ECHONET LiteIuWFNgwè*/149 T_ECN_EOJ deoj; /* èæECHONET LiteIuWFNgwè*/150 uint8_t esv; /* ECHONET Lite T[rX(ECN_SRV_CODE) */151 uint8_t opc; /* vpeB*/144 T_ECN_EOJ seoj; /* 送信元ECHONET Liteオブジェクト指定 */ 145 T_ECN_EOJ deoj; /* 相手先ECHONET Liteオブジェクト指定 */ 146 uint8_t esv; /* ECHONET Liteサービス (ECN_SRV_CODE) */ 147 uint8_t opc; /* 処理プロパティ数 */ 152 148 } T_ECN_EDATA_BODY; 153 149 154 150 /* 155 * ECHONET Lite vpeB151 * ECHONET Liteプロパティ 156 152 */ 157 153 typedef struct 158 154 { 159 uint8_t epc; /* ECHONET Lite vpeBR[h*/160 uint8_t pdc; /* EDT ÌoCg*/161 /*void *p_edt;*/ /* vpeBlf[^*/155 uint8_t epc; /* ECHONET Liteプロパティコード */ 156 uint8_t pdc; /* EDTのバイト数 */ 157 /*void *p_edt;*/ /* プロパティ値データ */ 162 158 } T_ECN_PRP; 163 159 164 160 /* 165 * ECHONET Lite f[^161 * ECHONET Liteデータ 166 162 */ 167 163 typedef struct … … 173 169 174 170 /* 175 * ECHONET Lite d¶171 * ECHONET Lite 電文 176 172 */ 177 173 typedef struct echonet_object_data … … 191 187 192 188 /* 193 * d¶ðÍCe[^[189 * 応答電文解析イテレーター 194 190 */ 195 191 typedef struct echonet_epc_enumerator 196 192 { 197 193 T_EDATA *pk_esv; 198 uint8_t count; /* ¡ÇÝæèÌubNÉ évpeB*/199 uint8_t got_ct; /* ¡ÇÝæèÌubNÅAÇÝæÁ½*/200 uint8_t next_blk_ct; /* ã±ubN*/201 uint8_t is_eof; /* I[ÉBµ½Añ0 */194 uint8_t count; /* 今読み取り中のブロックにあるプロパティ総数 */ 195 uint8_t got_ct; /* 今読み取り中のブロックで、読み取った数 */ 196 uint8_t next_blk_ct; /* 後続ブロック数 */ 197 uint8_t is_eof; /* 終端に達した時、非0 */ 202 198 int cur; 203 199 } T_ENUM_EPC; … … 206 202 207 203 /* 208 * ECHONET Lite vpeBÌÝèÖ204 * ECHONET Lite プロパティの設定関数 209 205 */ 210 206 typedef int (EPRP_SETTER)(const EPRPINIB *item, const void *src, int size, bool_t *anno); 211 207 212 208 /* 213 * ECHONET Lite vpeBÌæ¾Ö209 * ECHONET Lite プロパティの取得関数 214 210 */ 215 211 typedef int (EPRP_GETTER)(const EPRPINIB *item, void *dst, int size); 216 212 217 213 /* 218 * ECHONET Lite vpeBú»ubN214 * ECHONET Lite プロパティ初期化ブロック 219 215 */ 220 216 struct echonet_property_initialization_block 221 217 { 222 uint8_t eprpcd; /* ECHONET Lite vpeBR[h*/223 ATR eprpatr; /* ECHONET Lite vpeB®«*/224 uint8_t eprpsz; /* ECHONET Lite vpeBÌTCY*/225 intptr_t exinf; /* ECHONET Lite vpeBÌg£îñ*/226 EPRP_SETTER *eprpset; /* ECHONET Lite vpeBÌÝèÖ*/227 EPRP_GETTER *eprpget; /* ECHONET Lite vpeBÌæ¾Ö*/218 uint8_t eprpcd; /* ECHONET Lite プロパティコード */ 219 ATR eprpatr; /* ECHONET Lite プロパティ属性 */ 220 uint8_t eprpsz; /* ECHONET Lite プロパティのサイズ */ 221 intptr_t exinf; /* ECHONET Lite プロパティの拡張情報 */ 222 EPRP_SETTER *eprpset; /* ECHONET Lite プロパティの設定関数 */ 223 EPRP_GETTER *eprpget; /* ECHONET Lite プロパティの取得関数 */ 228 224 }; 229 225 230 #define TMIN_EOBJID 1 /* ECHONET Lite IuWFNgIDÌŬl*/231 232 /* 233 * ECHONET Lite IuWFNgú»ubN226 #define TMIN_EOBJID 1 /* ECHONET Lite オブジェクトIDの最小値 */ 227 228 /* 229 * ECHONET Lite オブジェクト初期化ブロック 234 230 */ 235 231 typedef struct echonet_object_initialization_block 236 232 { 237 ATR eobjatr; /* ECHONET Lite IuWFNg®«*/238 ID enodid; /* ECHONET Lite m[hvt@CIuWFNgID */239 intptr_t exinf; /* ECHONET Lite IuWFNgÌg£îñ*/240 uint8_t eojx1; /* ECHONET Lite IuWFNgÌNXO[vR[h*/241 uint8_t eojx2; /* ECHONET Lite IuWFNgÌNXR[h*/242 uint8_t eojx3; /* ECHONET Lite IuWFNgÌCX^XR[h*/243 const EPRPINIB *eprp; /* ECHONET Lite vpeBú»ubN*/244 uint_t eprpcnt; /* ECHONET Lite vpeBú»ubN*/233 ATR eobjatr; /* ECHONET Lite オブジェクト属性 */ 234 ID enodid; /* ECHONET Lite ノードプロファイルオブジェクトID */ 235 intptr_t exinf; /* ECHONET Lite オブジェクトの拡張情報 */ 236 uint8_t eojx1; /* ECHONET Lite オブジェクトのクラスグループコード */ 237 uint8_t eojx2; /* ECHONET Lite オブジェクトのクラスコード */ 238 uint8_t eojx3; /* ECHONET Lite オブジェクトのインスタンスコード */ 239 const EPRPINIB *eprp; /* ECHONET Lite プロパティ初期化ブロック */ 240 uint_t eprpcnt; /* ECHONET Lite プロパティ初期化ブロック数 */ 245 241 } EOBJINIB; 246 242 247 243 /* 248 * ECHONET Lite m[hÇubN244 * ECHONET Lite ノード管理ブロック 249 245 */ 250 246 typedef struct echonet_object_control_block 251 247 { 252 const EOBJINIB *profile; /* ECHONET Lite m[hvt@CÖÌ|C^*/253 const EOBJINIB **eobjs; /* ECHONET Lite IuWFNgXgÖÌ|C^*/254 uint_t eobjcnt; /* ECHONET Lite IuWFNg*/248 const EOBJINIB *profile; /* ECHONET Lite ノードプロファイルへのポインタ */ 249 const EOBJINIB **eobjs; /* ECHONET Lite オブジェクトリストへのポインタ */ 250 uint_t eobjcnt; /* ECHONET Lite オブジェクト数 */ 255 251 } EOBJCB; 256 252 257 253 /* 258 * ECHONET Lite m[hÆIPAhXÌÎîñubNÌè`254 * ECHONET Lite ノードとIPアドレスの対応情報ブロックの定義 259 255 */ 260 256 typedef struct echonet_node_address_block 261 257 { 262 bool_t inuse; /* gpóµ*/263 uint8_t ipaddr[16]; /* IP AhX*/258 bool_t inuse; /* 使用状況 */ 259 uint8_t ipaddr[16]; /* IPアドレス */ 264 260 } ENODADRB; 265 261 266 262 /* 267 * ECHONET Lite IuWFNgIDÌÅåliechonet_cfg.cj263 * ECHONET Lite オブジェクトIDの最大値(echonet_cfg.c) 268 264 */ 269 265 extern const ID tmax_eobjid; 270 266 271 267 /* 272 * ECHONET Lite IuWFNgú»ubNÌGAiechonet_cfg.cj268 * ECHONET Lite オブジェクト初期化ブロックのエリア(echonet_cfg.c) 273 269 */ 274 270 extern const EOBJINIB eobjinib_table[]; 275 271 276 272 /* 277 * ECHONET Lite m[hÇubNÌ273 * ECHONET Liteノード管理ブロックの数 278 274 */ 279 275 extern const int tnum_enodid; 280 276 281 277 /* 282 * ECHONET Lite IuWFNgÇubNÌGAiechonet_cfg.cj278 * ECHONET Lite オブジェクト管理ブロックのエリア(echonet_cfg.c) 283 279 */ 284 280 extern EOBJCB eobjcb_table[]; 285 281 286 282 /* 287 * ECHONET Lite m[hÆIPAhXÌÎîñÌ283 * ECHONET LiteノードとIPアドレスの対応情報の数 288 284 */ 289 285 extern const int tnum_enodadr; 290 286 291 287 /* 292 * ECHONET Lite m[hÆIPAhXÌÎîñubNÌGAiechonet_cfg.cj288 * ECHONET Lite ノードとIPアドレスの対応情報ブロックのエリア(echonet_cfg.c) 293 289 */ 294 290 extern ENODADRB enodadrb_table[]; 295 291 296 292 /* 297 * ECHONET Lite J[lIuWFNgID293 * ECHONET Lite カーネルオブジェクトID 298 294 */ 299 295 extern const ID ecn_svc_taskid; … … 306 302 307 303 /* 308 * ECHONET Lite IuWFNgÇubN©çECHONET Lite IuWFNgIDðæèo·½ßÌ}N304 * ECHONET Lite オブジェクト管理ブロックからECHONET Lite オブジェクトIDを取り出すためのマクロ 309 305 */ 310 306 #define EOBJID(p_eobjcb) ((ID)(((p_eobjcb) - eobjcb_table) + TMIN_EOBJID)) 311 307 312 308 /* 313 * ECHONET Lite IuWFNg@\Ìú»309 * ECHONET Lite オブジェクト機能の初期化 314 310 */ 315 311 extern void initialize_echonet_object(void); … … 322 318 323 319 /* 324 * ECHONET Lite T[rXJn320 * ECHONET Liteサービス処理開始 325 321 */ 326 322 ER ecn_sta_svc(); 327 323 328 324 /* 329 * ECHONET IuWFNgQÆ325 * ECHONETオブジェクト参照 330 326 */ 331 327 ER ecn_ref_eobj(ID eobjid, T_REOBJ *pk_eobj); 332 328 333 329 /* 334 * ECHONET vpeBQÆ330 * ECHONETプロパティ参照 335 331 */ 336 332 ER ecn_ref_eprp(ID eobjid, uint8_t epc, T_RPRP *pk_eprp); 337 333 338 334 /* 339 * vpeBl«Ývisvjd¶ì¬335 * プロパティ値書き込み要求(応答不要)電文作成 340 336 */ 341 337 ER ecn_esv_seti(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt); 342 338 343 339 /* 344 * vpeBl«Ývivjd¶ì¬340 * プロパティ値書き込み要求(応答要)電文作成 345 341 */ 346 342 ER ecn_esv_setc(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt); 347 343 348 344 /* 349 * vpeBlÇÝoµvd¶ì¬345 * プロパティ値読み出し要求電文作成 350 346 */ 351 347 ER ecn_esv_get(T_EDATA **ppk_esv, ID eobjid, uint8_t epc); 352 348 353 349 /* 354 * vpeBlÊmvd¶ì¬350 * プロパティ値通知要求電文作成 355 351 */ 356 352 ER ecn_esv_inf_req(T_EDATA **ppk_esv, ID eobjid, uint8_t epc); 357 353 358 354 /* 359 * vpeBl«ÝEÇÝoµvd¶ì¬355 * プロパティ値書き込み・読み出し要求電文作成 360 356 */ 361 357 ER ecn_esv_set_get(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt); 362 358 363 359 /* 364 * vpeBl«ÝEÇÝoµvd¶ÜèÔµwè360 * プロパティ値書き込み・読み出し要求電文折り返し指定 365 361 */ 366 362 ER ecn_trn_set_get(T_EDATA *pk_esv, int *p_trn_pos); 367 363 368 364 /* 369 * vpeBl«ÝEÇÝoµvd¶I¹wè365 * プロパティ値書き込み・読み出し要求電文終了指定 370 366 */ 371 367 ER ecn_end_set_get(T_EDATA *pk_esv, int trn_pos); 372 368 373 369 /* 374 * vpeBlÊmivjd¶ì¬370 * プロパティ値通知(応答要)電文作成 375 371 */ 376 372 ER ecn_esv_infc(T_EDATA **ppk_esv, ID eobjid, ID seobjid, uint8_t sepc); 377 373 378 374 /* 379 * vd¶ÖÌvpeBwèÇÁ375 * 要求電文へのプロパティ指定追加 380 376 */ 381 377 ER ecn_add_epc(T_EDATA *pk_esv, uint8_t epc); 382 378 383 379 /* 384 * vd¶ÖÌvpeBf[^ÇÁ380 * 要求電文へのプロパティデータ追加 385 381 */ 386 382 ER ecn_add_edt(T_EDATA *pk_esv, uint8_t epc, uint8_t pdc, const void *p_edt); 387 383 388 384 /* 389 * vd¶ÌM385 * 要求電文の送信 390 386 */ 391 387 ER ecn_snd_esv(T_EDATA *pk_esv); 392 388 393 389 /* 394 * d¶ÌóMiÒ¿390 * 応答電文の受信永遠待ち 395 391 */ 396 392 ER ecn_rcv_esv(T_EDATA **ppk_esv); 397 393 398 394 /* 399 * d¶ÌóMÒ¿^CAEg è395 * 応答電文の受信待ちタイムアウトあり 400 396 */ 401 397 ER ecn_trcv_esv(T_EDATA **ppk_esv, TMO tmout); 402 398 403 399 /* 404 * d¶ÌóM|[O400 * 応答電文の受信ポーリング 405 401 */ 406 402 ER ecn_prcv_esv(T_EDATA **ppk_esv); 407 403 408 404 /* 409 * d¶Ìjü405 * 応答電文の破棄 410 406 */ 411 407 ER ecn_rel_esv(T_EDATA *pk_esv); 412 408 413 409 /* 414 * d¶ÌM³@íIuWFNgðæ¾·é410 * 応答電文の送信元機器オブジェクトを取得する 415 411 */ 416 412 ID ecn_get_eobj(T_EDATA *pk_esv); 417 413 418 414 /* 419 * d¶ðÍCe[^[ú»415 * 応答電文解析イテレーター初期化 420 416 */ 421 417 ER ecn_itr_ini(T_ENUM_EPC *pk_itr, T_EDATA *pk_esv); 422 418 423 419 /* 424 * d¶ðÍCe[^[CNg420 * 応答電文解析イテレーターインクリメント 425 421 */ 426 422 ER ecn_itr_nxt(T_ENUM_EPC *pk_itr, uint8_t *p_epc, uint8_t *p_pdc, void *p_edt); 427 423 428 424 /* 429 * d¶Ò¿ÌèÝM425 * 応答電文待ちの割り込み送信 430 426 */ 431 427 ER ecn_brk_wai(const void *p_dat, int datsz); 432 428 433 429 /* 434 * èÝf[^Ìæ¾430 * 割り込みデータの取得 435 431 */ 436 432 ER ecn_get_brk_dat(T_EDATA *pk_esv, void *p_buf, int bufsz, int *p_datsz); 437 433 438 434 /* 439 * f[^ÝèÖ435 * データ設定関数 440 436 */ 441 437 int ecn_data_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno); 442 438 443 439 /* 444 * f[^æ¾Ö440 * データ取得関数 445 441 */ 446 442 int ecn_data_prop_get(const EPRPINIB *item, void *dst, int size); -
Property svn:mime-type
changed from
Note:
See TracChangeset
for help on using the changeset viewer.