source: UsbWattMeter/trunk/ecnl_lwip/echonet.h@ 164

Last change on this file since 164 was 164, checked in by coas-nagasima, 6 years ago

TOPPERS/ECNLサンプルアプリ「USB充電器電力計」を追加

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-chdr
File size: 11.4 KB
Line 
1/*
2 * TOPPERS ECHONET Lite Communication Middleware
3 *
4 * Copyright (C) 2014-2016 Cores Co., Ltd. Japan
5 *
6 * ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
7 * ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
8 * •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
9 * (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
10 * Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
11 * ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
12 * (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
13 * —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ…
14ƒƒ“ƒgi—˜—p
15 * ŽÒƒ}ƒjƒ…
16ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
17 * ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
18 * (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
19 * —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
20 * ‚ƁD
21 * (a) Ä”z•z‚É”º‚¤ƒhƒLƒ…
22ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ…
23ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
24 * ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
25 * (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
26 * •ñ‚·‚邱‚ƁD
27 * (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
28 * ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
29 * ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
30 * —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
31 * –Ɛӂ·‚邱‚ƁD
32 *
33 * –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
34 * ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
35 * ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
36 * ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
37 * ‚̐ӔC‚𕉂í‚È‚¢D
38 *
39 * @(#) $Id: echonet.h 164 2016-03-07 11:33:50Z coas-nagasima $
40 */
41
42#ifndef ECHONET_H
43#define ECHONET_H
44
45#include <t_stddef.h>
46#include <t_syslog.h>
47
48#include "echonet_rename.h"
49#include "echonet_class.h"
50#include "echonet_app_config.h"
51
52#ifdef __cplusplus
53extern "C" {
54#endif
55
56#define E_BRK (-100)
57
58#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[ƒhi”ñ“¯Šúj */
62#define EOBJ_DEVICE 0x08 /* ‹@ŠíƒIƒuƒWƒFƒNƒg */
63
64#define EPC_NONE 0x00
65#define EPC_RULE_SET 0x01 /* ƒAƒNƒZƒXƒ‹[ƒ‹ Set */
66#define EPC_RULE_GET 0x02 /* ƒAƒNƒZƒXƒ‹[ƒ‹ Get */
67#define EPC_RULE_ANNO 0x04 /* ƒAƒNƒZƒXƒ‹[ƒ‹ Anno */
68#define EPC_ANNOUNCE 0x40 /* ó‘ԕω»Žž’Ê’m */
69#define EPC_VARIABLE 0x80 /* ‰Â•Ï’·ƒf[ƒ^ */
70
71typedef enum _echonet_enod_id
72{
73 ENOD_NOT_MATCH_ID = -1,
74 ENOD_MULTICAST_ID = 0, /* ƒ}ƒ‹ƒ`ƒLƒƒƒXƒgƒAƒhƒŒƒXID */
75 ENOD_LOCAL_ID = 1, /* Ž©ƒm[ƒhƒAƒhƒŒƒXID */
76 ENOD_API_ID = 2, /* APIƒAƒhƒŒƒXID */
77 ENOD_REMOTE_ID = 3, /* ‘¼ƒm[ƒhƒAƒhƒŒƒXID */
78} ECN_ENOD_ID;
79
80/* ECHONET Lite‹KŠi */
81typedef enum
82{
83 ECN_EDH1_ECHONET_LITE = 0x10
84} ECN_EHD1_ECL_VERSION;
85
86/* “d•¶Œ`Ž®1/2 */
87typedef enum
88{
89 ECN_EDH2_FORMAT_1 = 0x81, /* “d•¶Œ`Ž®1 */
90 ECN_EDH2_FORMAT_2 = 0x82 /* “d•¶Œ`Ž®2 */
91} ECN_EHD2_FORMAT;
92
93/* ECHONET LiteƒT[ƒrƒXƒR[ƒh */
94typedef enum _echonet_service_code
95{
96 ESV_NOP = 0, /* (‹@”\Žw’è‚È‚µ) */
97 ESV_SET_I = 0x60, /* ƒvƒƒpƒeƒB’l‘‚«ž‚Ý—v‹i‰ž“š•s—vj */
98 ESV_SET_C = 0x61, /* ƒvƒƒpƒeƒB’l‘‚«ž‚Ý—v‹i‰ž“š—vj */
99 ESV_GET = 0x62, /* ƒvƒƒpƒeƒB’l“ǂݏo‚µ—v‹ */
100 ESV_INF_REQ = 0x63, /* ƒvƒƒpƒeƒB’l’Ê’m—v‹ */
101 ESV_SET_GET = 0x6E, /* ƒvƒƒpƒeƒB’l‘‚«ž‚݁E“ǂݏo‚µ—v‹ */
102 ESV_SET_RES = 0x71, /* ƒvƒƒpƒeƒB’l‘‚«ž‚݉ž“š */
103 ESV_GET_RES = 0x72, /* ƒvƒƒpƒeƒB’l“ǂݏo‚µ‰ž“š */
104 ESV_INF = 0x73, /* ƒvƒƒpƒeƒB’l’Ê’m */
105 ESV_INFC = 0x74, /* ƒvƒƒpƒeƒB’l’Ê’mi‰ž“š—vj */
106 ESV_INFC_RES = 0x7A, /* ƒvƒƒpƒeƒB’l’Ê’m‰ž“š */
107 ESV_SET_GET_RES = 0x7E, /* ƒvƒƒpƒeƒB’l‘‚«ž‚݁E“ǂݏo‚µ‰ž“š */
108 ESV_SET_I_SNA = 0x50, /* ƒvƒƒpƒeƒB’l‘‚«ž‚Ý—v‹•s‰Â‰ž“š */
109 ESV_SET_C_SNA = 0x51, /* ƒvƒƒpƒeƒB’l‘‚«ž‚Ý—v‹•s‰Â‰ž“š */
110 ESV_GET_SNA = 0x52, /* ƒvƒƒpƒeƒB’l“ǂݏo‚µ•s‰Â‰ž“š */
111 ESV_INF_SNA = 0x53, /* ƒvƒƒpƒeƒB’l’Ê’m•s‰Â‰ž“š */
112 ESV_SET_GET_SNA = 0x5E /* ƒvƒƒpƒeƒB’l‘‚«ž‚݁E“ǂݏo‚µ•s‰Â‰ž“š */
113} ECN_SRV_CODE;
114
115#ifdef __CA850__
116#pragma pack(1)
117#elif __RX
118#pragma pack
119#elif _MSC_VER
120#pragma pack(push, 1)
121#endif
122
123/*
124 * ECHONET Lite“d•¶ƒwƒbƒ_[
125 */
126typedef struct
127{
128 uint8_t ehd1; /* ECHONET Lite“d•¶ƒwƒbƒ_[1 ECN_EHD1_ECL_VERSION */
129 uint8_t ehd2; /* ECHONET Lite“d•¶ƒwƒbƒ_[2 ECN_EHD2_FORMAT */
130 uint16_t tid; /* ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ID */
131} T_ECN_HDR;
132
133/*
134 * ECHONET LiteƒIƒuƒWƒFƒNƒgƒR[ƒh
135 */
136typedef struct
137{
138 uint8_t eojx1; /* ƒNƒ‰ƒXƒOƒ‹[ƒvƒR[ƒh */
139 uint8_t eojx2; /* ƒNƒ‰ƒXƒR[ƒh */
140 uint8_t eojx3; /* ƒCƒ“ƒXƒ^ƒ“ƒXƒR[ƒh */
141} T_ECN_EOJ;
142
143/*
144 * ECHONET Liteƒf[ƒ^ƒwƒbƒ_[
145 */
146typedef struct
147{
148 T_ECN_EOJ seoj; /* ‘—MŒ³ECHONET LiteƒIƒuƒWƒFƒNƒgŽw’è */
149 T_ECN_EOJ deoj; /* ‘ŠŽèæECHONET LiteƒIƒuƒWƒFƒNƒgŽw’è */
150 uint8_t esv; /* ECHONET LiteƒT[ƒrƒX (ECN_SRV_CODE) */
151 uint8_t opc; /* ˆ—ƒvƒƒpƒeƒB” */
152} T_ECN_EDATA_BODY;
153
154/*
155 * ECHONET LiteƒvƒƒpƒeƒB
156 */
157typedef struct
158{
159 uint8_t epc; /* ECHONET LiteƒvƒƒpƒeƒBƒR[ƒh */
160 uint8_t pdc; /* EDT‚̃oƒCƒg” */
161 /*void *p_edt;*/ /* ƒvƒƒpƒeƒB’lƒf[ƒ^ */
162} T_ECN_PRP;
163
164/*
165 * ECHONET Liteƒf[ƒ^
166 */
167typedef struct
168{
169 T_ECN_HDR ecn_hdr;
170 T_ECN_EDATA_BODY edata;
171 T_ECN_PRP ecn_prp;
172} T_ECN_EDT_HDR;
173
174/*
175 * ECHONET Lite “d•¶
176 */
177typedef struct echonet_object_data
178{
179 uint8_t _private1[192];
180 T_ECN_EDT_HDR hdr;
181 uint8_t _private2[64 - sizeof(T_ECN_EDT_HDR)];
182} T_EDATA;
183
184#ifdef __CA850__
185#pragma pack(8)
186#elif __RX
187#pragma unpack
188#elif _MSC_VER
189#pragma pack(pop)
190#endif
191
192/*
193 * ‰ž“š“d•¶‰ðÍƒCƒeƒŒ[ƒ^[
194 */
195typedef struct echonet_epc_enumerator
196{
197 T_EDATA *pk_esv;
198 uint8_t count; /* ¡“Ç‚ÝŽæ‚è’†‚̃uƒƒbƒN‚É‚ ‚éƒvƒƒpƒeƒB‘” */
199 uint8_t got_ct; /* ¡“Ç‚ÝŽæ‚è’†‚̃uƒƒbƒN‚ŁA“Ç‚ÝŽæ‚Á‚½” */
200 uint8_t next_blk_ct; /* Œã‘±ƒuƒƒbƒN” */
201 uint8_t is_eof; /* I’[‚É’B‚µ‚½ŽžA”ñ0 */
202 int cur;
203} T_ENUM_EPC;
204
205typedef struct echonet_property_initialization_block EPRPINIB;
206
207/*
208 * ECHONET Lite ƒvƒƒpƒeƒB‚̐ݒèŠÖ”
209 */
210typedef int (EPRP_SETTER)(const EPRPINIB *item, const void *src, int size, bool_t *anno);
211
212/*
213 * ECHONET Lite ƒvƒƒpƒeƒB‚̎擾ŠÖ”
214 */
215typedef int (EPRP_GETTER)(const EPRPINIB *item, void *dst, int size);
216
217/*
218 * ECHONET Lite ƒvƒƒpƒeƒB‰Šú‰»ƒuƒƒbƒN
219 */
220struct echonet_property_initialization_block
221{
222 uint8_t eprpcd; /* ECHONET Lite ƒvƒƒpƒeƒBƒR[ƒh */
223 ATR eprpatr; /* ECHONET Lite ƒvƒƒpƒeƒB‘®« */
224 uint8_t eprpsz; /* ECHONET Lite ƒvƒƒpƒeƒB‚̃TƒCƒY */
225 intptr_t exinf; /* ECHONET Lite ƒvƒƒpƒeƒB‚ÌŠg’£î•ñ */
226 EPRP_SETTER *eprpset; /* ECHONET Lite ƒvƒƒpƒeƒB‚̐ݒèŠÖ” */
227 EPRP_GETTER *eprpget; /* ECHONET Lite ƒvƒƒpƒeƒB‚̎擾ŠÖ” */
228};
229
230#define TMIN_EOBJID 1 /* ECHONET Lite ƒIƒuƒWƒFƒNƒgID‚̍ŏ¬’l */
231
232/*
233 * ECHONET Lite ƒIƒuƒWƒFƒNƒg‰Šú‰»ƒuƒƒbƒN
234 */
235typedef struct echonet_object_initialization_block
236{
237 ATR eobjatr; /* ECHONET Lite ƒIƒuƒWƒFƒNƒg‘®« */
238 ID enodid; /* ECHONET Lite ƒm[ƒhƒvƒƒtƒ@ƒCƒ‹ƒIƒuƒWƒFƒNƒgID */
239 intptr_t exinf; /* ECHONET Lite ƒIƒuƒWƒFƒNƒg‚ÌŠg’£î•ñ */
240 uint8_t eojx1; /* ECHONET Lite ƒIƒuƒWƒFƒNƒg‚̃Nƒ‰ƒXƒOƒ‹[ƒvƒR[ƒh */
241 uint8_t eojx2; /* ECHONET Lite ƒIƒuƒWƒFƒNƒg‚̃Nƒ‰ƒXƒR[ƒh */
242 uint8_t eojx3; /* ECHONET Lite ƒIƒuƒWƒFƒNƒg‚̃Cƒ“ƒXƒ^ƒ“ƒXƒR[ƒh */
243 const EPRPINIB *eprp; /* ECHONET Lite ƒvƒƒpƒeƒB‰Šú‰»ƒuƒƒbƒN */
244 uint_t eprpcnt; /* ECHONET Lite ƒvƒƒpƒeƒB‰Šú‰»ƒuƒƒbƒN” */
245} EOBJINIB;
246
247/*
248 * ECHONET Lite ƒm[ƒhŠÇ—ƒuƒƒbƒN
249 */
250typedef struct echonet_object_control_block
251{
252 const EOBJINIB *profile; /* ECHONET Lite ƒm[ƒhƒvƒƒtƒ@ƒCƒ‹‚ւ̃|ƒCƒ“ƒ^ */
253 const EOBJINIB **eobjs; /* ECHONET Lite ƒIƒuƒWƒFƒNƒgƒŠƒXƒg‚ւ̃|ƒCƒ“ƒ^ */
254 uint_t eobjcnt; /* ECHONET Lite ƒIƒuƒWƒFƒNƒg” */
255} EOBJCB;
256
257/*
258 * ECHONET Lite ƒm[ƒh‚ÆIPƒAƒhƒŒƒX‚̑Ήžî•ñƒuƒƒbƒN‚Ì’è‹`
259 */
260typedef struct echonet_node_address_block
261{
262 bool_t inuse; /* Žg—pó‹µ */
263 uint8_t ipaddr[16]; /* IPƒAƒhƒŒƒX */
264} ENODADRB;
265
266/*
267 * ECHONET Lite ƒIƒuƒWƒFƒNƒgID‚̍őå’liechonet_cfg.cj
268 */
269extern const ID tmax_eobjid;
270
271/*
272 * ECHONET Lite ƒIƒuƒWƒFƒNƒg‰Šú‰»ƒuƒƒbƒN‚̃GƒŠƒAiechonet_cfg.cj
273 */
274extern const EOBJINIB eobjinib_table[];
275
276/*
277 * ECHONET Liteƒm[ƒhŠÇ—ƒuƒƒbƒN‚̐”
278 */
279extern const int tnum_enodid;
280
281/*
282 * ECHONET Lite ƒIƒuƒWƒFƒNƒgŠÇ—ƒuƒƒbƒN‚̃GƒŠƒAiechonet_cfg.cj
283 */
284extern EOBJCB eobjcb_table[];
285
286/*
287 * ECHONET Liteƒm[ƒh‚ÆIPƒAƒhƒŒƒX‚̑Ήžî•ñ‚̐”
288 */
289extern const int tnum_enodadr;
290
291/*
292 * ECHONET Lite ƒm[ƒh‚ÆIPƒAƒhƒŒƒX‚̑Ήžî•ñƒuƒƒbƒN‚̃GƒŠƒAiechonet_cfg.cj
293 */
294extern ENODADRB enodadrb_table[];
295
296/*
297 * ECHONET Lite ƒJ[ƒlƒ‹ƒIƒuƒWƒFƒNƒgID
298 */
299extern const ID ecn_svc_taskid;
300extern const ID ecn_udp_taskid;
301extern const ID ecn_api_mailboxid;
302extern const ID ecn_svc_mailboxid;
303extern const ID ecn_udp_mailboxid;
304extern const ID ecn_mempoolid;
305extern const ID ecn_udp_cepid;
306
307/*
308 * ECHONET Lite ƒIƒuƒWƒFƒNƒgŠÇ—ƒuƒƒbƒN‚©‚çECHONET Lite ƒIƒuƒWƒFƒNƒgID‚ðŽæ‚èo‚·‚½‚߂̃}ƒNƒ
309 */
310#define EOBJID(p_eobjcb) ((ID)(((p_eobjcb) - eobjcb_table) + TMIN_EOBJID))
311
312/*
313 * ECHONET Lite ƒIƒuƒWƒFƒNƒg‹@”\‚̏‰Šú‰»
314 */
315extern void initialize_echonet_object(void);
316
317typedef EOBJINIB T_REOBJ;
318
319typedef EPRPINIB T_RPRP;
320
321typedef ENODADRB T_ENOD_ADDR;
322
323/*
324 * ECHONET LiteƒT[ƒrƒXˆ—ŠJŽn
325 */
326ER ecn_sta_svc();
327
328/*
329 * ECHONETƒIƒuƒWƒFƒNƒgŽQÆ
330 */
331ER ecn_ref_eobj(ID eobjid, T_REOBJ *pk_eobj);
332
333/*
334 * ECHONETƒvƒƒpƒeƒBŽQÆ
335 */
336ER ecn_ref_eprp(ID eobjid, uint8_t epc, T_RPRP *pk_eprp);
337
338/*
339 * ƒvƒƒpƒeƒB’l‘‚«ž‚Ý—v‹i‰ž“š•s—vj“d•¶ì¬
340 */
341ER ecn_esv_seti(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt);
342
343/*
344 * ƒvƒƒpƒeƒB’l‘‚«ž‚Ý—v‹i‰ž“š—vj“d•¶ì¬
345 */
346ER ecn_esv_setc(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt);
347
348/*
349 * ƒvƒƒpƒeƒB’l“ǂݏo‚µ—v‹“d•¶ì¬
350 */
351ER ecn_esv_get(T_EDATA **ppk_esv, ID eobjid, uint8_t epc);
352
353/*
354 * ƒvƒƒpƒeƒB’l’Ê’m—v‹“d•¶ì¬
355 */
356ER ecn_esv_inf_req(T_EDATA **ppk_esv, ID eobjid, uint8_t epc);
357
358/*
359 * ƒvƒƒpƒeƒB’l‘‚«ž‚݁E“ǂݏo‚µ—v‹“d•¶ì¬
360 */
361ER ecn_esv_set_get(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt);
362
363/*
364 * ƒvƒƒpƒeƒB’l‘‚«ž‚݁E“ǂݏo‚µ—v‹“d•¶Ü‚è•Ô‚µŽw’è
365 */
366ER ecn_trn_set_get(T_EDATA *pk_esv, int *p_trn_pos);
367
368/*
369 * ƒvƒƒpƒeƒB’l‘‚«ž‚݁E“ǂݏo‚µ—v‹“d•¶I—¹Žw’è
370 */
371ER ecn_end_set_get(T_EDATA *pk_esv, int trn_pos);
372
373/*
374 * ƒvƒƒpƒeƒB’l’Ê’mi‰ž“š—vj“d•¶ì¬
375 */
376ER ecn_esv_infc(T_EDATA **ppk_esv, ID eobjid, ID seobjid, uint8_t sepc);
377
378/*
379 * —v‹“d•¶‚ւ̃vƒƒpƒeƒBŽw’è’ljÁ
380 */
381ER ecn_add_epc(T_EDATA *pk_esv, uint8_t epc);
382
383/*
384 * —v‹“d•¶‚ւ̃vƒƒpƒeƒBƒf[ƒ^’ljÁ
385 */
386ER ecn_add_edt(T_EDATA *pk_esv, uint8_t epc, uint8_t pdc, const void *p_edt);
387
388/*
389 * —v‹“d•¶‚Ì‘—M
390 */
391ER ecn_snd_esv(T_EDATA *pk_esv);
392
393/*
394 * ‰ž“š“d•¶‚ÌŽóM‰i‰“‘Ò‚¿
395 */
396ER ecn_rcv_esv(T_EDATA **ppk_esv);
397
398/*
399 * ‰ž“š“d•¶‚ÌŽóM‘Ò‚¿ƒ^ƒCƒ€ƒAƒEƒg‚ ‚è
400 */
401ER ecn_trcv_esv(T_EDATA **ppk_esv, TMO tmout);
402
403/*
404 * ‰ž“š“d•¶‚ÌŽóMƒ|[ƒŠƒ“ƒO
405 */
406ER ecn_prcv_esv(T_EDATA **ppk_esv);
407
408/*
409 * ‰ž“š“d•¶‚Ì”jŠü
410 */
411ER ecn_rel_esv(T_EDATA *pk_esv);
412
413/*
414 * ‰ž“š“d•¶‚Ì‘—MŒ³‹@ŠíƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚·‚é
415 */
416ID ecn_get_eobj(T_EDATA *pk_esv);
417
418/*
419 * ‰ž“š“d•¶‰ðÍƒCƒeƒŒ[ƒ^[‰Šú‰»
420 */
421ER ecn_itr_ini(T_ENUM_EPC *pk_itr, T_EDATA *pk_esv);
422
423/*
424 * ‰ž“š“d•¶‰ðÍƒCƒeƒŒ[ƒ^[ƒCƒ“ƒNƒŠƒƒ“ƒg
425 */
426ER ecn_itr_nxt(T_ENUM_EPC *pk_itr, uint8_t *p_epc, uint8_t *p_pdc, void *p_edt);
427
428/*
429 * ‰ž“š“d•¶‘Ò‚¿‚ÌŠ„‚荞‚Ý‘—M
430 */
431ER ecn_brk_wai(const void *p_dat, int datsz);
432
433/*
434 * Š„‚荞‚݃f[ƒ^‚̎擾
435 */
436ER ecn_get_brk_dat(T_EDATA *pk_esv, void *p_buf, int bufsz, int *p_datsz);
437
438/*
439 * ƒf[ƒ^Ý’èŠÖ”
440 */
441int ecn_data_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno);
442
443/*
444 * ƒf[ƒ^Žæ“¾ŠÖ”
445 */
446int ecn_data_prop_get(const EPRPINIB *item, void *dst, int size);
447
448#ifdef __cplusplus
449}
450#endif
451
452#endif // ECHONET_H
Note: See TracBrowser for help on using the repository browser.