Changeset 315 for rubycfg_asp/trunk/csp
- Timestamp:
- Jul 23, 2017, 2:29:40 PM (7 years ago)
- Location:
- rubycfg_asp/trunk/csp
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
rubycfg_asp/trunk/csp/sample1/def.py
-
Property svn:eol-style
set to
native
-
Property svn:mime-type
set to
text/x-python; charset=UTF-8
-
Property svn:eol-style
set to
-
rubycfg_asp/trunk/csp/sample1/sample1.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ä¸è¨èä½æ¨©è 12 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 13 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 14 * å¤ã»åé 15 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 * è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 * ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 29 * ã¨ï¼ 30 * (a) åé 31 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 33 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 * (b) åé 35 å¸ã®å½¢æ 36 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 37 * å ±åãããã¨ï¼ 38 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 39 * 害ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ããå 41 責ãããã¨ï¼ 42 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 43 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 44 ããã³TOPPERSããã¸ã§ã¯ãã 45 * å 46 責ãããã¨ï¼ 11 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 47 33 * 48 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 * ã®è²¬ä»»ãè² ããªãï¼ 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 54 39 * 55 40 * $Id$ … … 57 42 58 43 /* 59 * ãµã³ãã«ããã°ã©ã (1)ã®æ¬ä½ 60 * 61 * ASPã«ã¼ãã«ã®åºæ¬çãªåä½ã確èªããããã®ãµã³ãã«ããã°ã©ã ï¼ 62 * 63 * ããã°ã©ã ã®æ¦è¦: 64 * 65 * ã¦ã¼ã¶ã¤ã³ã¿ãã§ã¼ã¹ãåãæã¤ã¡ã¤ã³ã¿ã¹ã¯ï¼ã¿ã¹ã¯ID: MAIN_TASKï¼åª 66 * å 67 度: MAIN_PRIORITYï¼ã¨ï¼3ã¤ã®ä¸¦è¡å®è¡ãããã¿ã¹ã¯ï¼ã¿ã¹ã¯ID: 68 * TASK1ï½TASK3ï¼åæåªå 69 度: MID_PRIORITYï¼ã§æ§æãããï¼ã¾ãï¼èµ·åå¨ 70 * æã2ç§ã®å¨æãã³ãã©ï¼å¨æãã³ãã©ID: CYCHDR1ï¼ãç¨ããï¼ 71 * 72 * 並è¡å®è¡ãããã¿ã¹ã¯ã¯ï¼task_loopå空ã«ã¼ããå®è¡ãã度ã«ï¼ã¿ã¹ã¯ã 73 * å®è¡ä¸ã§ãããã¨ãããããã¡ãã»ã¼ã¸ã表示ããï¼ç©ºã«ã¼ããå®è¡ãã 74 * ã®ã¯ï¼ç©ºã«ã¼ããªãã§ã¡ãã»ã¼ã¸ãåºåããã¨ï¼å¤éã®ã¡ãã»ã¼ã¸ãåºå 75 * ããï¼ããã°ã©ã ã®åä½ã確èªãããããªãããã§ããï¼ã¾ãï¼ä½éãªã· 76 * ãªã¢ã«ãã¼ããç¨ãã¦ã¡ãã»ã¼ã¸ãåºåããå ´åã«ï¼ãã¹ã¦ã®ã¡ãã»ã¼ã¸ 77 * ãåºåã§ããããã«ï¼ã¡ãã»ã¼ã¸ã®éãå¶éããã¨ããçç±ãããï¼ 78 * 79 * å¨æãã³ãã©ã¯ï¼ä¸ã¤ã®åªå 80 度ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼ 81 * LOW_PRIORITYï¼ã®ã¬ãã£ãã¥ã¼ãå転ãããï¼ããã°ã©ã ã®èµ·åç´å¾ã¯ï¼ 82 * å¨æãã³ãã©ã¯åæ¢ç¶æ 83 ã«ãªã£ã¦ããï¼ 84 * 85 * ã¡ã¤ã³ã¿ã¹ã¯ã¯ï¼ã·ãªã¢ã«I/Oãã¼ãããã®æåå 86 ¥åãè¡ãï¼æåå 87 ¥åã 88 * å¾ 89 ã£ã¦ããéã¯ï¼ä¸¦è¡å®è¡ãããã¿ã¹ã¯ãå®è¡ããã¦ããï¼ï¼å 90 ¥åããã 91 * æåã«å¯¾å¿ããå¦çãå®è¡ããï¼å 92 ¥åãããæåã¨å¦çã®é¢ä¿ã¯æ¬¡ã®éãï¼ 93 * Control-Cã¾ãã¯'Q'ãå 94 ¥åãããã¨ï¼ããã°ã©ã ãçµäºããï¼ 95 * 96 * '1' : 対象ã¿ã¹ã¯ãTASK1ã«åãæããï¼åæè¨å®ï¼ï¼ 97 * '2' : 対象ã¿ã¹ã¯ãTASK2ã«åãæããï¼ 98 * '3' : 対象ã¿ã¹ã¯ãTASK3ã«åãæããï¼ 99 * 'a' : 対象ã¿ã¹ã¯ãact_tskã«ããèµ·åããï¼ 100 * 'A' : 対象ã¿ã¹ã¯ã«å¯¾ããèµ·åè¦æ±ãcan_actã«ãããã£ã³ã»ã«ããï¼ 101 * 'e' : 対象ã¿ã¹ã¯ã«ext_tskãå¼ã³åºããï¼çµäºãããï¼ 102 * 't' : 対象ã¿ã¹ã¯ãter_tskã«ããå¼·å¶çµäºããï¼ 103 * '>' : 対象ã¿ã¹ã¯ã®åªå 104 度ãHIGH_PRIORITYã«ããï¼ 105 * '=' : 対象ã¿ã¹ã¯ã®åªå 106 度ãMID_PRIORITYã«ããï¼ 107 * '<' : 対象ã¿ã¹ã¯ã®åªå 108 度ãLOW_PRIORITYã«ããï¼ 109 * 'G' : 対象ã¿ã¹ã¯ã®åªå 110 度ãget_priã§èªã¿åºãï¼ 111 * 's' : 対象ã¿ã¹ã¯ã«slp_tskãå¼ã³åºããï¼èµ·åºå¾ 112 ã¡ã«ãããï¼ 113 * 'S' : 対象ã¿ã¹ã¯ã«tslp_tsk(10ç§)ãå¼ã³åºããï¼èµ·åºå¾ 114 ã¡ã«ãããï¼ 115 * 'w' : 対象ã¿ã¹ã¯ãwup_tskã«ããèµ·åºããï¼ 116 * 'W' : 対象ã¿ã¹ã¯ã«å¯¾ããèµ·åºè¦æ±ãcan_wupã«ãããã£ã³ã»ã«ããï¼ 117 * 'l' : 対象ã¿ã¹ã¯ãrel_waiã«ããå¼·å¶çã«å¾ 118 ã¡è§£é¤ã«ããï¼ 119 * 'u' : 対象ã¿ã¹ã¯ãsus_tskã«ããå¼·å¶å¾ 120 ã¡ç¶æ 121 ã«ããï¼ 122 * 'm' : 対象ã¿ã¹ã¯ã®å¼·å¶å¾ 123 ã¡ç¶æ 124 ãrsm_tskã«ãã解é¤ããï¼ 125 * 'd' : 対象ã¿ã¹ã¯ã«dly_tsk(10ç§)ãå¼ã³åºããï¼æéçµéå¾ 126 ã¡ã«ãããï¼ 127 * 'x' : 対象ã¿ã¹ã¯ã«ä¾å¤ãã¿ã¼ã³0x0001ã®ä¾å¤å¦çãè¦æ±ããï¼ 128 * 'X' : 対象ã¿ã¹ã¯ã«ä¾å¤ãã¿ã¼ã³0x0002ã®ä¾å¤å¦çãè¦æ±ããï¼ 129 * 'y' : 対象ã¿ã¹ã¯ã«dis_texãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãç¦æ¢ããï¼ 130 * 'Y' : 対象ã¿ã¹ã¯ã«ena_texãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ã許å¯ããï¼ 131 * 'r' : 3ã¤ã®åªå 132 度ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITYï¼ã®ã¬ 133 * ãã£ãã¥ã¼ãå転ãããï¼ 134 * 'c' : å¨æãã³ãã©ãåä½éå§ãããï¼ 135 * 'C' : å¨æãã³ãã©ãåä½åæ¢ãããï¼ 136 * 'b' : ã¢ã©ã¼ã ãã³ãã©ã5ç§å¾ã«èµ·åããããåä½éå§ãããï¼ 137 * 'B' : ã¢ã©ã¼ã ãã³ãã©ãåä½åæ¢ãããï¼ 138 * 'z' : 対象ã¿ã¹ã¯ã«CPUä¾å¤ãçºçãããï¼ã¿ã¹ã¯ãçµäºãããï¼ï¼ 139 * 'Z' : 対象ã¿ã¹ã¯ã«CPUããã¯ç¶æ 140 ã§CPUä¾å¤ãçºçãããï¼ããã°ã©ã ã 141 * çµäºããï¼ï¼ 142 * '@' : ã¿ã¹ã¯3ãacre_tskã«ããçæãï¼def_texã«ããã¿ã¹ã¯ä¾å¤å¦ç 143 * ã«ã¼ãã³ãè¨å®ããï¼ 144 * '!' : 対象ã¿ã¹ã¯ãdel_tskã«ããåé¤ããï¼ 145 * 'V' : get_utmã§æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã2åèªãï¼ 146 * 'v' : çºè¡ããã·ã¹ãã ã³ã¼ã«ã表示ããï¼ããã©ã«ãï¼ï¼ 147 * 'q' : çºè¡ããã·ã¹ãã ã³ã¼ã«ã表示ããªãï¼ 44 * サンプルプログラム(1)の本体 45 * 46 * ASPカーネルの基本的な動作を確認するためのサンプルプログラム. 47 * 48 * プログラムの概要: 49 * 50 * ユーザインタフェースを受け持つメインタスク(タスクID: MAIN_TASK,優 51 * 先度: MAIN_PRIORITY)と,3つの並行実行されるタスク(タスクID: 52 * TASK1~TASK3,初期優先度: MID_PRIORITY)で構成される.また,起動周 53 * 期が2秒の周期ハンドラ(周期ハンドラID: CYCHDR1)を用いる. 54 * 55 * 並行実行されるタスクは,task_loop回空ループを実行する度に,タスクが 56 * 実行中であることをあらわすメッセージを表示する.空ループを実行する 57 * のは,空ループなしでメッセージを出力すると,多量のメッセージが出力 58 * され,プログラムの動作が確認しずらくなるためである.また,低速なシ 59 * リアルポートを用いてメッセージを出力する場合に,すべてのメッセージ 60 * が出力できるように,メッセージの量を制限するという理由もある. 61 * 62 * 周期ハンドラは,三つの優先度(HIGH_PRIORITY,MID_PRIORITY, 63 * LOW_PRIORITY)のレディキューを回転させる.プログラムの起動直後は, 64 * 周期ハンドラは停止状態になっている. 65 * 66 * メインタスクは,シリアルI/Oポートからの文字入力を行い(文字入力を 67 * 待っている間は,並行実行されるタスクが実行されている),入力された 68 * 文字に対応した処理を実行する.入力された文字と処理の関係は次の通り. 69 * Control-Cまたは'Q'が入力されると,プログラムを終了する. 70 * 71 * '1' : 対象タスクをTASK1に切り換える(初期設定). 72 * '2' : 対象タスクをTASK2に切り換える. 73 * '3' : 対象タスクをTASK3に切り換える. 74 * 'a' : 対象タスクをact_tskにより起動する. 75 * 'A' : 対象タスクに対する起動要求をcan_actによりキャンセルする. 76 * 'e' : 対象タスクにext_tskを呼び出させ,終了させる. 77 * 't' : 対象タスクをter_tskにより強制終了する. 78 * '>' : 対象タスクの優先度をHIGH_PRIORITYにする. 79 * '=' : 対象タスクの優先度をMID_PRIORITYにする. 80 * '<' : 対象タスクの優先度をLOW_PRIORITYにする. 81 * 'G' : 対象タスクの優先度をget_priで読み出す. 82 * 's' : 対象タスクにslp_tskを呼び出させ,起床待ちにさせる. 83 * 'S' : 対象タスクにtslp_tsk(10秒)を呼び出させ,起床待ちにさせる. 84 * 'w' : 対象タスクをwup_tskにより起床する. 85 * 'W' : 対象タスクに対する起床要求をcan_wupによりキャンセルする. 86 * 'l' : 対象タスクをrel_waiにより強制的に待ち解除にする. 87 * 'u' : 対象タスクをsus_tskにより強制待ち状態にする. 88 * 'm' : 対象タスクの強制待ち状態をrsm_tskにより解除する. 89 * 'd' : 対象タスクにdly_tsk(10秒)を呼び出させ,時間経過待ちにさせる. 90 * 'x' : 対象タスクに例外パターン0x0001の例外処理を要求する. 91 * 'X' : 対象タスクに例外パターン0x0002の例外処理を要求する. 92 * 'y' : 対象タスクにdis_texを呼び出させ,タスク例外を禁止する. 93 * 'Y' : 対象タスクにena_texを呼び出させ,タスク例外を許可する. 94 * 'r' : 3つの優先度(HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY)のレ 95 * ディキューを回転させる. 96 * 'c' : 周期ハンドラを動作開始させる. 97 * 'C' : 周期ハンドラを動作停止させる. 98 * 'b' : アラームハンドラを5秒後に起動するよう動作開始させる. 99 * 'B' : アラームハンドラを動作停止させる. 100 * 'z' : 対象タスクにCPU例外を発生させる(タスクを終了させる). 101 * 'Z' : 対象タスクにCPUロック状態でCPU例外を発生させる(プログラムを 102 * 終了する). 103 * '@' : タスク3をacre_tskにより生成し,def_texによりタスク例外処理 104 * ルーチンを設定する. 105 * '!' : 対象タスクをdel_tskにより削除する. 106 * 'V' : get_utmで性能評価用システム時刻を2回読む. 107 * 'v' : 発行したシステムコールを表示する(デフォルト). 108 * 'q' : 発行したシステムコールを表示しない. 148 109 */ 149 110 … … 157 118 158 119 /* 159 * ãµã¼ãã¹ã³ã¼ã«ã®ã¨ã©ã¼ã®ãã°åºå120 * サービスコールのエラーのログ出力 160 121 */ 161 122 Inline void … … 170 131 171 132 /* 172 * 並è¡å®è¡ãããã¿ã¹ã¯ã¸ã®ã¡ãã»ã¼ã¸é å133 * 並行実行されるタスクへのメッセージ領域 173 134 */ 174 135 char message[3]; 175 136 176 137 /* 177 * ã«ã¼ãåæ° 178 */ 179 ulong_t task_loop; /* ã¿ã¹ã¯å 180 ã§ã®ã«ã¼ãåæ° */ 181 ulong_t tex_loop; /* ä¾å¤å¦çã«ã¼ãã³å 182 ã§ã®ã«ã¼ãåæ° */ 183 184 /* 185 * 並è¡å®è¡ãããã¿ã¹ã¯ 138 * ループ回数 139 */ 140 ulong_t task_loop; /* タスク内でのループ回数 */ 141 ulong_t tex_loop; /* 例外処理ルーチン内でのループ回数 */ 142 143 /* 144 * 並行実行されるタスク 186 145 */ 187 146 void task(intptr_t exinf) … … 244 203 245 204 /* 246 * 並è¡ãã¦å®è¡ãããã¿ã¹ã¯ç¨ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³205 * 並行して実行されるタスク用のタスク例外処理ルーチン 247 206 */ 248 207 void tex_routine(TEXPTN texptn, intptr_t exinf) … … 262 221 263 222 /* 264 * CPU ä¾å¤ãã³ãã©223 * CPU例外ハンドラ 265 224 */ 266 225 #ifdef CPUEXC1 … … 298 257 299 258 /* 300 * å¨æãã³ãã© 301 * 302 * HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITY ã®ååªå 303 度ã®ã¬ãã£ãã¥ã¼ 304 * ãå転ãããï¼ 259 * 周期ハンドラ 260 * 261 * HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー 262 * を回転させる. 305 263 */ 306 264 void cyclic_handler(intptr_t exinf) … … 312 270 313 271 /* 314 * ã¢ã©ã¼ã ãã³ãã© 315 * 316 * HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITY ã®ååªå 317 度ã®ã¬ãã£ãã¥ã¼ 318 * ãå転ãããï¼ 272 * アラームハンドラ 273 * 274 * HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー 275 * を回転させる. 319 276 */ 320 277 void alarm_handler(intptr_t exinf) … … 326 283 327 284 /* 328 * ã¡ã¤ã³ã¿ã¹ã¯285 * メインタスク 329 286 */ 330 287 void main_task(intptr_t exinf) … … 350 307 351 308 /* 352 * ã·ãªã¢ã«ãã¼ãã®åæå353 * 354 * ã·ã¹ãã ãã°ã¿ã¹ã¯ã¨åãã·ãªã¢ã«ãã¼ãã使ãå ´åãªã©ï¼ã·ãªã¢ã«355 * ãã¼ãããªã¼ãã³æ¸ã¿ã®å ´åã«ã¯ããã§E_OBJã¨ã©ã¼ã«ãªããï¼æ¯éã¯356 * ãªãï¼309 * シリアルポートの初期化 310 * 311 * システムログタスクと同じシリアルポートを使う場合など,シリアル 312 * ポートがオープン済みの場合にはここでE_OBJエラーになるが,支障は 313 * ない. 357 314 */ 358 315 ercd = serial_opn_por(TASK_PORTID); … … 365 322 366 323 /* 367 * ã«ã¼ãåæ°ã®è¨å® 368 * 369 * 並è¡å®è¡ãããã¿ã¹ã¯å 370 ã§ã®ç©ºã«ã¼ãã®åæ°ï¼task_loopï¼ã¯ï¼ç©ºã«ã¼ 371 * ãã®å®è¡æéãç´0.4ç§ã«ãªãããã«è¨å®ããï¼ãã®è¨å®ã®ããã«ï¼ 372 * LOOP_REFåã®ç©ºã«ã¼ãã®å®è¡æéãï¼ãã®åå¾ã§get_timãå¼ã¶ãã¨ã§ 373 * 測å®ãï¼ãã®æ¸¬å®çµæãã空ã«ã¼ãã®å®è¡æéã0.4ç§ã«ãªãã«ã¼ãå 374 * æ°ãæ±ãï¼task_loopã«è¨å®ããï¼ 375 * 376 * LOOP_REFã¯ï¼ããã©ã«ãã§ã¯1,000,000ã«è¨å®ãã¦ãããï¼æ³å®ããã 377 * ãé 378 ãããã»ããµã§ã¯ï¼ãµã³ãã«ããã°ã©ã ã®å®è¡éå§ã«æéããã 379 * ããããã¨ããåé¡ãçããï¼éã«æ³å®ããããéãããã»ããµã§ã¯ï¼ 380 * LOOP_REFåã®ç©ºã«ã¼ãã®å®è¡æéãçããªãï¼task_loopã«è¨å®ããå¤ 381 * ã®èª¤å·®ã大ãããªãã¨ããåé¡ãããï¼ 382 * 383 * ããã§ï¼ãã®ãããªã¿ã¼ã²ããã§ã¯ï¼target_test.hã§ï¼LOOP_REFãé© 384 * åãªå¤ã«å®ç¾©ããã®ãæã¾ããï¼ 385 * 386 * ã¾ãï¼task_loopã®å¤ãåºå®ãããå ´åã«ã¯ï¼ãã®å¤ãTASK_LOOPã«ã 387 * ã¯ãå®ç¾©ããï¼TASK_LOOPããã¯ãå®ç¾©ããã¦ããå ´åï¼ä¸è¨ã®æ¸¬å®ã 388 * è¡ããã«ï¼TASK_LOOPã«å®ç¾©ãããå¤ã空ã«ã¼ãã®åæ°ã¨ããï¼ 389 * 390 * ã¿ã¼ã²ããã«ãã£ã¦ã¯ï¼ç©ºã«ã¼ãã®å®è¡æéã®1åç®ã®æ¸¬å®ã§ï¼æ¬æ¥ã 391 * ããé·ãã«ãªããã®ãããï¼ãã®ãããªã¿ã¼ã²ããã§ã¯ï¼MEASURE_TWICE 392 * ããã¯ãå®ç¾©ãããã¨ã§ï¼1åç®ã®æ¸¬å®çµæãæ¨ã¦ã¦ï¼2åç®ã®æ¸¬å®çµæ 393 * ã使ãï¼ 394 * 395 * ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³å 396 ã§ã®ç©ºã«ã¼ãã®åæ°ï¼tex_loopï¼ã¯ï¼ 397 * task_loopã®4åã®1ã®å¤ï¼ç©ºã«ã¼ãã®å®è¡æéã0.1ç§ã«ãªãã«ã¼ãå 398 * æ°ï¼ã«è¨å®ããï¼ 324 * ループ回数の設定 325 * 326 * 並行実行されるタスク内での空ループの回数(task_loop)は,空ルー 327 * プの実行時間が約0.4秒になるように設定する.この設定のために, 328 * LOOP_REF回の空ループの実行時間を,その前後でget_timを呼ぶことで 329 * 測定し,その測定結果から空ループの実行時間が0.4秒になるループ回 330 * 数を求め,task_loopに設定する. 331 * 332 * LOOP_REFは,デフォルトでは1,000,000に設定しているが,想定したよ 333 * り遅いプロセッサでは,サンプルプログラムの実行開始に時間がかか 334 * りすぎるという問題を生じる.逆に想定したより速いプロセッサでは, 335 * LOOP_REF回の空ループの実行時間が短くなり,task_loopに設定する値 336 * の誤差が大きくなるという問題がある. 337 * 338 * そこで,そのようなターゲットでは,target_test.hで,LOOP_REFを適 339 * 切な値に定義するのが望ましい. 340 * 341 * また,task_loopの値を固定したい場合には,その値をTASK_LOOPにマ 342 * クロ定義する.TASK_LOOPがマクロ定義されている場合,上記の測定を 343 * 行わずに,TASK_LOOPに定義された値を空ループの回数とする. 344 * 345 * ターゲットによっては,空ループの実行時間の1回目の測定で,本来よ 346 * りも長めになるものがある.このようなターゲットでは,MEASURE_TWICE 347 * をマクロ定義することで,1回目の測定結果を捨てて,2回目の測定結果 348 * を使う. 349 * 350 * タスク例外処理ルーチン内での空ループの回数(tex_loop)は, 351 * task_loopの4分の1の値(空ループの実行時間が0.1秒になるループ回 352 * 数)に設定する. 399 353 */ 400 354 #ifdef TASK_LOOP … … 419 373 420 374 /* 421 * ã¿ã¹ã¯ã®èµ·å375 * タスクの起動 422 376 */ 423 377 SVC_PERROR(act_tsk(TASK1)); … … 425 379 426 380 /* 427 * ã¡ã¤ã³ã«ã¼ã381 * メインループ 428 382 */ 429 383 do { -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/csp/sample1/sample1.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ãµã³ãã«ããã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * サンプルプログラム(1)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/csp/sample1/sample1.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ä¸è¨èä½æ¨©è 12 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 13 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 14 * å¤ã»åé 15 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 * è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 * ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 29 * ã¨ï¼ 30 * (a) åé 31 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 33 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 * (b) åé 35 å¸ã®å½¢æ 36 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 37 * å ±åãããã¨ï¼ 38 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 39 * 害ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ããå 41 責ãããã¨ï¼ 42 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 43 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 44 ããã³TOPPERSããã¸ã§ã¯ãã 45 * å 46 責ãããã¨ï¼ 11 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 47 33 * 48 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 * ã®è²¬ä»»ãè² ããªãï¼ 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 54 39 * 55 40 * $Id$ … … 57 42 58 43 /* 59 * ãµã³ãã«ããã°ã©ã (1)ã®ããããã¡ã¤ã«44 * サンプルプログラム(1)のヘッダファイル 60 45 */ 61 46 62 47 /* 63 * ã¿ã¼ã²ããä¾åã®å®ç¾©48 * ターゲット依存の定義 64 49 */ 65 50 #include "target_test.h" 66 51 67 52 /* 68 * åã¿ã¹ã¯ã®åªå 69 度ã®å®ç¾© 53 * 各タスクの優先度の定義 70 54 */ 71 55 72 #define MAIN_PRIORITY 5 /* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå 73 度 */ 74 /* HIGH_PRIORITYããé«ãããã㨠*/ 56 #define MAIN_PRIORITY 5 /* メインタスクの優先度 */ 57 /* HIGH_PRIORITYより高くすること */ 75 58 76 #define HIGH_PRIORITY 9 /* 並è¡å®è¡ãããã¿ã¹ã¯ã®åªå 77 度 */ 59 #define HIGH_PRIORITY 9 /* 並行実行されるタスクの優先度 */ 78 60 #define MID_PRIORITY 10 79 61 #define LOW_PRIORITY 11 80 62 81 63 /* 82 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©64 * ターゲットに依存する可能性のある定数の定義 83 65 */ 84 66 85 67 #ifndef TASK_PORTID 86 #define TASK_PORTID 1 /* æåå 87 ¥åããã·ãªã¢ã«ãã¼ãID */ 68 #define TASK_PORTID 1 /* 文字入力するシリアルポートID */ 88 69 #endif /* TASK_PORTID */ 89 70 90 71 #ifndef STACK_SIZE 91 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/72 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 92 73 #endif /* STACK_SIZE */ 93 74 94 75 #ifndef KMM_SIZE 95 #define KMM_SIZE (STACK_SIZE * 16) /* ã«ã¼ãã«ãå²ãä»ãã*/96 #endif /* KMM_SIZE */ /* ã¡ã¢ãªé åã®ãµã¤ãº*/76 #define KMM_SIZE (STACK_SIZE * 16) /* カーネルが割り付ける */ 77 #endif /* KMM_SIZE */ /* メモリ領域のサイズ */ 97 78 98 79 #ifndef LOOP_REF 99 #define LOOP_REF ULONG_C(1000000) /* é度è¨æ¸¬ç¨ã®ã«ã¼ãåæ°*/80 #define LOOP_REF ULONG_C(1000000) /* 速度計測用のループ回数 */ 100 81 #endif /* LOOP_REF */ 101 82 102 83 /* 103 * é¢æ°ã®ãããã¿ã¤ã宣è¨84 * 関数のプロトタイプ宣言 104 85 */ 105 86 #ifndef TOPPERS_MACRO_ONLY -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/csp/sample1n/def.py
-
Property svn:eol-style
set to
native
-
Property svn:mime-type
set to
text/x-python; charset=UTF-8
-
Property svn:eol-style
set to
-
rubycfg_asp/trunk/csp/sample1n/route_cfg.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 5 5 * Tomakomai National College of Technology, JAPAN 6 6 * 7 * ä¸è¨èä½æ¨©è 8 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 9 * ã«ãã£ã¦å 10 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 11 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 12 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 13 å¸ï¼ä»¥ä¸ï¼ 14 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 15 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 16 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 17 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 18 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 19 * ç¨ã§ããå½¢ã§åé 20 å¸ããå ´åã«ã¯ï¼åé 21 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 22 * è 23 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 24 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 25 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 26 * ç¨ã§ããªãå½¢ã§åé 27 å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼ 28 * (a) åé 29 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 30 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 31 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 32 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 33 * 害ãããï¼ä¸è¨èä½æ¨©è 34 ããã³TOPPERSããã¸ã§ã¯ããå 35 責ãããã¨ï¼ 7 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 8 * によって公表されている GNU General Public License の Version 2 に記 9 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 10 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 11 * 利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 * スコード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 * の無保証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 * 用できない形で再配布する場合には,次の条件を満たすこと. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ã«ã¼ãã£ã³ã°è¡¨35 * ルーティング表 48 36 */ 49 37 … … 56 44 #include <netinet/in_var.h> 57 45 58 /* IPv6 ã«é¢ããå®ç¾©*/46 /* IPv6 に関する定義 */ 59 47 60 48 #ifdef _IP6_CFG … … 68 56 #endif /* of #ifdef _IP6_CFG */ 69 57 70 /* IPv4 ã«é¢ããå®ç¾©*/58 /* IPv4 に関する定義 */ 71 59 72 60 #ifdef _IP4_CFG … … 92 80 T_IN4_RTENTRY routing4_tbl[NUM_IN4_ROUTE_ENTRY] = { 93 81 94 /* ç°ãªã LANãdefault gateway ã«ããéæ¥é 95 é */ 82 /* 異なる LAN、default gateway による間接配送 */ 96 83 { 0, 0, IPV4_ADDR_DEFAULT_GW }, 97 84 98 /* åä¸ LAN å 99 ãç´æ¥é 100 é */ 85 /* 同一 LAN 内、直接配送 */ 101 86 { IPV4_ADDR_LOCAL & 102 87 IPV4_ADDR_LOCAL_MASK, IPV4_ADDR_LOCAL_MASK, 0 }, 103 88 104 /* åä¸ LAN å 105 ã¸ã®ããã¼ããã£ã¹ããç´æ¥é 106 é */ 89 /* 同一 LAN 内へのブロードキャスト、直接配送 */ 107 90 { 0xffffffff, 0xffffffff, 0 }, 108 91 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/csp/sample1n/sample1.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ä¸è¨èä½æ¨©è 12 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 13 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 14 * å¤ã»åé 15 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 * è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 * ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 29 * ã¨ï¼ 30 * (a) åé 31 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 33 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 * (b) åé 35 å¸ã®å½¢æ 36 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 37 * å ±åãããã¨ï¼ 38 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 39 * 害ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ããå 41 責ãããã¨ï¼ 42 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 43 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 44 ããã³TOPPERSããã¸ã§ã¯ãã 45 * å 46 責ãããã¨ï¼ 11 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 47 33 * 48 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 * ã®è²¬ä»»ãè² ããªãï¼ 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 54 39 * 55 40 * $Id$ … … 57 42 58 43 /* 59 * ãµã³ãã«ããã°ã©ã (1)ã®æ¬ä½ 60 * 61 * ASPã«ã¼ãã«ã®åºæ¬çãªåä½ã確èªããããã®ãµã³ãã«ããã°ã©ã ï¼ 62 * 63 * ããã°ã©ã ã®æ¦è¦: 64 * 65 * ã¦ã¼ã¶ã¤ã³ã¿ãã§ã¼ã¹ãåãæã¤ã¡ã¤ã³ã¿ã¹ã¯ï¼ã¿ã¹ã¯ID: MAIN_TASKï¼åª 66 * å 67 度: MAIN_PRIORITYï¼ã¨ï¼3ã¤ã®ä¸¦è¡å®è¡ãããã¿ã¹ã¯ï¼ã¿ã¹ã¯ID: 68 * TASK1ï½TASK3ï¼åæåªå 69 度: MID_PRIORITYï¼ã§æ§æãããï¼ã¾ãï¼èµ·åå¨ 70 * æã2ç§ã®å¨æãã³ãã©ï¼å¨æãã³ãã©ID: CYCHDR1ï¼ãç¨ããï¼ 71 * 72 * 並è¡å®è¡ãããã¿ã¹ã¯ã¯ï¼task_loopå空ã«ã¼ããå®è¡ãã度ã«ï¼ã¿ã¹ã¯ã 73 * å®è¡ä¸ã§ãããã¨ãããããã¡ãã»ã¼ã¸ã表示ããï¼ç©ºã«ã¼ããå®è¡ãã 74 * ã®ã¯ï¼ç©ºã«ã¼ããªãã§ã¡ãã»ã¼ã¸ãåºåããã¨ï¼å¤éã®ã¡ãã»ã¼ã¸ãåºå 75 * ããï¼ããã°ã©ã ã®åä½ã確èªãããããªãããã§ããï¼ã¾ãï¼ä½éãªã· 76 * ãªã¢ã«ãã¼ããç¨ãã¦ã¡ãã»ã¼ã¸ãåºåããå ´åã«ï¼ãã¹ã¦ã®ã¡ãã»ã¼ã¸ 77 * ãåºåã§ããããã«ï¼ã¡ãã»ã¼ã¸ã®éãå¶éããã¨ããçç±ãããï¼ 78 * 79 * å¨æãã³ãã©ã¯ï¼ä¸ã¤ã®åªå 80 度ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼ 81 * LOW_PRIORITYï¼ã®ã¬ãã£ãã¥ã¼ãå転ãããï¼ããã°ã©ã ã®èµ·åç´å¾ã¯ï¼ 82 * å¨æãã³ãã©ã¯åæ¢ç¶æ 83 ã«ãªã£ã¦ããï¼ 84 * 85 * ã¡ã¤ã³ã¿ã¹ã¯ã¯ï¼ã·ãªã¢ã«I/Oãã¼ãããã®æåå 86 ¥åãè¡ãï¼æåå 87 ¥åã 88 * å¾ 89 ã£ã¦ããéã¯ï¼ä¸¦è¡å®è¡ãããã¿ã¹ã¯ãå®è¡ããã¦ããï¼ï¼å 90 ¥åããã 91 * æåã«å¯¾å¿ããå¦çãå®è¡ããï¼å 92 ¥åãããæåã¨å¦çã®é¢ä¿ã¯æ¬¡ã®éãï¼ 93 * Control-Cã¾ãã¯'Q'ãå 94 ¥åãããã¨ï¼ããã°ã©ã ãçµäºããï¼ 95 * 96 * '1' : 対象ã¿ã¹ã¯ãTASK1ã«åãæããï¼åæè¨å®ï¼ï¼ 97 * '2' : 対象ã¿ã¹ã¯ãTASK2ã«åãæããï¼ 98 * '3' : 対象ã¿ã¹ã¯ãTASK3ã«åãæããï¼ 99 * 'a' : 対象ã¿ã¹ã¯ãact_tskã«ããèµ·åããï¼ 100 * 'A' : 対象ã¿ã¹ã¯ã«å¯¾ããèµ·åè¦æ±ãcan_actã«ãããã£ã³ã»ã«ããï¼ 101 * 'e' : 対象ã¿ã¹ã¯ã«ext_tskãå¼ã³åºããï¼çµäºãããï¼ 102 * 't' : 対象ã¿ã¹ã¯ãter_tskã«ããå¼·å¶çµäºããï¼ 103 * '>' : 対象ã¿ã¹ã¯ã®åªå 104 度ãHIGH_PRIORITYã«ããï¼ 105 * '=' : 対象ã¿ã¹ã¯ã®åªå 106 度ãMID_PRIORITYã«ããï¼ 107 * '<' : 対象ã¿ã¹ã¯ã®åªå 108 度ãLOW_PRIORITYã«ããï¼ 109 * 'G' : 対象ã¿ã¹ã¯ã®åªå 110 度ãget_priã§èªã¿åºãï¼ 111 * 's' : 対象ã¿ã¹ã¯ã«slp_tskãå¼ã³åºããï¼èµ·åºå¾ 112 ã¡ã«ãããï¼ 113 * 'S' : 対象ã¿ã¹ã¯ã«tslp_tsk(10ç§)ãå¼ã³åºããï¼èµ·åºå¾ 114 ã¡ã«ãããï¼ 115 * 'w' : 対象ã¿ã¹ã¯ãwup_tskã«ããèµ·åºããï¼ 116 * 'W' : 対象ã¿ã¹ã¯ã«å¯¾ããèµ·åºè¦æ±ãcan_wupã«ãããã£ã³ã»ã«ããï¼ 117 * 'l' : 対象ã¿ã¹ã¯ãrel_waiã«ããå¼·å¶çã«å¾ 118 ã¡è§£é¤ã«ããï¼ 119 * 'u' : 対象ã¿ã¹ã¯ãsus_tskã«ããå¼·å¶å¾ 120 ã¡ç¶æ 121 ã«ããï¼ 122 * 'm' : 対象ã¿ã¹ã¯ã®å¼·å¶å¾ 123 ã¡ç¶æ 124 ãrsm_tskã«ãã解é¤ããï¼ 125 * 'd' : 対象ã¿ã¹ã¯ã«dly_tsk(10ç§)ãå¼ã³åºããï¼æéçµéå¾ 126 ã¡ã«ãããï¼ 127 * 'x' : 対象ã¿ã¹ã¯ã«ä¾å¤ãã¿ã¼ã³0x0001ã®ä¾å¤å¦çãè¦æ±ããï¼ 128 * 'X' : 対象ã¿ã¹ã¯ã«ä¾å¤ãã¿ã¼ã³0x0002ã®ä¾å¤å¦çãè¦æ±ããï¼ 129 * 'y' : 対象ã¿ã¹ã¯ã«dis_texãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ãç¦æ¢ããï¼ 130 * 'Y' : 対象ã¿ã¹ã¯ã«ena_texãå¼ã³åºããï¼ã¿ã¹ã¯ä¾å¤ã許å¯ããï¼ 131 * 'r' : 3ã¤ã®åªå 132 度ï¼HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITYï¼ã®ã¬ 133 * ãã£ãã¥ã¼ãå転ãããï¼ 134 * 'c' : å¨æãã³ãã©ãåä½éå§ãããï¼ 135 * 'C' : å¨æãã³ãã©ãåä½åæ¢ãããï¼ 136 * 'b' : ã¢ã©ã¼ã ãã³ãã©ã5ç§å¾ã«èµ·åããããåä½éå§ãããï¼ 137 * 'B' : ã¢ã©ã¼ã ãã³ãã©ãåä½åæ¢ãããï¼ 138 * 'z' : 対象ã¿ã¹ã¯ã«CPUä¾å¤ãçºçãããï¼ã¿ã¹ã¯ãçµäºãããï¼ï¼ 139 * 'Z' : 対象ã¿ã¹ã¯ã«CPUããã¯ç¶æ 140 ã§CPUä¾å¤ãçºçãããï¼ããã°ã©ã ã 141 * çµäºããï¼ï¼ 142 * '@' : ã¿ã¹ã¯3ãacre_tskã«ããçæãï¼def_texã«ããã¿ã¹ã¯ä¾å¤å¦ç 143 * ã«ã¼ãã³ãè¨å®ããï¼ 144 * '!' : 対象ã¿ã¹ã¯ãdel_tskã«ããåé¤ããï¼ 145 * 'V' : get_utmã§æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã2åèªãï¼ 146 * 'v' : çºè¡ããã·ã¹ãã ã³ã¼ã«ã表示ããï¼ããã©ã«ãï¼ï¼ 147 * 'q' : çºè¡ããã·ã¹ãã ã³ã¼ã«ã表示ããªãï¼ 44 * サンプルプログラム(1)の本体 45 * 46 * ASPカーネルの基本的な動作を確認するためのサンプルプログラム. 47 * 48 * プログラムの概要: 49 * 50 * ユーザインタフェースを受け持つメインタスク(タスクID: MAIN_TASK,優 51 * 先度: MAIN_PRIORITY)と,3つの並行実行されるタスク(タスクID: 52 * TASK1~TASK3,初期優先度: MID_PRIORITY)で構成される.また,起動周 53 * 期が2秒の周期ハンドラ(周期ハンドラID: CYCHDR1)を用いる. 54 * 55 * 並行実行されるタスクは,task_loop回空ループを実行する度に,タスクが 56 * 実行中であることをあらわすメッセージを表示する.空ループを実行する 57 * のは,空ループなしでメッセージを出力すると,多量のメッセージが出力 58 * され,プログラムの動作が確認しずらくなるためである.また,低速なシ 59 * リアルポートを用いてメッセージを出力する場合に,すべてのメッセージ 60 * が出力できるように,メッセージの量を制限するという理由もある. 61 * 62 * 周期ハンドラは,三つの優先度(HIGH_PRIORITY,MID_PRIORITY, 63 * LOW_PRIORITY)のレディキューを回転させる.プログラムの起動直後は, 64 * 周期ハンドラは停止状態になっている. 65 * 66 * メインタスクは,シリアルI/Oポートからの文字入力を行い(文字入力を 67 * 待っている間は,並行実行されるタスクが実行されている),入力された 68 * 文字に対応した処理を実行する.入力された文字と処理の関係は次の通り. 69 * Control-Cまたは'Q'が入力されると,プログラムを終了する. 70 * 71 * '1' : 対象タスクをTASK1に切り換える(初期設定). 72 * '2' : 対象タスクをTASK2に切り換える. 73 * '3' : 対象タスクをTASK3に切り換える. 74 * 'a' : 対象タスクをact_tskにより起動する. 75 * 'A' : 対象タスクに対する起動要求をcan_actによりキャンセルする. 76 * 'e' : 対象タスクにext_tskを呼び出させ,終了させる. 77 * 't' : 対象タスクをter_tskにより強制終了する. 78 * '>' : 対象タスクの優先度をHIGH_PRIORITYにする. 79 * '=' : 対象タスクの優先度をMID_PRIORITYにする. 80 * '<' : 対象タスクの優先度をLOW_PRIORITYにする. 81 * 'G' : 対象タスクの優先度をget_priで読み出す. 82 * 's' : 対象タスクにslp_tskを呼び出させ,起床待ちにさせる. 83 * 'S' : 対象タスクにtslp_tsk(10秒)を呼び出させ,起床待ちにさせる. 84 * 'w' : 対象タスクをwup_tskにより起床する. 85 * 'W' : 対象タスクに対する起床要求をcan_wupによりキャンセルする. 86 * 'l' : 対象タスクをrel_waiにより強制的に待ち解除にする. 87 * 'u' : 対象タスクをsus_tskにより強制待ち状態にする. 88 * 'm' : 対象タスクの強制待ち状態をrsm_tskにより解除する. 89 * 'd' : 対象タスクにdly_tsk(10秒)を呼び出させ,時間経過待ちにさせる. 90 * 'x' : 対象タスクに例外パターン0x0001の例外処理を要求する. 91 * 'X' : 対象タスクに例外パターン0x0002の例外処理を要求する. 92 * 'y' : 対象タスクにdis_texを呼び出させ,タスク例外を禁止する. 93 * 'Y' : 対象タスクにena_texを呼び出させ,タスク例外を許可する. 94 * 'r' : 3つの優先度(HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY)のレ 95 * ディキューを回転させる. 96 * 'c' : 周期ハンドラを動作開始させる. 97 * 'C' : 周期ハンドラを動作停止させる. 98 * 'b' : アラームハンドラを5秒後に起動するよう動作開始させる. 99 * 'B' : アラームハンドラを動作停止させる. 100 * 'z' : 対象タスクにCPU例外を発生させる(タスクを終了させる). 101 * 'Z' : 対象タスクにCPUロック状態でCPU例外を発生させる(プログラムを 102 * 終了する). 103 * '@' : タスク3をacre_tskにより生成し,def_texによりタスク例外処理 104 * ルーチンを設定する. 105 * '!' : 対象タスクをdel_tskにより削除する. 106 * 'V' : get_utmで性能評価用システム時刻を2回読む. 107 * 'v' : 発行したシステムコールを表示する(デフォルト). 108 * 'q' : 発行したシステムコールを表示しない. 148 109 */ 149 110 … … 158 119 159 120 /* 160 * ãµã¼ãã¹ã³ã¼ã«ã®ã¨ã©ã¼ã®ãã°åºå121 * サービスコールのエラーのログ出力 161 122 */ 162 123 Inline void … … 171 132 172 133 /* 173 * 並è¡å®è¡ãããã¿ã¹ã¯ã¸ã®ã¡ãã»ã¼ã¸é å134 * 並行実行されるタスクへのメッセージ領域 174 135 */ 175 136 char message[3]; 176 137 177 138 /* 178 * ã«ã¼ãåæ° 179 */ 180 ulong_t task_loop; /* ã¿ã¹ã¯å 181 ã§ã®ã«ã¼ãåæ° */ 182 ulong_t tex_loop; /* ä¾å¤å¦çã«ã¼ãã³å 183 ã§ã®ã«ã¼ãåæ° */ 184 185 /* 186 * 並è¡å®è¡ãããã¿ã¹ã¯ 139 * ループ回数 140 */ 141 ulong_t task_loop; /* タスク内でのループ回数 */ 142 ulong_t tex_loop; /* 例外処理ルーチン内でのループ回数 */ 143 144 /* 145 * 並行実行されるタスク 187 146 */ 188 147 void task(intptr_t exinf) … … 245 204 246 205 /* 247 * 並è¡ãã¦å®è¡ãããã¿ã¹ã¯ç¨ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³206 * 並行して実行されるタスク用のタスク例外処理ルーチン 248 207 */ 249 208 void tex_routine(TEXPTN texptn, intptr_t exinf) … … 263 222 264 223 /* 265 * CPU ä¾å¤ãã³ãã©224 * CPU例外ハンドラ 266 225 */ 267 226 #ifdef CPUEXC1 … … 299 258 300 259 /* 301 * å¨æãã³ãã© 302 * 303 * HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITY ã®ååªå 304 度ã®ã¬ãã£ãã¥ã¼ 305 * ãå転ãããï¼ 260 * 周期ハンドラ 261 * 262 * HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー 263 * を回転させる. 306 264 */ 307 265 void cyclic_handler(intptr_t exinf) … … 313 271 314 272 /* 315 * ã¢ã©ã¼ã ãã³ãã© 316 * 317 * HIGH_PRIORITYï¼MID_PRIORITYï¼LOW_PRIORITY ã®ååªå 318 度ã®ã¬ãã£ãã¥ã¼ 319 * ãå転ãããï¼ 273 * アラームハンドラ 274 * 275 * HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー 276 * を回転させる. 320 277 */ 321 278 void alarm_handler(intptr_t exinf) … … 327 284 328 285 /* 329 * ã¡ã¤ã³ã¿ã¹ã¯286 * メインタスク 330 287 */ 331 288 void main_task(intptr_t exinf) … … 351 308 352 309 /* 353 * ã·ãªã¢ã«ãã¼ãã®åæå354 * 355 * ã·ã¹ãã ãã°ã¿ã¹ã¯ã¨åãã·ãªã¢ã«ãã¼ãã使ãå ´åãªã©ï¼ã·ãªã¢ã«356 * ãã¼ãããªã¼ãã³æ¸ã¿ã®å ´åã«ã¯ããã§E_OBJã¨ã©ã¼ã«ãªããï¼æ¯éã¯357 * ãªãï¼310 * シリアルポートの初期化 311 * 312 * システムログタスクと同じシリアルポートを使う場合など,シリアル 313 * ポートがオープン済みの場合にはここでE_OBJエラーになるが,支障は 314 * ない. 358 315 */ 359 316 ercd = serial_opn_por(TASK_PORTID); … … 366 323 367 324 /* 368 * ã«ã¼ãåæ°ã®è¨å® 369 * 370 * 並è¡å®è¡ãããã¿ã¹ã¯å 371 ã§ã®ç©ºã«ã¼ãã®åæ°ï¼task_loopï¼ã¯ï¼ç©ºã«ã¼ 372 * ãã®å®è¡æéãç´0.4ç§ã«ãªãããã«è¨å®ããï¼ãã®è¨å®ã®ããã«ï¼ 373 * LOOP_REFåã®ç©ºã«ã¼ãã®å®è¡æéãï¼ãã®åå¾ã§get_timãå¼ã¶ãã¨ã§ 374 * 測å®ãï¼ãã®æ¸¬å®çµæãã空ã«ã¼ãã®å®è¡æéã0.4ç§ã«ãªãã«ã¼ãå 375 * æ°ãæ±ãï¼task_loopã«è¨å®ããï¼ 376 * 377 * LOOP_REFã¯ï¼ããã©ã«ãã§ã¯1,000,000ã«è¨å®ãã¦ãããï¼æ³å®ããã 378 * ãé 379 ãããã»ããµã§ã¯ï¼ãµã³ãã«ããã°ã©ã ã®å®è¡éå§ã«æéããã 380 * ããããã¨ããåé¡ãçããï¼éã«æ³å®ããããéãããã»ããµã§ã¯ï¼ 381 * LOOP_REFåã®ç©ºã«ã¼ãã®å®è¡æéãçããªãï¼task_loopã«è¨å®ããå¤ 382 * ã®èª¤å·®ã大ãããªãã¨ããåé¡ãããï¼ 383 * 384 * ããã§ï¼ãã®ãããªã¿ã¼ã²ããã§ã¯ï¼target_test.hã§ï¼LOOP_REFãé© 385 * åãªå¤ã«å®ç¾©ããã®ãæã¾ããï¼ 386 * 387 * ã¾ãï¼task_loopã®å¤ãåºå®ãããå ´åã«ã¯ï¼ãã®å¤ãTASK_LOOPã«ã 388 * ã¯ãå®ç¾©ããï¼TASK_LOOPããã¯ãå®ç¾©ããã¦ããå ´åï¼ä¸è¨ã®æ¸¬å®ã 389 * è¡ããã«ï¼TASK_LOOPã«å®ç¾©ãããå¤ã空ã«ã¼ãã®åæ°ã¨ããï¼ 390 * 391 * ã¿ã¼ã²ããã«ãã£ã¦ã¯ï¼ç©ºã«ã¼ãã®å®è¡æéã®1åç®ã®æ¸¬å®ã§ï¼æ¬æ¥ã 392 * ããé·ãã«ãªããã®ãããï¼ãã®ãããªã¿ã¼ã²ããã§ã¯ï¼MEASURE_TWICE 393 * ããã¯ãå®ç¾©ãããã¨ã§ï¼1åç®ã®æ¸¬å®çµæãæ¨ã¦ã¦ï¼2åç®ã®æ¸¬å®çµæ 394 * ã使ãï¼ 395 * 396 * ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³å 397 ã§ã®ç©ºã«ã¼ãã®åæ°ï¼tex_loopï¼ã¯ï¼ 398 * task_loopã®4åã®1ã®å¤ï¼ç©ºã«ã¼ãã®å®è¡æéã0.1ç§ã«ãªãã«ã¼ãå 399 * æ°ï¼ã«è¨å®ããï¼ 325 * ループ回数の設定 326 * 327 * 並行実行されるタスク内での空ループの回数(task_loop)は,空ルー 328 * プの実行時間が約0.4秒になるように設定する.この設定のために, 329 * LOOP_REF回の空ループの実行時間を,その前後でget_timを呼ぶことで 330 * 測定し,その測定結果から空ループの実行時間が0.4秒になるループ回 331 * 数を求め,task_loopに設定する. 332 * 333 * LOOP_REFは,デフォルトでは1,000,000に設定しているが,想定したよ 334 * り遅いプロセッサでは,サンプルプログラムの実行開始に時間がかか 335 * りすぎるという問題を生じる.逆に想定したより速いプロセッサでは, 336 * LOOP_REF回の空ループの実行時間が短くなり,task_loopに設定する値 337 * の誤差が大きくなるという問題がある. 338 * 339 * そこで,そのようなターゲットでは,target_test.hで,LOOP_REFを適 340 * 切な値に定義するのが望ましい. 341 * 342 * また,task_loopの値を固定したい場合には,その値をTASK_LOOPにマ 343 * クロ定義する.TASK_LOOPがマクロ定義されている場合,上記の測定を 344 * 行わずに,TASK_LOOPに定義された値を空ループの回数とする. 345 * 346 * ターゲットによっては,空ループの実行時間の1回目の測定で,本来よ 347 * りも長めになるものがある.このようなターゲットでは,MEASURE_TWICE 348 * をマクロ定義することで,1回目の測定結果を捨てて,2回目の測定結果 349 * を使う. 350 * 351 * タスク例外処理ルーチン内での空ループの回数(tex_loop)は, 352 * task_loopの4分の1の値(空ループの実行時間が0.1秒になるループ回 353 * 数)に設定する. 400 354 */ 401 355 #ifdef TASK_LOOP … … 420 374 421 375 /* 422 * ã¿ã¹ã¯ã®èµ·å376 * タスクの起動 423 377 */ 424 378 SVC_PERROR(act_tsk(TASK1)); … … 426 380 427 381 /* 428 * ã¡ã¤ã³ã«ã¼ã382 * メインループ 429 383 */ 430 384 do { -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/csp/sample1n/sample1.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ãµã³ãã«ããã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * サンプルプログラム(1)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/csp/sample1n/sample1.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ä¸è¨èä½æ¨©è 12 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 13 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 14 * å¤ã»åé 15 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 * è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 * ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 29 * ã¨ï¼ 30 * (a) åé 31 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 33 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 * (b) åé 35 å¸ã®å½¢æ 36 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 37 * å ±åãããã¨ï¼ 38 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 39 * 害ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ããå 41 責ãããã¨ï¼ 42 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 43 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 44 ããã³TOPPERSããã¸ã§ã¯ãã 45 * å 46 責ãããã¨ï¼ 11 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 47 33 * 48 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 * ã®è²¬ä»»ãè² ããªãï¼ 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 54 39 * 55 40 * $Id$ … … 57 42 58 43 /* 59 * ãµã³ãã«ããã°ã©ã (1)ã®ããããã¡ã¤ã«44 * サンプルプログラム(1)のヘッダファイル 60 45 */ 61 46 62 47 /* 63 * ã¿ã¼ã²ããä¾åã®å®ç¾©48 * ターゲット依存の定義 64 49 */ 65 50 #include "target_test.h" 66 51 67 52 /* 68 * åã¿ã¹ã¯ã®åªå 69 度ã®å®ç¾© 53 * 各タスクの優先度の定義 70 54 */ 71 55 72 #define MAIN_PRIORITY 5 /* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå 73 度 */ 74 /* HIGH_PRIORITYããé«ãããã㨠*/ 56 #define MAIN_PRIORITY 5 /* メインタスクの優先度 */ 57 /* HIGH_PRIORITYより高くすること */ 75 58 76 #define HIGH_PRIORITY 9 /* 並è¡å®è¡ãããã¿ã¹ã¯ã®åªå 77 度 */ 59 #define HIGH_PRIORITY 9 /* 並行実行されるタスクの優先度 */ 78 60 #define MID_PRIORITY 10 79 61 #define LOW_PRIORITY 11 80 62 81 63 /* 82 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©64 * ターゲットに依存する可能性のある定数の定義 83 65 */ 84 66 85 67 #ifndef TASK_PORTID 86 #define TASK_PORTID 1 /* æåå 87 ¥åããã·ãªã¢ã«ãã¼ãID */ 68 #define TASK_PORTID 1 /* 文字入力するシリアルポートID */ 88 69 #endif /* TASK_PORTID */ 89 70 90 71 #ifndef STACK_SIZE 91 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/72 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 92 73 #endif /* STACK_SIZE */ 93 74 94 75 #ifndef KMM_SIZE 95 #define KMM_SIZE (STACK_SIZE * 16) /* ã«ã¼ãã«ãå²ãä»ãã*/96 #endif /* KMM_SIZE */ /* ã¡ã¢ãªé åã®ãµã¤ãº*/76 #define KMM_SIZE (STACK_SIZE * 16) /* カーネルが割り付ける */ 77 #endif /* KMM_SIZE */ /* メモリ領域のサイズ */ 97 78 98 79 #ifndef LOOP_REF 99 #define LOOP_REF ULONG_C(1000000) /* é度è¨æ¸¬ç¨ã®ã«ã¼ãåæ°*/80 #define LOOP_REF ULONG_C(1000000) /* 速度計測用のループ回数 */ 100 81 #endif /* LOOP_REF */ 101 82 102 83 /* 103 * é¢æ°ã®ãããã¿ã¤ã宣è¨84 * 関数のプロトタイプ宣言 104 85 */ 105 86 #ifndef TOPPERS_MACRO_ONLY -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/csp/sample1n/sample1n.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 5 5 * Tomakomai National College of Technology, JAPAN 6 6 * 7 * ä¸è¨èä½æ¨©è 8 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 9 * ã«ãã£ã¦å 10 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 11 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 12 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 13 å¸ï¼ä»¥ä¸ï¼ 14 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 15 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 16 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 17 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 18 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 19 * ç¨ã§ããå½¢ã§åé 20 å¸ããå ´åã«ã¯ï¼åé 21 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 22 * è 23 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 24 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 25 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 26 * ç¨ã§ããªãå½¢ã§åé 27 å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼ 28 * (a) åé 29 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 30 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 31 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 32 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 33 * 害ãããï¼ä¸è¨èä½æ¨©è 34 ããã³TOPPERSããã¸ã§ã¯ããå 35 責ãããã¨ï¼ 7 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 8 * によって公表されている GNU General Public License の Version 2 に記 9 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 10 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 11 * 利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 * スコード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 * の無保証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 * 用できない形で再配布する場合には,次の条件を満たすこと. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãããã¯ã¼ã¯åãµã³ãã«ããã°ã©ã (1)ã®æ¬ä½35 * ネットワーク化サンプルプログラム(1)の本体 48 36 */ 49 37 … … 63 51 64 52 /* 65 * ãã¯ãå®ç¾©66 */ 67 68 /* ãªãã¼ã ã®è§£é¤*/53 * マクロ定義 54 */ 55 56 /* リネームの解除 */ 69 57 70 58 #undef syslog … … 74 62 #define EOF (-1) 75 63 76 /* TELNET ãªãã·ã§ã³*/64 /* TELNET オプション */ 77 65 78 66 #define TELNET_OPT_SE (240) … … 94 82 95 83 /* 96 * å¤æ°97 */ 98 99 /* TCP éåä¿¡ã¦ã£ã³ããããã¡*/84 * 変数 85 */ 86 87 /* TCP 送受信ウィンドバッファ */ 100 88 101 89 uint8_t tcp_swbuf[TCP_SWBUF_SIZE]; 102 90 uint8_t tcp_rwbuf[TCP_RWBUF_SIZE]; 103 91 104 bool_t connected = false; /* ã³ãã¯ã·ã§ã³ã®ç¶æ 105 */ 106 bool_t wait_accept = false; /* æ¥ç¶è¦æ±å¾ 107 ã¡ä¸ */ 92 bool_t connected = false; /* コネクションの状態 */ 93 bool_t wait_accept = false; /* 接続要求待ち中 */ 108 94 109 95 #ifdef SUPPORT_INET6 … … 131 117 132 118 /* 133 * ãããã¯ã¼ã¯å±¤ã®é¸æ119 * ネットワーク層の選択 134 120 */ 135 121 … … 151 137 152 138 /* 153 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°139 * ノンブロッキングコールのコールバック関数 154 140 */ 155 141 … … 185 171 186 172 /* 187 * ã³ãã¯ã·ã§ã³ãåæ173 * コネクションを切断 188 174 */ 189 175 … … 208 194 209 195 /* 210 * éä¿¡ãããã¡ã®ãã©ãã·ã¥196 * 送信バッファのフラッシュ 211 197 */ 212 198 … … 226 212 227 213 /* 228 * æåéä¿¡214 * 文字送信 229 215 */ 230 216 … … 253 239 254 240 /* 255 * æååä¿¡ï¼å¤æãªãï¼241 * 文字受信(変換なし) 256 242 */ 257 243 … … 282 268 283 269 /* 284 * æååä¿¡ï¼TELNET ãªãã·ã§ã³ãã¹ãããï¼270 * 文字受信(TELNET オプションをスキップ) 285 271 */ 286 272 … … 314 300 315 301 /* 316 * ã·ãªã¢ã«ãã¼ãããã®èªåºã302 * シリアルポートからの読出し 317 303 */ 318 304 … … 351 337 352 338 /* 353 * ã·ãªã¢ã«ãã¼ãã®å¶å¾¡339 * シリアルポートの制御 354 340 */ 355 341 … … 362 348 363 349 /* 364 * ãã£ã¨ãé·ãæ´æ°å (LONGEST) ã¨ç¬¦å·ãªãæ´æ°å(ULONGEST)350 * もっとも長い整数型 (LONGEST) と符号なし整数型 (ULONGEST) 365 351 */ 366 352 … … 387 373 388 374 /* 389 * ãã°ã®ã·ãã¥ã¬ã¼ã·ã§ã³390 */ 391 392 /* æ°å¤å¤æã®ããã®å¤æ表*/375 * ログのシミュレーション 376 */ 377 378 /* 数値変換のための変換表 */ 393 379 394 380 static const char radhex[] = "0123456789abcdef"; … … 396 382 397 383 /* 398 * put_num -- printf ã®æ°å¤å¤æ384 * put_num -- printf の数値変換 399 385 */ 400 386 … … 428 414 429 415 pad = ix; 430 if (!left) /* å³è©°ã*/416 if (!left) /* 右詰め */ 431 417 for ( ; pad < width; pad ++) 432 418 put_char(cepid, padchar); … … 435 421 put_char(cepid, digits[ix]); 436 422 437 if (left) /* 左詰ã*/423 if (left) /* 左詰め */ 438 424 for ( ; pad < width; pad ++) 439 425 put_char(cepid, padchar); … … 443 429 444 430 /* 445 * ipv6addr -- IPv6 ã¢ãã¬ã¹åºå431 * ipv6addr -- IPv6 アドレス出力 446 432 */ 447 433 … … 491 477 492 478 /* 493 * put_ipv4addr -- IPv4 ã¢ãã¬ã¹åºå479 * put_ipv4addr -- IPv4 アドレス出力 494 480 */ 495 481 … … 497 483 put_ipv4addr (ID cepid, ULONGEST *addr, int_t width) 498 484 { 499 int_t len = 3; /* 3 㯠'.' ã®æåæ°*/485 int_t len = 3; /* 3 は '.' の文字数 */ 500 486 501 487 #if _NET_CFG_BYTE_ORDER == _NET_CFG_BIG_ENDIAN … … 528 514 529 515 /* 530 * put_macaddr -- MAC ã¢ãã¬ã¹åºå516 * put_macaddr -- MAC アドレス出力 531 517 */ 532 518 … … 549 535 550 536 /* 551 * å¼æ°ãåãåºãããã®ãã¯ã537 * 引数を取り出すためのマクロ 552 538 */ 553 539 … … 583 569 584 570 /* 585 * ãã°åºå571 * ログ出力 586 572 */ 587 573 … … 599 585 va_start(ap, format); 600 586 while ((ch = *format ++) != '\0') { 601 if (ch != '%') { /* æ¸å¼æå®ä»¥å¤*/587 if (ch != '%') { /* 書式指定以外 */ 602 588 put_char(TCP_CEPID, (char)ch); 603 589 continue; … … 607 593 padchar = ' '; 608 594 609 if (ch == '-') { /* 左詰ã*/595 if (ch == '-') { /* 左詰め */ 610 596 format ++; 611 597 left = -1; … … 614 600 left = 1; 615 601 616 if ((ch = *format ++) == '0') { /* ä¸ä½æ¡ã®0 */602 if ((ch = *format ++) == '0') { /* 上位桁の 0 */ 617 603 padchar = '0'; 618 604 ch = *format ++; 619 605 } 620 606 621 while ('0' <= ch && ch <= '9') { /* åºåå¹ 622 */ 607 while ('0' <= ch && ch <= '9') { /* 出力幅 */ 623 608 width = width * 10 + ch - '0'; 624 609 ch = *format ++; 625 610 } 626 611 627 while (ch == 'l') { /* long (long) ã®æå®*/612 while (ch == 'l') { /* long (long) の指定 */ 628 613 longflag ++; 629 614 ch = *format ++; 630 615 } 631 616 632 while (ch == 'h') { /* short ã®æå®*/617 while (ch == 'h') { /* short の指定 */ 633 618 shortflag ++; 634 619 ch = *format ++; -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/csp/sample1n/sample1n.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ãããã¯ã¼ã¯å¯¾å¿ãµã³ãã«ããã°ã©ã (1)ã®7 * ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * ネットワーク対応サンプルプログラム(1)の 7 * システムコンフィギュレーションファイル 8 8 */ 9 9 … … 17 17 INCLUDE("tinet_sample1n.cfg"); 18 18 19 /* ã»ããã©*/19 /* セマフォ */ 20 20 21 21 CRE_SEM(SEM_TCP_SYSLOG, { TA_TPRI, 1, 1 }); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/csp/sample1n/sample1n.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 5 5 * Tomakomai National College of Technology, JAPAN 6 6 * 7 * ä¸è¨èä½æ¨©è 8 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 9 * ã«ãã£ã¦å 10 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 11 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 12 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 13 å¸ï¼ä»¥ä¸ï¼ 14 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 15 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 16 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 17 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 18 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 19 * ç¨ã§ããå½¢ã§åé 20 å¸ããå ´åã«ã¯ï¼åé 21 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 22 * è 23 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 24 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 25 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 26 * ç¨ã§ããªãå½¢ã§åé 27 å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼ 28 * (a) åé 29 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 30 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 31 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 32 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 33 * 害ãããï¼ä¸è¨èä½æ¨©è 34 ããã³TOPPERSããã¸ã§ã¯ããå 35 責ãããã¨ï¼ 7 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 8 * によって公表されている GNU General Public License の Version 2 に記 9 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 10 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 11 * 利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 * スコード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 * の無保証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 * 用できない形で再配布する場合には,次の条件を満たすこと. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 50 38 51 39 /* 52 * ãããã¯ã¼ã¯å¯¾å¿ãµã³ãã«ããã°ã©ã (1)ã®ããããã¡ã¤ã«40 * ネットワーク対応サンプルプログラム(1)のヘッダファイル 53 41 */ 54 42 55 /* TCP éåä¿¡ã¦ã£ã³ããããã¡ãµã¤ãº*/43 /* TCP 送受信ウィンドバッファサイズ */ 56 44 57 45 #define TCP_SWBUF_SIZE 512 58 46 #define TCP_RWBUF_SIZE 512 59 47 60 /* ãªãã¼ã*/48 /* リネーム */ 61 49 62 50 #define syslog net_syslog … … 66 54 #ifndef _MACRO_ONLY 67 55 68 /* TCP éåä¿¡ã¦ã£ã³ããããã¡*/56 /* TCP 送受信ウィンドバッファ */ 69 57 70 58 extern uint8_t tcp_swbuf[]; 71 59 extern uint8_t tcp_rwbuf[]; 72 60 73 /* ãããã¯ã¼ã¯å¯¾å¿åé¢æ°*/61 /* ネットワーク対応化関数 */ 74 62 75 63 extern void net_syslog(uint_t prio, const char *format, ...) throw(); … … 77 65 extern ER net_serial_ctl_por(ID portid, uint_t ioctl) throw(); 78 66 79 /* ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°*/67 /* ノンブロッキングコールのコールバック関数 */ 80 68 81 69 extern ER callback_nblk_tcp(ID cepid, FN fncd, void *p_parblk); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/csp/sample1n/tinet_app_config.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 5 5 * Tomakomai National College of Technology, JAPAN 6 6 * 7 * ä¸è¨èä½æ¨©è 8 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 9 * ã«ãã£ã¦å 10 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 11 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 12 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 13 å¸ï¼ä»¥ä¸ï¼ 14 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 15 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 16 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 17 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 18 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 19 * ç¨ã§ããå½¢ã§åé 20 å¸ããå ´åã«ã¯ï¼åé 21 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 22 * è 23 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 24 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 25 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 26 * ç¨ã§ããªãå½¢ã§åé 27 å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼ 28 * (a) åé 29 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 30 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 31 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 32 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 33 * 害ãããï¼ä¸è¨èä½æ¨©è 34 ããã³TOPPERSããã¸ã§ã¯ããå 35 責ãããã¨ï¼ 36 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 7 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 8 * によって公表されている GNU General Public License の Version 2 に記 9 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 10 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 11 * 利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 * スコード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 * の無保証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 * 用できない形で再配布する場合には,次の条件を満たすこと. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * ã¤ã³ã¿ã¼ããããããã³ã«ãã¡ããªã¼ã®ãµãã¼ã51 * 52 * Makefile ã§æå®ãã¦ãè¯ã38 * インターネットプロトコルファミリーのサポート 39 * 40 * Makefile で指定しても良い 53 41 */ 54 42 … … 58 46 /*#define SUPPORT_UDP UDP */ 59 47 60 /* ãã¼ã¿ãªã³ã¯å±¤ã®ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ãé¸æãã*/61 /* ããããä¸ã¤ã ãé¸æã§ããã*/48 /*データリンク層のネットワークインタフェースを選択する */ 49 /*いずれか一つだけ選択できる。 */ 62 50 63 51 /*#define SUPPORT_PPP PointtoPointProtocol */ … … 68 56 69 57 /* 70 * TCP/IP ã«é¢ããå®ç¾©71 */ 72 73 /* TCP ã«é¢ããå®ç¾©*/74 75 /* 76 * TCP é信端ç¹ã®éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½77 * 注æ: Makefile ã§æå®ãã¦ããã58 * TCP/IP に関する定義 59 */ 60 61 /* TCP に関する定義 */ 62 63 /* 64 * TCP 通信端点の送受信ウィンドバッファの省コピー機能 65 * 注意: Makefile で指定している。 78 66 */ 79 67 /*#define TCP_CFG_RWBUF_CSAVE_ONLY*/ 80 /* TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã®ã¿æå¹ã«ããã*/68 /* TCP 通信端点の受信ウィンドバッファの省コピー機能のみ有効にする。 */ 81 69 /*#define TCP_CFG_RWBUF_CSAVE*/ 82 /* TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã«ããã*/70 /* TCP 通信端点の受信ウィンドバッファの省コピー機能を有効にする。 */ 83 71 /*#define TCP_CFG_SWBUF_CSAVE_ONLY*/ 84 /* TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã®ã¿æå¹ã«ããã*/72 /* TCP 通信端点の送信ウィンドバッファの省コピー機能のみ有効にする。 */ 85 73 /*#define TCP_CFG_SWBUF_CSAVE*/ 86 /* TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã«ããã*/87 88 /* 89 * TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã®ã90 * åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®æ大ã¨ã³ããªæ°ã91 * ãã ããæ£å¸¸ã«åä¿¡ããã»ã°ã¡ã³ããç ´æ£ãããããåéåæ°ãå¢å ããã92 * ã¾ããæå®ããªãã¨å¶éããªãã74 /* TCP 通信端点の送信ウィンドバッファの省コピー機能を有効にする。 */ 75 76 /* 77 * TCP 通信端点の受信ウィンドバッファの省コピー機能の、 78 * 受信ウィンドバッファキューの最大エントリ数。 79 * ただし、正常に受信したセグメントも破棄するため、再送回数が増加する。 80 * また、指定しないと制限しない。 93 81 */ 94 82 /*#define TCP_CFG_RWBUF_CSAVE_MAX_QUEUES 2*/ 95 83 96 84 /* 97 * TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã§ã98 * éä¿¡ã¦ã£ã³ããããã¡ã«ä½¿ç¨ãããããã¯ã¼ã¯ãããã¡ã®ãµã¤ãºã85 * TCP 通信端点の送信ウィンドバッファの省コピー機能で、 86 * 送信ウィンドバッファに使用するネットワークバッファのサイズ。 99 87 */ 100 88 … … 103 91 #ifdef SUPPORT_INET6 104 92 105 #define TCP_CFG_SWBUF_CSAVE_MAX_SIZE (IF_HDR_SIZE + IPV6_MMTU) /* æ大ãµã¤ãº*/93 #define TCP_CFG_SWBUF_CSAVE_MAX_SIZE (IF_HDR_SIZE + IPV6_MMTU) /* 最大サイズ */ 106 94 107 95 #else /* of #ifdef SUPPORT_INET6 */ 108 96 109 97 #ifdef SUPPORT_INET4 110 #define TCP_CFG_SWBUF_CSAVE_MAX_SIZE (IF_HDR_SIZE + IP4_MSS) /* æ大ãµã¤ãº*/98 #define TCP_CFG_SWBUF_CSAVE_MAX_SIZE (IF_HDR_SIZE + IP4_MSS) /* 最大サイズ */ 111 99 #endif 112 100 … … 115 103 #else /* of #ifdef USE_TCP_MSS_SEG */ 116 104 117 #define TCP_CFG_SWBUF_CSAVE_MAX_SIZE IF_PDU_SIZE /* æ大ãµã¤ãº*/105 #define TCP_CFG_SWBUF_CSAVE_MAX_SIZE IF_PDU_SIZE /* 最大サイズ */ 118 106 119 107 #endif /* of #ifdef USE_TCP_MSS_SEG */ 120 108 121 #define TCP_CFG_SWBUF_CSAVE_MIN_SIZE 0 /* æå°ãµã¤ãº*/122 123 /* 124 * TCP ã®ãã³ããããã³ã°ã³ã¼ã«æ©è½109 #define TCP_CFG_SWBUF_CSAVE_MIN_SIZE 0 /* 最小サイズ */ 110 111 /* 112 * TCP のノンブロッキングコール機能 125 113 */ 126 114 … … 130 118 131 119 /* 132 * MAX_TCP_SND_SEG: éä¿¡ã»ã°ã¡ã³ããµã¤ãºã®æ大å¤133 * 134 * ç¸æãã MSS ãªãã·ã§ã³ã§ã»ã°ã¡ã³ããµã¤ãºãæå®ããã¦ãã135 * ãã®å¤ã§ãã»ã°ã¡ã³ããµã¤ãºãå¶éã§ããã120 * MAX_TCP_SND_SEG: 送信セグメントサイズの最大値 121 * 122 * 相手から MSS オプションでセグメントサイズを指定されても、 123 * この値で、セグメントサイズを制限できる。 136 124 */ 137 125 … … 157 145 158 146 /* 159 * DEF_TCP_RCV_SEG: åä¿¡ã»ã°ã¡ã³ããµã¤ãºã®è¦å®å¤147 * DEF_TCP_RCV_SEG: 受信セグメントサイズの規定値 160 148 */ 161 149 … … 181 169 182 170 /* 183 * ã¿ã¹ã¯ããã® Time Wait ç¶æ 184 ã® TCP é信端ç¹åé¢æ©è½ 185 * 186 * Time Wait ç¶æ 187 ã® TCP é信端ç¹ã®ã¨ã³ããªæ°ãæå®ããã 188 * æå®ããªããã0 ãæå®ããã¨ã 189 * ã¿ã¹ã¯ãã Time Wait ç¶æ 190 ã® TCP é信端ç¹ãåé¢ããæ©è½ã¯çµè¾¼ã¾ãªãã 171 * タスクからの Time Wait 状態の TCP 通信端点分離機能 172 * 173 * Time Wait 状態の TCP 通信端点のエントリ数を指定する。 174 * 指定しないか、0 を指定すると、 175 * タスクから Time Wait 状態の TCP 通信端点を分離する機能は組込まない。 191 176 */ 192 177 #if defined(USE_TCP_MSS_SEG) … … 197 182 198 183 /* 199 * TCP ãããã®ãã¬ã¼ã¹åºåæ©è½184 * TCP ヘッダのトレース出力機能 200 185 */ 201 186 //#define TCP_CFG_TRACE 202 187 203 188 /* 204 * ãã¬ã¼ã¹åºå対象ã®ãªã¢ã¼ããã¹ãã® IPv4 ã¢ãã¬ã¹ 205 * IPV4_ADDRANY ãæå®ããã¨ãå 206 ¨ã¦ã®ãã¹ãã対象ã¨ããã 189 * トレース出力対象のリモートホストの IPv4 アドレス 190 * IPV4_ADDRANY を指定すると、全てのホストを対象とする。 207 191 */ 208 192 #define TCP_CFG_TRACE_IPV4_RADDR IPV4_ADDRANY 209 193 210 194 /* 211 * ãã¬ã¼ã¹åºå対象ã®ãªã¢ã¼ããã¹ãã®ãã¼ãçªå· 212 * TCP_PORTANY ãæå®ããã¨ãå 213 ¨ã¦ã®ãã¼ãçªå·ã対象ã«ããã 195 * トレース出力対象のリモートホストのポート番号 196 * TCP_PORTANY を指定すると、全てのポート番号を対象にする。 214 197 */ 215 198 #define TCP_CFG_TRACE_RPORTNO TCP_PORTANY … … 217 200 218 201 /* 219 * ãã¬ã¼ã¹åºå対象ã®ãã¼ã«ã«ãã¹ãã®ãã¼ãçªå· 220 * TCP_PORTANY ãæå®ããã¨ãå 221 ¨ã¦ã®ãã¼ãçªå·ã対象ã«ããã 202 * トレース出力対象のローカルホストのポート番号 203 * TCP_PORTANY を指定すると、全てのポート番号を対象にする。 222 204 */ 223 205 #define TCP_CFG_TRACE_LPORTNO TCP_PORTANY … … 225 207 226 208 /* 227 * ITRON TCP/IP API ãTCP ã®æ¡å¼µæ©è½209 * ITRON TCP/IP API、TCP の拡張機能 228 210 */ 229 211 //#define TCP_CFG_EXTENTIONS 230 212 231 213 /* 232 * TCP_CFG_URG_OFFSET: ç·æ¥ãã¼ã¿ã®æå¾ã®ãã¤ãã®ãªãã»ãã 233 * 234 * -1: BSD ã®å®è£ 235 ãç·æ¥ãã¤ã³ã¿ã¯ãç·æ¥ãã¼ã¿ã®æå¾ã®ãã¤ãã®æ¬¡ã®ãã¤ããå·®ãã 236 * 0: RFC1122 ã®è¦å®ãç·æ¥ãã¤ã³ã¿ã¯ãç·æ¥ãã¼ã¿ã®æå¾ã®ãã¤ããå·®ãã 214 * TCP_CFG_URG_OFFSET: 緊急データの最後のバイトのオフセット 215 * 216 * -1: BSD の実装、緊急ポインタは、緊急データの最後のバイトの次のバイトを差す。 217 * 0: RFC1122 の規定、緊急ポインタは、緊急データの最後のバイトを差す。 237 218 */ 238 219 … … 240 221 //#define TCP_CFG_URG_OFFSET 0 241 222 242 /* UDP ã«é¢ããå®ç¾©*/243 244 /* 245 * UDP ã®ãã³ããããã³ã°ã³ã¼ã«æ©è½223 /* UDP に関する定義 */ 224 225 /* 226 * UDP のノンブロッキングコール機能 246 227 */ 247 228 … … 251 232 252 233 /* 253 * ITRON TCP/IP API ãUDP ã®æ¡å¼µæ©è½234 * ITRON TCP/IP API、UDP の拡張機能 254 235 */ 255 236 //#define UDP_CFG_EXTENTIONS 256 237 257 /* IPv6 ã«é¢ããå®ç¾©*/238 /* IPv6 に関する定義 */ 258 239 259 240 #ifdef SUPPORT_PPP … … 278 259 #endif /* of #ifdef SUPPORT_ETHER */ 279 260 280 /* IPv4 ã«é¢ããå®ç¾©*/261 /* IPv4 に関する定義 */ 281 262 282 263 #ifdef SUPPORT_PPP … … 285 266 #define IPV4_ADDR_LOCAL MAKE_IPV4_ADDR(192,168,1,21) 286 267 #else 287 #define IPV4_ADDR_LOCAL MAKE_IPV4_ADDR(0,0,0,0) /* ç¸æã«å²ãå½ã¦ã¦ãããå ´å*/268 #define IPV4_ADDR_LOCAL MAKE_IPV4_ADDR(0,0,0,0) /* 相手に割り当ててもらう場合 */ 288 269 #endif 289 270 … … 291 272 #define IPV4_ADDR_REMOTE MAKE_IPV4_ADDR(192,168,1,31) 292 273 #else 293 #define IPV4_ADDR_REMOTE MAKE_IPV4_ADDR(0,0,0,0) /* ç¸æã«å²ãå½ã¦ã¦ãããå ´å*/274 #define IPV4_ADDR_REMOTE MAKE_IPV4_ADDR(0,0,0,0) /* 相手に割り当ててもらう場合 */ 294 275 #endif 295 276 … … 328 309 329 310 /* 330 * ãã¼ã¿ãªã³ã¯å±¤ (ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹) ã«é¢ããå®ç¾©331 */ 332 333 /* 334 * ã¤ã¼ãµãããã«é¢ããå®ç¾©335 */ 336 337 /* 338 * PPP ã«é¢ããå®ç¾©339 */ 340 341 #define HDLC_PORTID 1 /* HDLC(PPP) ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·*/311 * データリンク層 (ネットワークインタフェース) に関する定義 312 */ 313 314 /* 315 * イーサネットに関する定義 316 */ 317 318 /* 319 * PPP に関する定義 320 */ 321 322 #define HDLC_PORTID 1 /* HDLC(PPP)に用いるシリアルポート番号 */ 342 323 343 324 /*#define PPP_IDLE_TIMEOUT (180*NET_TIMER_HZ)*/ 344 /* åæã¾ã§ã®ã¢ã¤ãã«æéã*/345 /* åæããªãå ´åã¯ã³ã¡ã³ãã¢ã¦ãããã*/346 347 /*#define PPP_CFG_MODEM ã¢ãã æ¥ç¶ã®å ´åã¯ã³ã¡ã³ããå¤ãã*/325 /* 切断までのアイドル時間、 */ 326 /* 切断しない場合はコメントアウトする。 */ 327 328 /*#define PPP_CFG_MODEM モデム接続の場合はコメントを外す。 */ 348 329 349 330 #define MODEM_CFG_INIT "ATE1&D0&S0\\V0\\Q1S0=1" 350 /* ã¢ãã åæåæåå*/351 /* NTT DoComo ã¢ãã¤ã«ã¢ããã¿ 96F ç¨*/352 /* E1: ã¨ã³ã¼ããã¯ãã*/353 /* &D0: ER ä¿¡å·ç¡è¦*/354 /* &S0: DR ä¿¡å·å¸¸æON */355 /* \V0: ãªã¶ã«ãã³ã¼ãTYPE 1 */356 /* \Q1: XON/XOFF ããã¼å¶å¾¡*/357 /* S0=1: èªåçä¿¡ãªã³ã°åæ° = 1 å*/331 /* モデム初期化文字列 */ 332 /* NTT DoComo モバイルアダプタ 96F 用 */ 333 /* E1: エコーバックあり */ 334 /* &D0: ER信号無視 */ 335 /* &S0: DR信号常時 ON */ 336 /* \V0: リザルトコード TYPE 1 */ 337 /* \Q1: XON/XOFF フロー制御 */ 338 /* S0=1: 自動着信リング回数 = 1 回 */ 358 339 359 340 #define MODEM_CFG_PHONE_NUMBER "090-xxxx-9242" 360 341 361 /* èªæ§ææ 362 å ±ã®è¦å®å¤ */ 342 /* 自構成情報の規定値 */ 363 343 #define DEF_LCP_LOCAL_CFGS (LCP_CFG_MRU|LCP_CFG_ACCM|LCP_CFG_MAGIC|\ 364 344 LCP_CFG_ACCOMP|LCP_CFG_PCOMP|LCP_CFG_PAP) 365 345 366 /* ç¸æã«è¨±ãæ§ææ 367 å ±ã®è¦å®å¤ */ 346 /* 相手に許す構成情報の規定値 */ 368 347 #define DEF_LCP_REMOTE_CFGS (LCP_CFG_MRU|LCP_CFG_ACCM|LCP_CFG_MAGIC|\ 369 348 LCP_CFG_ACCOMP|LCP_CFG_PCOMP|LCP_CFG_PAP) 370 349 371 350 /* 372 * èªè¨¼ã«é¢ããå®ç¾©373 */ 374 375 #define AUTH_CFG_CLIENT /* èªè¨¼ã¯ã©ã¤ã¢ã³ãã¢ã¼ãã®æã¯ã³ã¡ã³ããå¤ãã*/376 #define AUTH_CFG_SERVER /* èªè¨¼ãµã¼ãã¢ã¼ãã®æã¯ã³ã¡ã³ããå¤ãã*/377 378 #define AUTH_LOCAL_USER "h8" /* èªãã¹ãã¸ã®ãã°ã¤ã³èªè¨¼ã¦ã¼ã¶å*/379 #define AUTH_LOCAL_PASSWD "3048f" /* èªãã¹ãã¸ã®ãã°ã¤ã³èªè¨¼ãã¹ã¯ã¼ã*/380 #define AUTH_REMOTE_USER "pen3" /* ç¸æã¸ã®ãã°ã¤ã³èªè¨¼ã¦ã¼ã¶å*/381 #define AUTH_REMOTE_PASSWD "600MHz" /* ç¸æã¸ã®ãã°ã¤ã³èªè¨¼ãã¹ã¯ã¼ã*/382 383 /* 384 * ARP ã«é¢ããå®ç¾©385 */ 386 387 /*#define ARP_CFG_CALLBACK_DUPLICATED*/ /* IP ã¢ãã¬ã¹éè¤æ¤åºã³ã¼ã«ããã¯é¢æ°ã*/388 /* å®ç¾©ããå ´åã¯ã³ã¡ã³ããå¤ãã*/389 390 /* 391 * ICMPv4/v6 ã«é¢ããå®ç¾©351 * 認証に関する定義 352 */ 353 354 #define AUTH_CFG_CLIENT /* 認証クライアントモードの時はコメントを外す。 */ 355 #define AUTH_CFG_SERVER /* 認証サーバモードの時はコメントを外す。 */ 356 357 #define AUTH_LOCAL_USER "h8" /* 自ホストへのログイン認証ユーザ名 */ 358 #define AUTH_LOCAL_PASSWD "3048f" /* 自ホストへのログイン認証パスワード */ 359 #define AUTH_REMOTE_USER "pen3" /* 相手へのログイン認証ユーザ名 */ 360 #define AUTH_REMOTE_PASSWD "600MHz" /* 相手へのログイン認証パスワード */ 361 362 /* 363 * ARP に関する定義 364 */ 365 366 /*#define ARP_CFG_CALLBACK_DUPLICATED*/ /* IP アドレス重複検出コールバック関数を */ 367 /* 定義する場合はコメントを外す。 */ 368 369 /* 370 * ICMPv4/v6 に関する定義 392 371 */ 393 372 394 373 #ifdef USE_PING 395 374 396 #define ICMP_CFG_CALLBACK_ECHO_REPLY /* ICMP ECHO å¿çãåä¿¡ããã¨ãå¼åºãã³ã¼ã«ããã¯é¢æ°ã*/397 /* å®ç¾©ããå ´åã¯ã³ã¡ã³ããå¤ãã*/375 #define ICMP_CFG_CALLBACK_ECHO_REPLY /* ICMP ECHO 応答を受信したとき呼出すコールバック関数を */ 376 /* 定義する場合はコメントを外す。 */ 398 377 399 378 #endif /* of #ifdef USE_PING */ 400 379 401 380 /* 402 * ãããã¯ã¼ã¯ãããã¡ã«é¢ããå®ç¾©381 * ネットワークバッファに関する定義 403 382 */ 404 383 … … 406 385 407 386 /* 408 * ã¤ã¼ãµãããã®å ´åã®ãããã¯ã¼ã¯ãããã¡æ°ã®å²ãå½ã¦409 */ 410 411 /* 412 * 64 ãªã¯ããã413 * 414 * IPv4 ã§ã®ã¿å²ãå½ã¦ãã415 * 416 * IPv6 ã§ã¯ãTCP å¶å¾¡ã»ã°ã¡ã³ãï¼CSEGãSDU ãªãï¼ãµã¤ãºã®417 * ãããã¯ã¼ã¯ãããã¡ï¼IF + IPv6 + TCP = 74ï¼ä»¥ä¸ã®418 * ãããã¯ã¼ã¯ãããã¡ã¯ä¸è¦ã§ããã387 * イーサネットの場合のネットワークバッファ数の割り当て 388 */ 389 390 /* 391 * 64 オクテット 392 * 393 * IPv4 でのみ割り当てる。 394 * 395 * IPv6 では、TCP 制御セグメント(CSEG、SDU なし)サイズの 396 * ネットワークバッファ(IF + IPv6 + TCP = 74)以下の 397 * ネットワークバッファは不要である。 419 398 */ 420 399 … … 430 409 431 410 /* 432 * CSEG ï¼IF + IP + TCPï¼433 * 434 * IPv6 ã§ã®ã¿å²ãå½ã¦ãã435 * 436 * NE2000 äºæ NIC ã®ãã£ãã¤ã¹ãã©ã¤ãï¼if_edï¼ã®æä½å²å½ã¦é·ã¯ã437 * ã¤ã¼ãµããããã¬ã¼ã ã®æçé·ã§ãã 60ï¼CRC ã® 4 ãªã¯ããããé¤ãã438 * æ´ã«ã¢ã©ã¤ã³ã㦠62ï¼ãªã¯ãããã§ããã439 * å¾ã£ã¦ãIPv4 ã§ã¯ãCSEG ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡440 * ï¼IF + IPv4 + TCP = 54ï¼ã¯ä¸è¦ã§ããã411 * CSEG(IF + IP + TCP) 412 * 413 * IPv6 でのみ割り当てる。 414 * 415 * NE2000 互換 NIC のディバイスドライバ(if_ed)の最低割当て長は、 416 * イーサネットフレームの最短長である 60(CRC の 4 オクテットを除き、 417 * 更にアラインして 62)オクテットである。 418 * 従って、IPv4 では、CSEG サイズのネットワークバッファ 419 * (IF + IPv4 + TCP = 54)は不要である。 441 420 */ 442 421 … … 452 431 453 432 /* 454 * 128 ãªã¯ããã455 * 456 * IPv4 ã§ãTCP MSSï¼IP MSSãIF + 576 ãªã¯ãããï¼ã®457 * ãããã¯ã¼ã¯ãããã¡ãå²ãå½ã¦ãå ´åã458 * 128 ãªã¯ãããã®ãããã¯ã¼ã¯ãããã¡ã¯å²ãå½ã¦ãªãã433 * 128 オクテット 434 * 435 * IPv4 で、TCP MSS(IP MSS、IF + 576 オクテット)の 436 * ネットワークバッファを割り当てる場合、 437 * 128 オクテットのネットワークバッファは割り当てない。 459 438 */ 460 439 … … 470 449 471 450 /* 472 * 256 ãªã¯ããã473 * 474 * IPv4 ã§ãTCP MSSï¼IP MSSãIF + 576 ãªã¯ãããï¼ã®475 * ãããã¯ã¼ã¯ãããã¡ãå²ãå½ã¦ãå ´åã476 * 256 ãªã¯ãããã®ãããã¯ã¼ã¯ãããã¡ã¯å²ãå½ã¦ãªãã451 * 256 オクテット 452 * 453 * IPv4 で、TCP MSS(IP MSS、IF + 576 オクテット)の 454 * ネットワークバッファを割り当てる場合、 455 * 256 オクテットのネットワークバッファは割り当てない。 477 456 */ 478 457 … … 488 467 489 468 /* 490 * 512 ãªã¯ããã491 * 492 * IPv4 ã§ãTCP MSSï¼IP MSSãIF + 576 ãªã¯ãããï¼ã®493 * ãããã¯ã¼ã¯ãããã¡ãå²ãå½ã¦ãå ´åã494 * 512 ãªã¯ãããã®ãããã¯ã¼ã¯ãããã¡ã¯å²ãå½ã¦ãªãã469 * 512 オクテット 470 * 471 * IPv4 で、TCP MSS(IP MSS、IF + 576 オクテット)の 472 * ネットワークバッファを割り当てる場合、 473 * 512 オクテットのネットワークバッファは割り当てない。 495 474 */ 496 475 … … 506 485 507 486 /* 508 * TCP MSS ï¼IP MSSãIF + 576 ãªã¯ãããï¼509 * 510 * ã»IPv4 ã§ã®ã¿å²ãå½ã¦ãã511 * ã»éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã§ã512 * çã³ãã¼ API ã使ç¨ããã¨ãã¯ã+1 å²ãå½ã¦ãã487 * TCP MSS(IP MSS、IF + 576 オクテット) 488 * 489 * ・IPv4 でのみ割り当てる。 490 * ・送受信ウィンドバッファの省コピー機能が有効で、 491 * 省コピー API を使用するときは、+1 割り当てる。 513 492 */ 514 493 … … 523 502 #define NUM_MPF_NET_BUF_IP_MSS 3 524 503 #else 525 #define NUM_MPF_NET_BUF_IP_MSS 2 /* IF + 576 ãªã¯ããã*/504 #define NUM_MPF_NET_BUF_IP_MSS 2 /* IF + 576 オクテット */ 526 505 #endif 527 506 528 507 #else /* of #if defined(SUPPORT_INET4) && defined(USE_TCP_MSS_SEG) */ 529 508 530 #define NUM_MPF_NET_BUF_IP_MSS 0 /* IF + 576 ãªã¯ããã*/509 #define NUM_MPF_NET_BUF_IP_MSS 0 /* IF + 576 オクテット */ 531 510 532 511 #endif /* of #if defined(SUPPORT_INET4) && defined(USE_TCP_MSS_SEG) */ 533 512 534 513 /* 535 * 1024 ãªã¯ããã536 * 537 * TCP MSS ã®ãããã¯ã¼ã¯ãããã¡ãå²ãå½ã¦ãå ´åã538 * 1024 ãªã¯ãããã®ãããã¯ã¼ã¯ãããã¡ã¯å²ãå½ã¦ãªãã514 * 1024 オクテット 515 * 516 * TCP MSS のネットワークバッファを割り当てる場合、 517 * 1024 オクテットのネットワークバッファは割り当てない。 539 518 */ 540 519 … … 544 523 545 524 #if defined(USE_TCP_MSS_SEG) 546 #define NUM_MPF_NET_BUF_1024 0 /* 1024 ãªã¯ããã*/547 #else 548 #define NUM_MPF_NET_BUF_1024 1 /* 1024 ãªã¯ããã*/549 #endif 550 551 /* 552 * TCP MSS ï¼IPV6 MMTUãIF + 1280 ãªã¯ãããï¼553 * 554 * ã»IPv6 ã§ã®ã¿å²ãå½ã¦ãã555 * ã»éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã§ã556 * çã³ãã¼ API ã使ç¨ããã¨ãã¯ã+1 å²ãå½ã¦ãã525 #define NUM_MPF_NET_BUF_1024 0 /* 1024 オクテット */ 526 #else 527 #define NUM_MPF_NET_BUF_1024 1 /* 1024 オクテット */ 528 #endif 529 530 /* 531 * TCP MSS(IPV6 MMTU、IF + 1280 オクテット) 532 * 533 * ・IPv6 でのみ割り当てる。 534 * ・送受信ウィンドバッファの省コピー機能が有効で、 535 * 省コピー API を使用するときは、+1 割り当てる。 557 536 */ 558 537 … … 577 556 578 557 /* 579 * IF æ大 PDU ãµã¤ãº580 * 581 * ã»TCP MSS ã®ãããã¯ã¼ã¯ãããã¡ãå²ãå½ã¦ãå ´åã582 * IF æ大 PDU ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡ã¯å²ãå½ã¦ãªãã583 * ã»éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã§ã584 * çã³ãã¼ API ã使ç¨ããã¨ãã¯ã+1 å²ãå½ã¦ãã558 * IF 最大 PDU サイズ 559 * 560 * ・TCP MSS のネットワークバッファを割り当てる場合、 561 * IF 最大 PDU サイズのネットワークバッファは割り当てない。 562 * ・送受信ウィンドバッファの省コピー機能が有効で、 563 * 省コピー API を使用するときは、+1 割り当てる。 585 564 */ 586 565 … … 604 583 605 584 /* 606 * 65536 ãªã¯ããã607 * 608 * ã»NET_BUF_CFG_LONG_LEN ãå®ç¾©ããã¨ãã®ã¿å²ãå½ã¦ãã585 * 65536 オクテット 586 * 587 * ・NET_BUF_CFG_LONG_LEN を定義したときのみ割り当てる。 609 588 */ 610 589 611 590 #ifdef NET_BUF_CFG_LONG_LEN 612 591 613 /* IPv6 ç¨*/592 /* IPv6 用 */ 614 593 615 594 #ifdef NUM_MPF_NET_BUF6_65536 … … 632 611 633 612 /* 634 * DNS ãµã¼ãã«é¢ããå®ç¾©635 */ 636 637 /* DNS ãµã¼ãã® IP ã¢ãã¬ã¹*/613 * DNS サーバに関する定義 614 */ 615 616 /* DNS サーバの IP アドレス */ 638 617 639 618 #if !defined(DHCP6_CLI_CFG) … … 651 630 #endif 652 631 653 /* DOMAIN å*/632 /* DOMAIN 名 */ 654 633 655 634 #if !(defined(DHCP4_CLI_CFG) || defined(DHCP6_CLI_CFG)) … … 658 637 659 638 /* 660 * DHCP ã¯ã©ã¤ã¢ã³ãã«é¢ããå®ç¾©661 */ 662 663 /* DHCPv6 ã®åä½ã¢ã¼ãã®è¨å®*/639 * DHCP クライアントに関する定義 640 */ 641 642 /* DHCPv6 の動作モードの設定 */ 664 643 665 644 #define DHCP6_CLI_CFG_MODE DHCP6_CLI_CFG_STATELESS -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/csp/sample1n/tinet_sample1n.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 5 5 * Tomakomai National College of Technology, JAPAN 6 6 * 7 * ä¸è¨èä½æ¨©è 8 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 9 * ã«ãã£ã¦å 10 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 11 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 12 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 13 å¸ï¼ä»¥ä¸ï¼ 14 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 15 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 16 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 17 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 18 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 19 * ç¨ã§ããå½¢ã§åé 20 å¸ããå ´åã«ã¯ï¼åé 21 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 22 * è 23 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 24 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 25 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 26 * ç¨ã§ããªãå½¢ã§åé 27 å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼ 28 * (a) åé 29 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 30 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 31 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 32 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 33 * 害ãããï¼ä¸è¨èä½æ¨©è 34 ããã³TOPPERSããã¸ã§ã¯ããå 35 責ãããã¨ï¼ 7 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 8 * によって公表されている GNU General Public License の Version 2 に記 9 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 10 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 11 * 利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 * スコード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 * の無保証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 * 用できない形で再配布する場合には,次の条件を満たすこと. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãããã¯ã¼ã¯å¯¾å¿ sample1.c ããã°ã©ã ã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * ネットワーク対応 sample1.c プログラムの TCP/IP コンフィギュレーションファイル 48 36 */ 49 37 50 38 #include "sample1n.h" 51 39 52 /* TCP åä»å£*/40 /* TCP 受付口 */ 53 41 54 42 #ifdef SUPPORT_INET6 … … 66 54 #endif /* of #ifdef SUPPORT_INET6 */ 67 55 68 /* TCP é信端ç¹*/56 /* TCP 通信端点 */ 69 57 70 58 #ifdef SUPPORT_INET6 -
Property svn:mime-type
changed from
Note:
See TracChangeset
for help on using the changeset viewer.