- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/asp3_dcre/tecsgen/tecs/TECSInfo/nTECSInfo_tTECSInfoSub.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 2 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 3 * 4 * ä¸è¨èä½æ¨©è 5 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 6 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 7 * å¤ã»åé 8 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 9 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 10 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 11 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 12 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 13 * ç¨ã§ããå½¢ã§åé 14 å¸ããå ´åã«ã¯ï¼åé 15 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 16 * è 17 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 18 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 19 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããªãå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 22 * ã¨ï¼ 23 * (a) åé 24 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 25 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 26 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 27 * (b) åé 28 å¸ã®å½¢æ 29 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 30 * å ±åãããã¨ï¼ 31 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 32 * 害ãããï¼ä¸è¨èä½æ¨©è 33 ããã³TOPPERSããã¸ã§ã¯ããå 34 責ãããã¨ï¼ 35 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 36 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ãã 38 * å 39 責ãããã¨ï¼ 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 40 26 * 41 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 42 ã 43 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 44 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 45 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 46 * ã®è²¬ä»»ãè² ããªãï¼ 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 47 32 * 48 33 * @(#) $Id$ … … 50 35 51 36 /* #[<PREAMBLE>]# 52 * #[<...>]# ãã #[</...>]# ã§å²ã¾ããã³ã¡ã³ãã¯ç·¨éããªãã§ãã ãã53 * tecsmerge ã«ãããã¼ã¸ã«ä½¿ç¨ããã¾ã37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください 38 * tecsmerge によるマージに使用されます 54 39 * 55 * å±æ§ã¢ã¯ã»ã¹ãã¯ã#_CAAM_#40 * 属性アクセスマクロ #_CAAM_# 56 41 * name_len int32_t ATTR_name_len 57 42 * path_len int32_t ATTR_path_len … … 60 45 * path char_t* VAR_path 61 46 * 62 * å¼ã³å£é¢æ°#_TCPF_#47 * 呼び口関数 #_TCPF_# 63 48 * call port: cNamespaceInfo signature: nTECSInfo_sNamespaceInfo context:task 64 49 * ER cNamespaceInfo_getName( char_t* name, int_t max_len ); … … 165 150 166 151 /* 167 * VAR_name1 ⦠å¼æ°ã¨ãã¦æ¸¡ããããã®ãã³ãã¼ããããã ããéä¸ã® '::' ã '\0' ã«æ¸ãæãããã¨ã¯ããã168 * VAR_name2 ⦠é½åº¦ä¸æ¸ããã¦ä½¿ç¨ãã152 * VAR_name1 … 引数として渡されたものをコピーする。ただし、途中の '::' を '\0' に書き換えることはある。 153 * VAR_name2 … 都度上書きして使用する 169 154 */ 170 155 … … 358 343 return E_NOMEM; 359 344 } 360 if( VAR_path != namespace_path ) // findRawEntryDescriptorInfo ããå¼ã°ããæãVAR_path ã«å 361 ¥ã£ã¦ããã®ã§ã³ãã¼ä¸è¦ 345 if( VAR_path != namespace_path ) // findRawEntryDescriptorInfo から呼ばれた時、VAR_path に入っているのでコピー不要 362 346 strcpy( VAR_path, namespace_path ); 363 347 p = &VAR_path[ len - 1 ]; … … 370 354 p--; 371 355 if( p < VAR_path || *p != ':' ) 372 return E_PAR; // :: ã§ã¯ãªãã: ã§ãã£ã356 return E_PAR; // :: ではなく、: であった 373 357 if( p == VAR_path ){ 374 358 namespace_path = "::"; … … 439 423 p--; 440 424 if( *p != '.' ) 441 return E_PAR; // '.' ãè¦ã¤ãããªã425 return E_PAR; // '.' が見つからない 442 426 *p = '\0'; 443 427 ercd = eTECSInfo_findCell( VAR_path, &cellDesc); … … 452 436 // dly_tsk( 10000 ); 453 437 for( i = 0; i < n; i++ ){ 454 ercd = cCelltypeInfoTemp_getEntryInfo( i, &entDesc ); // ã¨ã©ã¼ã¯ã¿ãªã438 ercd = cCelltypeInfoTemp_getEntryInfo( i, &entDesc ); // エラーはみない 455 439 //syslog_2( LOG_NOTICE, "tTECSInfo.eTECSInfo.findRawEntryDescriptor 5 ercd=%d entDesc=%x", ercd, entDesc.vdes ); 456 440 cEntryInfoTemp_set_descriptor( entDesc ); … … 494 478 495 479 /* #[<POSTAMBLE>]# 496 * ããããä¸ã«éåãå£é¢æ°ãæ¸ãã¾ã480 * これより下に非受け口関数を書きます 497 481 * #[</POSTAMBLE>]#*/ 498 482 499 483 /* 500 * namespace_path ã VAR_path ã¸ã³ãã¼ãããã£ã¬ã¯ããªãã¹é¨ã¨ãªãã¸ã§ã¯ãåé¨ã«åå²ãã484 * namespace_path を VAR_path へコピーし、ディレクトリパス部とオブジェクト名部に分割する 501 485 * namespace_path "::namespace::subnamespace::object_name" 502 * VAR_path "::namespace::subnamespace\0:object_name" ä¸çªå³ã® '::' ã '\0:' ã«ç½®ãæãã503 * basename "object_name" ã¸ã®ãã¤ã³ã¿ãè¿ã486 * VAR_path "::namespace::subnamespace\0:object_name" 一番右の '::' を '\0:' に置き換える 487 * basename "object_name" へのポインタを返す 504 488 */ 505 489 static ER … … 514 498 return E_NOMEM; 515 499 } 516 if( VAR_path != *namespace_path ) // findRawEntryDescriptorInfo ããå¼ã°ããæãVAR_path ã«å 517 ¥ã£ã¦ããã®ã§ã³ãã¼ä¸è¦ 500 if( VAR_path != *namespace_path ) // findRawEntryDescriptorInfo から呼ばれた時、VAR_path に入っているのでコピー不要 518 501 strcpy( VAR_path, *namespace_path ); 519 502 p = &VAR_path[ len - 1 ]; … … 526 509 p--; 527 510 if( p < VAR_path || *p != ':' ) 528 return E_PAR; // :: ã§ã¯ãªãã: ã§ãã£ã511 return E_PAR; // :: ではなく、: であった 529 512 if( p == VAR_path ){ 530 513 *namespace_path = root_namespacepath;
Note:
See TracChangeset
for help on using the changeset viewer.