Changeset 321 for EcnlProtoTool/trunk/mrbgems/mruby-ecnl/src/echonet_dbg.c
- Timestamp:
- Aug 23, 2017, 9:27:43 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/mrbgems/mruby-ecnl/src/echonet_dbg.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r270 r321 4 4 * Copyright (C) 2014-2016 Cores Co., Ltd. Japan 5 5 * 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 * 免責すること. 42 28 * 43 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 44 ã 45 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 46 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 47 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 48 * ã®è²¬ä»»ãè² ããªãï¼ 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 49 34 * 50 35 */ 51 36 52 37 /* 53 * ECHONET Lite ã¿ã¹ã¯ ãããã°åºå38 * ECHONET Lite タスク デバッグ出力 54 39 */ 55 40 … … 76 61 static ER _ecn_dbg_wai_syslog(void); 77 62 /* 78 * syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 79 㤠63 * syslog()バッファに余裕ができるまで待つ 80 64 */ 81 65 static ER _ecn_dbg_wai_syslog(void) … … 118 102 119 103 /* 120 * ãããã°åºå121 * ä¾ï¼ECN_DBG_PUT_2("task start");104 * デバッグ出力 105 * 例: ECN_DBG_PUT_2("task start"); 122 106 */ 123 107 int _ecn_dbg_dbgput(ecnl_svc_task_t *svc, const char *fp_srcloc, const char *fp_form, ...) … … 127 111 #ifdef ECN_DBG_PUT_USE_STATIC 128 112 #ifndef SEM_ECN_DBG_PUT 129 /* 256byte ãããã¡8æ¬ãã¼ãã¼ã·ã§ã³*/113 /* 256byteバッファ8本ローテーション */ 130 114 static char a_buf[8][256]; 131 115 static volatile uint_t a_buf_idx = 0; 132 116 uint_t a_buf_idx_a; 133 117 #else 134 /* ã»ããã©ãç¨ãã¦ã1æ¬ã®ãããã¡ä¸ã«æååã並ã¹ã¦ä½¿ã*/118 /* セマフォを用いて、1本のバッファ上に文字列を並べて使う */ 135 119 static char a_buf[1024]; 136 120 static volatile uint_t a_buf_pos = 0; … … 155 139 p_buf = a_buf[a_buf_idx_a & 0x07]; 156 140 #else 157 if (sizeof(a_buf) - a_buf_pos < 80) /* æ®ãã80byteæªæºã«ãªã£ãããå 158 é ã«æ»ã */ 141 if (sizeof(a_buf) - a_buf_pos < 80) /* 残りが80byte未満になったら、先頭に戻る */ 159 142 a_buf_pos = 0; 160 143 p_buf = a_buf + a_buf_pos; 161 144 a_buf_len = sizeof(a_buf) - a_buf_pos - 1; 162 if (80 * 2 <= a_buf_len) /* 80byte*2 以ä¸ã®ä½ç½ããããã¡ã¯ãæ«å°¾80byteãæ®ã*/145 if (80 * 2 <= a_buf_len) /* 80byte*2以上の余白があるうちは、末尾80byteを残す */ 163 146 a_buf_len -= 80; 164 147 #endif /* #ifdef SEM_ECN_DBG_PUT */ … … 184 167 #ifdef SEM_ECN_DBG_PUT 185 168 a_buf_len = strlen(p_buf) + 1; 186 /* æ®ãã80byteæªæºã«ãªã£ãã*/169 /* 残りが80byte未満になったら */ 187 170 if (sizeof(a_buf) - a_buf_pos - a_buf_len < 80) { 188 /* å 189 é ã«æ»ã */ 171 /* 先頭に戻る */ 190 172 a_buf_pos = 0; 191 173 } else { … … 195 177 #endif 196 178 197 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 198 㤠*/ 179 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 199 180 200 181 #ifdef SEM_ECN_DBG_PUT … … 212 193 } 213 194 214 /* ECN_ENOD_ID ã®æååå¤æ*/195 /* ECN_ENOD_IDの文字列変換 */ 215 196 const char *_ecn_dbg_enod2str(ECN_ENOD_ID fa_enod_id) 216 197 { … … 260 241 261 242 /* 262 * ãã¤ããªãã³ãåºå243 * バイナリダンプ出力 263 244 */ 264 245 void _ecn_dbg_bindmp(const uint8_t *buffer, size_t len) 265 246 { 266 /* static é åã®ãããã¡ãåãæ¿ããåæ°(2^n) */247 /* static領域のバッファを切り替える個数(2^n) */ 267 248 #define _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT (4) 268 249 /* */ … … 270 251 #ifdef _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT 271 252 #undef _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT 272 /* ã»ããã©(SEM_ECN_DBG_BINDMP)ãå®ç¾©ããã¦ããå ´åããããã¡åãæ¿ãã¯ä¸è¦ãªã®ã§undef */253 /* セマフォ(SEM_ECN_DBG_BINDMP)が定義されている場合、バッファ切り替えは不要なのでundef */ 273 254 #endif 274 255 #endif 275 256 #ifndef _ECN_FBS_DBG_BINDMP_BUFLEN 276 /* ãããã¡ãµã¤ãº(bindmpä¸ã®1è¡ãåã¾ããµã¤ãº) */257 /* バッファサイズ(bindmp中の1行が収まるサイズ) */ 277 258 #define _ECN_FBS_DBG_BINDMP_BUFLEN (80) 278 259 #endif 279 260 #ifdef _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT 280 /* static é åã®ãããã¡ãåãæ¿ããããã®ç®¡çç¨å¤æ°*/261 /* static領域のバッファを切り替えるための管理用変数 */ 281 262 static volatile uint8_t a_idx_vol = 0; 282 /* static é åã®ãããã¡åãæ¿ãé å*/263 /* static領域のバッファ切り替え領域 */ 283 264 static char a_buf_area[1 << _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT][_ECN_FBS_DBG_BINDMP_BUFLEN]; 284 265 uint8_t a_idx; 285 266 char *a_buf; 286 267 #else 287 /* static é åã®ãããã¡é å*/268 /* static領域のバッファ領域 */ 288 269 static char a_buf[_ECN_FBS_DBG_BINDMP_BUFLEN]; 289 270 #endif 290 const uint8_t *p = buffer; /* èªã¿åããã¤ã³ã¿*/271 const uint8_t *p = buffer; /* 読み取りポインタ */ 291 272 int i, a_blk, a_blk_max, a_pos = 0; 292 273 const T_ECN_EDT_HDR *p_req_esv; … … 305 286 } 306 287 #ifndef ECN_DBG_BINDMP_MAXLEN 307 /* bindmp åºåã®æ大ãµã¤ãº*/288 /* bindmp出力の最大サイズ */ 308 289 #define ECN_DBG_BINDMP_MAXLEN 1600 309 290 #endif … … 320 301 for (a_blk = 0; p && a_blk < a_blk_max; p = ((T_ECN_FST_BLK *)buffer)->lnk.p_sub[a_blk++]->payload) { 321 302 if (0 < a_blk) { 322 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 323 㤠*/ 303 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 324 304 printf("p_sub[%d] (0x%p)", a_blk - 1, p); 325 305 } … … 328 308 if (i % 16 == 0) { 329 309 if (a_buf[0]) { 330 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 331 㤠*/ 310 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 332 311 printf("%s", a_buf); 333 312 } … … 349 328 } 350 329 if (a_buf[0]) { 351 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 352 㤠*/ 330 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 353 331 printf("%s", a_buf); 354 332 } … … 361 339 case ECN_MSG_ECHONET: 362 340 p_req_esv = (T_ECN_EDT_HDR *)&((const T_ECN_FST_BLK *)buffer)->payload; 363 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 364 㤠*/ 341 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 365 342 printf(" sender: %d %s, target: %d %s", 366 343 ((T_ECN_FST_BLK *)buffer)->hdr.sender.id, _ecn_dbg_enod2str(((T_ECN_FST_BLK *)buffer)->hdr.sender.id), 367 344 ((T_ECN_FST_BLK *)buffer)->hdr.target.id, _ecn_dbg_enod2str(((T_ECN_FST_BLK *)buffer)->hdr.target.id)); 368 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 369 㤠*/ 345 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 370 346 printf(" ecn_hdr: 0x%02X 0x%02X 0x%04X", p_req_esv->ecn_hdr.ehd1, p_req_esv->ecn_hdr.ehd2, p_req_esv->ecn_hdr.tid); 371 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 372 㤠*/ 347 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 373 348 printf(" edata: 0x%06X 0x%06X 0x%02X 0x%02X (%s)", 374 349 p_req_esv->edata.seoj.eojx1 << 16 | p_req_esv->edata.seoj.eojx2 << 8 | p_req_esv->edata.seoj.eojx3, 375 350 p_req_esv->edata.deoj.eojx1 << 16 | p_req_esv->edata.deoj.eojx2 << 8 | p_req_esv->edata.deoj.eojx3, 376 351 p_req_esv->edata.esv, p_req_esv->edata.opc, _ecn_dbg_esv2str(p_req_esv->edata.esv)); 377 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 378 㤠*/ 352 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 379 353 printf(" ecn_prp: 0x%02X 0x%02X", p_req_esv->ecn_prp.epc, p_req_esv->ecn_prp.pdc); 380 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 381 㤠*/ 354 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 382 355 printf(" cur(blk/pos): wr %d, rd %d", 383 356 (int)((T_ECN_FST_BLK *)buffer)->hdr.wr, … … 419 392 && ((const T_ECN_FST_BLK *)buffer)->payload[1] == 0x81) { 420 393 p_req_esv = (const T_ECN_EDT_HDR *)&((const T_ECN_FST_BLK *)buffer)->payload[0]; 421 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 422 㤠*/ 394 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 423 395 printf(" ecn_hdr: 0x%02X 0x%02X 0x%04X", p_req_esv->ecn_hdr.ehd1, p_req_esv->ecn_hdr.ehd2, p_req_esv->ecn_hdr.tid); 424 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 425 㤠*/ 396 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 426 397 printf(" edata: 0x%06X 0x%06X 0x%02X 0x%02X (%s)", 427 398 p_req_esv->edata.seoj.eojx1 << 16 | p_req_esv->edata.seoj.eojx2 << 8 | p_req_esv->edata.seoj.eojx3, 428 399 p_req_esv->edata.deoj.eojx1 << 16 | p_req_esv->edata.deoj.eojx2 << 8 | p_req_esv->edata.deoj.eojx3, 429 400 p_req_esv->edata.esv, p_req_esv->edata.opc, _ecn_dbg_esv2str(p_req_esv->edata.esv)); 430 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 431 㤠*/ 401 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 432 402 printf(" ecn_prp: 0x%02X 0x%02X", p_req_esv->ecn_prp.epc, p_req_esv->ecn_prp.pdc); 433 403 } … … 438 408 439 409 /* 440 * ECHONET Lite ãµã¼ãã¹ã³ã¼ãæååå¤æ410 * ECHONET Liteサービスコード文字列変換 441 411 */ 442 412 const char *_ecn_dbg_esv2str(uint8_t fa_esv) 443 413 { 444 414 switch (fa_esv) { 445 case ESV_SET_I_SNA: return " ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ä¸å¯å¿ç"; /* 0x50 */446 case ESV_SET_C_SNA: return " ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ä¸å¯å¿ç"; /* 0x51 */447 case ESV_GET_SNA: return " ããããã£å¤èªã¿åºãä¸å¯å¿ç"; /* 0x52 */448 case ESV_INF_SNA: return " ããããã£å¤éç¥ä¸å¯å¿ç"; /* 0x53 */449 case ESV_SET_GET_SNA: return " ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãä¸å¯å¿ç"; /* 0x5E */450 case ESV_SET_I: return " ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çä¸è¦ï¼"; /* 0x60 */451 case ESV_SET_C: return " ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çè¦ï¼"; /* 0x61 */452 case ESV_GET: return " ããããã£å¤èªã¿åºãè¦æ±"; /* 0x62 */453 case ESV_INF_REQ: return " ããããã£å¤éç¥è¦æ±"; /* 0x63 */454 case ESV_SET_GET: return " ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±"; /* 0x6E */455 case ESV_SET_RES: return " ããããã£å¤æ¸ãè¾¼ã¿å¿ç"; /* 0x71 */456 case ESV_GET_RES: return " ããããã£å¤èªã¿åºãå¿ç"; /* 0x72 */457 case ESV_INF: return " ããããã£å¤éç¥"; /* 0x73 */458 case ESV_INFC: return " ããããã£å¤éç¥ï¼å¿çè¦ï¼"; /* 0x74 */459 case ESV_SET_GET_RES: return " ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãå¿ç"; /* 0x7E */460 case ESV_INFC_RES: return " ããããã£å¤éç¥å¿ç"; /* 0x7A */415 case ESV_SET_I_SNA: return "プロパティ値書き込み要求不可応答"; /* 0x50 */ 416 case ESV_SET_C_SNA: return "プロパティ値書き込み要求不可応答"; /* 0x51 */ 417 case ESV_GET_SNA: return "プロパティ値読み出し不可応答"; /* 0x52 */ 418 case ESV_INF_SNA: return "プロパティ値通知不可応答"; /* 0x53 */ 419 case ESV_SET_GET_SNA: return "プロパティ値書き込み・読み出し不可応答"; /* 0x5E */ 420 case ESV_SET_I: return "プロパティ値書き込み要求(応答不要)"; /* 0x60 */ 421 case ESV_SET_C: return "プロパティ値書き込み要求(応答要)"; /* 0x61 */ 422 case ESV_GET: return "プロパティ値読み出し要求"; /* 0x62 */ 423 case ESV_INF_REQ: return "プロパティ値通知要求"; /* 0x63 */ 424 case ESV_SET_GET: return "プロパティ値書き込み・読み出し要求"; /* 0x6E */ 425 case ESV_SET_RES: return "プロパティ値書き込み応答"; /* 0x71 */ 426 case ESV_GET_RES: return "プロパティ値読み出し応答"; /* 0x72 */ 427 case ESV_INF: return "プロパティ値通知"; /* 0x73 */ 428 case ESV_INFC: return "プロパティ値通知(応答要)"; /* 0x74 */ 429 case ESV_SET_GET_RES: return "プロパティ値書き込み・読み出し応答"; /* 0x7E */ 430 case ESV_INFC_RES: return "プロパティ値通知応答"; /* 0x7A */ 461 431 default: 462 432 return "(unknown)"; … … 467 437 { 468 438 switch (errorno) { 469 case E_SYS: return "ã·ã¹ãã ã¨ã©ã¼"; 470 case E_PAR: return "ãã©ã¡ã¼ã¿ã¨ã©ã¼"; 471 case E_NOMEM: return "ã¡ã¢ãªä¸è¶³"; 472 case E_OBJ: return "ãªãã¸ã§ã¯ãç¶æ 473 ã¨ã©ã¼"; 474 case E_NOEXS: return "ãªãã¸ã§ã¯ãæªçæ"; 475 case E_TMOUT: return "ãã¼ãªã³ã°å¤±æã¾ãã¯ã¿ã¤ã ã¢ã¦ã"; 476 case E_BOVR: return "ãããã¡ãªã¼ãã¼ããã¼"; 477 case E_BRK: return "ã¦ã¼ã¶ã¼ã«ããä¸æ"; 439 case E_SYS: return "システムエラー"; 440 case E_PAR: return "パラメータエラー"; 441 case E_NOMEM: return "メモリ不足"; 442 case E_OBJ: return "オブジェクト状態エラー"; 443 case E_NOEXS: return "オブジェクト未生成"; 444 case E_TMOUT: return "ポーリング失敗またはタイムアウト"; 445 case E_BOVR: return "バッファオーバーフロー"; 446 case E_BRK: return "ユーザーによる中断"; 478 447 default: 479 448 return "(unknown)";
Note:
See TracChangeset
for help on using the changeset viewer.