Ignore:
Timestamp:
Aug 3, 2017, 10:46:41 PM (7 years ago)
Author:
coas-nagasima
Message:

プロパティの文字コードにUTF-8を追加、キーワードを削除

Location:
asp3_gr_sakura/trunk/sample
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • asp3_gr_sakura/trunk/sample/Makefile

    • Property svn:eol-style set to native
    • Property svn:mime-type set to text/x-makefile; charset=UTF-8
    r317 r318  
    99#              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010#
    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#      免責すること.
    4733#
    48 #  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50 #  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51 #  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52 #  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53 #  の責任を負わない.
     34#  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35#  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36#  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37#  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38#  の責任を負わない.
    5439#
    55 #  $Id: Makefile 735 2016-04-03 14:11:07Z ertl-hiro $
     40#  $Id$
    5641#
    5742
    5843#
    59 ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã®æŒ‡å®šï¼ˆMakefile.targetで上書きされるのを防ぐため)
     44ターゲットの指定(Makefile.targetで上書きされるのを防ぐため)
    6045#
    6146all:
    6247
    6348#
    64 ã‚¿ãƒ¼ã‚²ãƒƒãƒˆç•¥ç§°ã®å®šç¾©
     49ターゲット略称の定義
    6550#
    6651TARGET = @(TARGET)
    6752
    6853#
    69 ãƒ—ログラミング言語の定義
     54プログラミング言語の定義
    7055#
    7156SRCLANG = @(SRCLANG)
     
    8065
    8166#
    82 ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®å®šç¾©
     67ソースファイルのディレクトリの定義
    8368#
    8469SRCDIR = @(SRCDIR)
    8570
    8671#
    87 ã‚ªãƒ–ジェクトファイル名の拡張子の設定
     72オブジェクトファイル名の拡張子の設定
    8873#
    8974OBJEXT = @(OBJEXT)
    9075
    9176#
    92 ã‚«ãƒ¼ãƒãƒ«ãƒ©ã‚¤ãƒ–ラリ(libkernel.a)のディレクトリ名
    93 ï¼ˆã‚«ãƒ¼ãƒãƒ«ãƒ©ã‚¤ãƒ–ラリもmake対象にする時は,空に定義する)
     77カーネルライブラリ(libkernel.a)のディレクトリ名
     78(カーネルライブラリもmake対象にする時は,空に定義する)
    9479#
    9580KERNEL_LIB = @(KERNEL_LIB)
    9681
    9782#
    98 ã‚«ãƒ¼ãƒãƒ«ã‚’関数単位でコンパイルするかどうかの定義
     83カーネルを関数単位でコンパイルするかどうかの定義
    9984#
    10085KERNEL_FUNCOBJS = @(KERNEL_FUNCOBJS)
    10186
    10287#
    103 #  TECSを外すかどうかの定義
     88#  TECSを外すかどうかの定義
    10489#
    10590OMIT_TECS = @(OMIT_TECS)
    10691
    10792#
    108 ãƒˆãƒ¬ãƒ¼ã‚¹ãƒ­ã‚°ã‚’取得するかどうかの定義
     93トレースログを取得するかどうかの定義
    10994#
    11095ENABLE_TRACE = @(ENABLE_TRACE)
    11196
    11297#
    113 é–‹ç™ºãƒ„ール(コンパイラ等)のディレクトリの定義
     98開発ツール(コンパイラ等)のディレクトリの定義
    11499#
    115100DEVTOOLDIR = @(DEVTOOLDIR)
    116101
    117102#
    118 ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£ãƒ—ログラムの名称
     103ユーティリティプログラムの名称
    119104#
    120105CFG = @(CFG)
     
    122107
    123108#
    124 ã‚ªãƒ–ジェクトファイル名の定義
     109オブジェクトファイル名の定義
    125110#
    126111OBJNAME = asp
     
    134119
    135120#
    136 ä¾å­˜é–¢ä¿‚ファイルを置くディレクトリの定義
     121依存関係ファイルを置くディレクトリの定義
    137122#
    138123DEPDIR = @(DEPDIR)
    139124
    140125#
    141 ã‚¿ãƒ¼ã‚²ãƒƒãƒˆä¾å­˜éƒ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®å®šç¾©
     126ターゲット依存部のディレクトリの定義
    142127#
    143128TARGETDIR = $(SRCDIR)/target/$(TARGET)
    144129
    145130#
    146 ã‚¿ãƒ¼ã‚²ãƒƒãƒˆä¾å­˜ã®å®šç¾©ã®ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰
     131ターゲット依存の定義のインクルード
    147132#
    148133include $(TARGETDIR)/Makefile.target
    149134
    150135#
    151 #  TECS生成ファイルのディレクトリの定義
     136#  TECS生成ファイルのディレクトリの定義
    152137#
    153138TECSGENDIR = ./gen
     
    158143
    159144#
    160 #  TECSが生成する定義のインクルード
     145#  TECSが生成する定義のインクルード
    161146#
    162147ifndef OMIT_TECS
     
    166151
    167152#
    168 #  å
    169 ±é€šã‚³ãƒ³ãƒ‘イルオプションの定義
     153#  共通コンパイルオプションの定義
    170154#
    171155COPTS := -g @(COPTS) $(COPTS)
     
    186170
    187171#
    188 ã‚¢ãƒ—リケーションプログラムに関する定義
     172アプリケーションプログラムに関する定義
    189173#
    190174APPLNAME = @(APPLNAME)
     
    208192
    209193#
    210 ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚µãƒ¼ãƒ“スの定義
     194ネットワークサービスの定義
    211195#
    212196
    213197NO_USE_TINET_LIBRARY = true
    214198
    215 ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®é¸æŠžã€ä½•ã‚Œã‹ä¸€ã¤é¸æŠžã™ã‚‹ã€‚
     199ネットワークインタフェースの選択、何れか一つ選択する。
    216200
    217201NET_IF = ether
    218202
    219 ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆãƒ»ãƒ‡ã‚£ãƒã‚¤ã‚¹ãƒ‰ãƒ©ã‚¤ãƒã®é¸æŠž
     203イーサネット・ディバイスドライバの選択
    220204
    221205NET_DEV = if_mbed
    222206
    223 ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å±¤ã®é¸æŠž
     207ネットワーク層の選択
    224208
    225209#SUPPORT_INET6 = true
    226210SUPPORT_INET4 = true
    227211
    228 #  API に組込む機能の選択
     212#  API に組込む機能の選択
    229213
    230214#API_CFG_IP4MAPPED_ADDR = true
    231215
    232 ãƒˆãƒ©ãƒ³ã‚¹ãƒãƒ¼ãƒˆå±¤ã®é¸æŠž
     216トランスポート層の選択
    233217
    234218SUPPORT_TCP = true
     
    236220
    237221#
    238 ã‚·ã‚¹ãƒ†ãƒ ã‚µãƒ¼ãƒ“スの Makefile のインクルード
     222システムサービスの Makefile のインクルード
    239223#
    240224include $(SRCDIR)/tinet/Makefile.tinet
    241225
    242226#
    243 ã‚·ã‚¹ãƒ†ãƒ ã‚µãƒ¼ãƒ“スに関する定義
     227システムサービスに関する定義
    244228#
    245229SYSSVC_DIRS := $(TECSGENDIR) $(SRCDIR)/tecs_kernel \
     
    252236
    253237#
    254 ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ•ã‚¡ã‚¤ãƒ«
     238ターゲットファイル
    255239#
    256240.PHONY: all
     
    266250endif
    267251
    268 ##### 以下は編集しないこと #####
    269 
    270 #
    271 ã‚³ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚¿ã«é–¢ã™ã‚‹å®šç¾©
     252##### 以下は編集しないこと #####
     253
     254#
     255コンフィギュレータに関する定義
    272256#
    273257CFG_TABS := --api-table $(SRCDIR)/tinet/tcpip_api.def:tcpip \
     
    282266
    283267#
    284 ã‚«ãƒ¼ãƒãƒ«ã«é–¢ã™ã‚‹å®šç¾©
    285 #
    286 #  KERNEL_ASMOBJS: カーネルライブラリに含める,ソースがアセンブリ言語の
    287 #                                  オブジェクトファイル.
    288 #  KERNEL_COBJS: カーネルのライブラリに含める,ソースがC言語で,ソース
    289 #                                ファイルと1対1に対応するオブジェクトファイル.
    290 #  KERNEL_LCSRCS: カーネルのライブラリに含めるC言語のソースファイルで,
    291 #                                 1つのソースファイルから複数のオブジェクトファイルを生
    292 #                                 æˆã™ã‚‹ã‚‚の.
    293 #  KERNEL_LCOBJS: 上のソースファイルから生成されるオブジェクトファイル.
     268カーネルに関する定義
     269#
     270#  KERNEL_ASMOBJS: カーネルライブラリに含める,ソースがアセンブリ言語の
     271#                                  オブジェクトファイル.
     272#  KERNEL_COBJS: カーネルのライブラリに含める,ソースがC言語で,ソース
     273#                                ファイルと1対1に対応するオブジェクトファイル.
     274#  KERNEL_LCSRCS: カーネルのライブラリに含めるC言語のソースファイルで,
     275#                                 1つのソースファイルから複数のオブジェクトファイルを生
     276#                                 成するもの.
     277#  KERNEL_LCOBJS: 上のソースファイルから生成されるオブジェクトファイル.
    294278#
    295279KERNEL_DIRS := $(KERNEL_DIRS) $(SRCDIR)/kernel
     
    299283
    300284#
    301 ã‚«ãƒ¼ãƒãƒ«ã®ãƒ•ã‚¡ã‚¤ãƒ«æ§‹æˆã®å®šç¾©
     285カーネルのファイル構成の定義
    302286#
    303287include $(SRCDIR)/kernel/Makefile.kernel
     
    332316
    333317#
    334 ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚るディレクトリに関する定義
     318ソースファイルのあるディレクトリに関する定義
    335319#
    336320vpath %.c $(KERNEL_DIRS) $(SYSSVC_DIRS) $(APPL_DIRS)
     
    340324
    341325#
    342 ã‚³ãƒ³ãƒ‘イルのための変数の定義
     326コンパイルのための変数の定義
    343327#
    344328KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS)
     
    368352
    369353#
    370 #  tecsgenからCプリプロセッサを呼び出す際のオプションの定義
     354#  tecsgenからCプリプロセッサを呼び出す際のオプションの定義
    371355#
    372356TECS_CPP = $(CC) $(CDEFS) $(INCLUDES) $(SYSSVC_CFLAGS) -D TECSGEN -E
    373357
    374358#
    375 #  tecsgenの呼出し
     359#  tecsgenの呼出し
    376360#
    377361.PHONY: tecs
     
    381365
    382366#
    383 ã‚«ãƒ¼ãƒãƒ«ã®ã‚³ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ•ã‚¡ã‚¤ãƒ«ã®ç”Ÿæˆ
     367カーネルのコンフィギュレーションファイルの生成
    384368#
    385369cfg1_out.c cfg1_out.db: cfg1_out.timestamp ;
     
    403387
    404388#
    405 ã‚ªãƒ•ã‚»ãƒƒãƒˆãƒ•ã‚¡ã‚¤ãƒ«ï¼ˆoffset.h)の生成規則
     389オフセットファイル(offset.h)の生成規則
    406390#
    407391$(OFFSET_H): offset.timestamp ;
     
    411395
    412396#
    413 ã‚«ãƒ¼ãƒãƒ«ãƒ©ã‚¤ãƒ–ラリファイルの生成
     397カーネルライブラリファイルの生成
    414398#
    415399libkernel.a: $(OFFSET_H) $(KERNEL_LIB_OBJS)
     
    419403
    420404#
    421 ç‰¹åˆ¥ãªä¾å­˜é–¢ä¿‚の定義
     405特別な依存関係の定義
    422406#
    423407tBannerMain.o: $(filter-out tBannerMain.o,$(ALL_OBJS)) $(LIBS_DEP)
    424408
    425409#
    426 #  å
    427 ¨ä½“のリンク
     410#  全体のリンク
    428411#
    429412$(OBJFILE): $(ALL_OBJS) $(LIBS_DEP)
     
    433416
    434417#
    435 ã‚·ãƒ³ãƒœãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã®ç”Ÿæˆ
     418シンボルファイルの生成
    436419#
    437420$(OBJNAME).syms: $(OBJFILE)
     
    439422
    440423#
    441 ãƒã‚¤ãƒŠãƒªãƒ•ã‚¡ã‚¤ãƒ«ã®ç”Ÿæˆ
     424バイナリファイルの生成
    442425#
    443426$(OBJNAME).bin: $(OBJFILE)
     
    445428
    446429#
    447 #  Sレコードファイルの生成
     430#  Sレコードファイルの生成
    448431#
    449432$(OBJNAME).srec: $(OBJFILE)
     
    451434
    452435#
    453 ã‚¨ãƒ©ãƒ¼ãƒã‚§ãƒƒã‚¯å‡¦ç†
     436エラーチェック処理
    454437#
    455438.PHONY: check
     
    461444
    462445#
    463 ã‚³ãƒ³ãƒ‘イル結果の消去
     446コンパイル結果の消去
    464447#
    465448.PHONY: clean
     
    486469
    487470#
    488 #  コンフィギュレータが生成したファイルのコンパイルルールの定義
    489 #
    490 #  コンフィギュレータが生成したファイルは,å
    491 ±é€šã®ã‚³ãƒ³ãƒ‘イルオプション
    492 #  のみを付けてコンパイルする.
     471#  コンフィギュレータが生成したファイルのコンパイルルールの定義
     472#
     473#  コンフィギュレータが生成したファイルは,共通のコンパイルオプション
     474#  のみを付けてコンパイルする.
    493475#
    494476ALL_CFG_COBJS = $(CFG_COBJS) cfg1_out.o
     
    505487
    506488#
    507 ä¾å­˜é–¢ä¿‚ファイルのインクルード
     489依存関係ファイルのインクルード
    508490#
    509491-include $(DEPDIR)/*.d
    510492
    511493#
    512 é–‹ç™ºãƒ„ールのコマンド名の定義
     494開発ツールのコマンド名の定義
    513495#
    514496ifeq ($(TOOL),gcc)
    515497        #
    516         #  GNU開発環境用
     498        #  GNU開発環境用
    517499        #
    518500        ifdef GCC_TARGET
     
    551533
    552534#
    553 ã‚³ãƒ³ãƒ‘イルルールの定義
     535コンパイルルールの定義
    554536#
    555537$(KERNEL_COBJS): %.o: %.c
     
    594576
    595577#
    596 ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚³ãƒ³ãƒ‘イルルールを上書き
     578デフォルトコンパイルルールを上書き
    597579#
    598580%.o: %.c
  • asp3_gr_sakura/trunk/sample/route_cfg.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc; charset=UTF-8
    r317 r318  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ルーティング表
     35 *  ルーティング表
    4836 */
    4937
     
    5644#include <netinet/in_var.h>
    5745
    58 /* IPv6 に関する定義 */
     46/* IPv6 に関する定義 */
    5947
    6048#ifdef _IP6_CFG
     
    6856#endif  /* of #ifdef _IP6_CFG */
    6957
    70 /* IPv4 に関する定義 */
     58/* IPv4 に関する定義 */
    7159
    7260#ifdef _IP4_CFG
     
    9280T_IN4_RTENTRY routing4_tbl[NUM_IN4_ROUTE_ENTRY] = {
    9381
    94         /* 異なる LAN、default gateway による間接é
    95 é€    */
     82        /* 異なる LAN、default gateway による間接配送      */
    9683        { 0,                    0,                      IPV4_ADDR_DEFAULT_GW    },
    9784
    98         /* 同一 LAN å†
    99 ã€ç›´æŽ¥é
    100 é€                            */
     85        /* 同一 LAN 内、直接配送                                */
    10186        { IPV4_ADDR_LOCAL &
    10287          IPV4_ADDR_LOCAL_MASK, IPV4_ADDR_LOCAL_MASK,   0                       },
    10388
    104         /* 同一 LAN å†
    105 ã¸ã®ãƒ–ロードキャスト、直接é
    106 é€    */
     89        /* 同一 LAN 内へのブロードキャスト、直接配送      */
    10790        { 0xffffffff,           0xffffffff,             0                       },
    10891
  • asp3_gr_sakura/trunk/sample/sample1.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc; charset=UTF-8
    r317 r318  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    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 *      免責すること.
    4733 *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    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' : 対象タスクにras_terにより終了要求する.
    128  *  'y' : 対象タスクにdis_terを呼び出させ,タスク終了を禁止する.
    129  *  'Y' : 対象タスクにena_terを呼び出させ,タスク終了を許可する.
    130  *  'r' : 3つの優å
    131 ˆåº¦ï¼ˆHIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY)のレ
    132  *        ディキューを回転させる.
    133  *  'c' : 周期ハンドラを動作開始させる.
    134  *  'C' : 周期ハンドラを動作停止させる.
    135  *  'b' : アラームハンドラを5秒後に起動するよう動作開始させる.
    136  *  'B' : アラームハンドラを動作停止させる.
    137  *  'z' : 対象タスクにCPU例外を発生させる(タスクを終了させる).
    138  *  'Z' : 対象タスクにCPUロック状æ
    139 ‹ã§CPU例外を発生させる(プログラムを
    140  *        終了する).
    141  *  '@' : タスク3をacre_tskにより生成する.
    142  *  '!' : 対象タスクをdel_tskにより削除する.
    143  *  '$' : アラームハンドラをacre_almにより生成する.
    144  *  '#' : アラームハンドラをdel_almにより削除する.
    145  *  'V' : fch_hrtで高分解能タイマを2回読む.
    146  *  'o' : 対象タスクに対してオーバランハンドラを動作開始させる
    147  *  'O' : 対象タスクに対してオーバランハンドラを動作停止させる
    148  *  'v' : 発行したシステムコールを表示する(デフォルト).
    149  *  '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' : 対象タスクにras_terにより終了要求する.
     91 *  'y' : 対象タスクにdis_terを呼び出させ,タスク終了を禁止する.
     92 *  'Y' : 対象タスクにena_terを呼び出させ,タスク終了を許可する.
     93 *  'r' : 3つの優先度(HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY)のレ
     94 *        ディキューを回転させる.
     95 *  'c' : 周期ハンドラを動作開始させる.
     96 *  'C' : 周期ハンドラを動作停止させる.
     97 *  'b' : アラームハンドラを5秒後に起動するよう動作開始させる.
     98 *  'B' : アラームハンドラを動作停止させる.
     99 *  'z' : 対象タスクにCPU例外を発生させる(タスクを終了させる).
     100 *  'Z' : 対象タスクにCPUロック状態でCPU例外を発生させる(プログラムを
     101 *        終了する).
     102 *  '@' : タスク3をacre_tskにより生成する.
     103 *  '!' : 対象タスクをdel_tskにより削除する.
     104 *  '$' : アラームハンドラをacre_almにより生成する.
     105 *  '#' : アラームハンドラをdel_almにより削除する.
     106 *  'V' : fch_hrtで高分解能タイマを2回読む.
     107 *  'o' : 対象タスクに対してオーバランハンドラを動作開始させる
     108 *  'O' : 対象タスクに対してオーバランハンドラを動作停止させる
     109 *  'v' : 発行したシステムコールを表示する(デフォルト).
     110 *  'q' : 発行したシステムコールを表示しない.
    150111 */
    151112
     
    160121
    161122/*
    162  *  サービスコールのエラーのログ出力
     123 *  サービスコールのエラーのログ出力
    163124 */
    164125Inline void
     
    173134
    174135/*
    175  *  並行実行されるタスクへのメッセージ領域
     136 *  並行実行されるタスクへのメッセージ領域
    176137 */
    177138char    message[3];
    178139
    179140/*
    180  *  ループ回数
    181  */
    182 ulong_t task_loop;              /* タスクå†
    183 ã§ã®ãƒ«ãƒ¼ãƒ—回数 */
    184 
    185 /*
    186  *  並行実行されるタスク
     141 *  ループ回数
     142 */
     143ulong_t task_loop;              /* タスク内でのループ回数 */
     144
     145/*
     146 *  並行実行されるタスク
    187147 */
    188148void task(intptr_t exinf)
     
    259219
    260220/*
    261  *  割込みハンドラ
     221 *  割込みハンドラ
    262222 */
    263223#ifdef INTNO1
     
    274234
    275235/*
    276  *  CPU例外ハンドラ
    277  */
    278 ID      cpuexc_tskid;           /* CPU例外を起こしたタスクのID */
     236 *  CPU例外ハンドラ
     237 */
     238ID      cpuexc_tskid;           /* CPU例外を起こしたタスクのID */
    279239
    280240#ifdef CPUEXC1
     
    315275
    316276/*
    317  *  周期ハンドラ
    318  *
    319  *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優å
    320 ˆåº¦ã®ãƒ¬ãƒ‡ã‚£ã‚­ãƒ¥ãƒ¼
    321  *  を回転させる.
     277 *  周期ハンドラ
     278 *
     279 *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー
     280 *  を回転させる.
    322281 */
    323282void cyclic_handler(intptr_t exinf)
     
    329288
    330289/*
    331  *  アラームハンドラ
    332  *
    333  *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優å
    334 ˆåº¦ã®ãƒ¬ãƒ‡ã‚£ã‚­ãƒ¥ãƒ¼
    335  *  を回転させる.
     290 *  アラームハンドラ
     291 *
     292 *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー
     293 *  を回転させる.
    336294 */
    337295void alarm_handler(intptr_t exinf)
     
    343301
    344302/*
    345  *  例外処理タスク
     303 *  例外処理タスク
    346304 */
    347305void exc_task(intptr_t exinf)
     
    351309
    352310/*
    353  *  オーバランハンドラ
     311 *  オーバランハンドラ
    354312 */
    355313#ifdef TOPPERS_SUPPORT_OVRHDR
     
    366324
    367325/*
    368  *  メインタスク
     326 *  メインタスク
    369327 */
    370328void main_task(intptr_t exinf)
     
    389347
    390348        /*
    391          *  シリアルポートの初期化
     349         *  シリアルポートの初期化
    392350         *
    393          *  システムログタスクと同じシリアルポートを使う場合など,シリアル
    394          *  ポートがオープン済みの場合にはここでE_OBJエラーになるが,支障は
    395          *  ない.
     351         *  システムログタスクと同じシリアルポートを使う場合など,シリアル
     352         *  ポートがオープン済みの場合にはここでE_OBJエラーになるが,支障は
     353         *  ない.
    396354         */
    397355        ercd = serial_opn_por(TASK_PORTID);
     
    404362
    405363        /*
    406          *  ループ回数の設定
     364         *  ループ回数の設定
    407365         *
    408          *  並行実行されるタスクå†
    409 ã§ã®ç©ºãƒ«ãƒ¼ãƒ—の回数(task_loop)は,空ルー
    410          *  プの実行時間が約0.4秒になるように設定する.この設定のために,
    411          *  LOOP_REF回の空ループの実行時間を,その前後でget_timを呼ぶことで
    412          *  測定し,その測定結果から空ループの実行時間が0.4秒になるループ回
    413          *  数を求め,task_loopに設定する.
     366         *  並行実行されるタスク内での空ループの回数(task_loop)は,空ルー
     367         *  プの実行時間が約0.4秒になるように設定する.この設定のために,
     368         *  LOOP_REF回の空ループの実行時間を,その前後でget_timを呼ぶことで
     369         *  測定し,その測定結果から空ループの実行時間が0.4秒になるループ回
     370         *  数を求め,task_loopに設定する.
    414371         *
    415          *  LOOP_REFは,デフォルトでは1,000,000に設定しているが,想定したよ
    416          *  りé
    417 ã„プロセッサでは,サンプルプログラムの実行開始に時間がかか
    418          *  りすぎるという問題を生じる.逆に想定したより速いプロセッサでは,
    419          *  LOOP_REF回の空ループの実行時間が短くなり,task_loopに設定する値
    420          *  の誤差が大きくなるという問題がある.
     372         *  LOOP_REFは,デフォルトでは1,000,000に設定しているが,想定したよ
     373         *  り遅いプロセッサでは,サンプルプログラムの実行開始に時間がかか
     374         *  りすぎるという問題を生じる.逆に想定したより速いプロセッサでは,
     375         *  LOOP_REF回の空ループの実行時間が短くなり,task_loopに設定する値
     376         *  の誤差が大きくなるという問題がある.
    421377         *
    422          *  そこで,そのようなターゲットでは,target_test.hで,LOOP_REFを適
    423          *  切な値に定義するのが望ましい.
     378         *  そこで,そのようなターゲットでは,target_test.hで,LOOP_REFを適
     379         *  切な値に定義するのが望ましい.
    424380         *
    425          *  また,task_loopの値を固定したい場合には,その値をTASK_LOOPにマ
    426          *  クロ定義する.TASK_LOOPがマクロ定義されている場合,上記の測定を
    427          *  行わずに,TASK_LOOPに定義された値を空ループの回数とする.
     381         *  また,task_loopの値を固定したい場合には,その値をTASK_LOOPにマ
     382         *  クロ定義する.TASK_LOOPがマクロ定義されている場合,上記の測定を
     383         *  行わずに,TASK_LOOPに定義された値を空ループの回数とする.
    428384         *
    429          * ターゲットによっては,空ループの実行時間の1回目の測定で,本来よ
    430          * りも長めになるものがある.このようなターゲットでは,MEASURE_TWICE
    431          * をマクロ定義することで,1回目の測定結果を捨てて,2回目の測定結果
    432          * を使う.
     385         * ターゲットによっては,空ループの実行時間の1回目の測定で,本来よ
     386         * りも長めになるものがある.このようなターゲットでは,MEASURE_TWICE
     387         * をマクロ定義することで,1回目の測定結果を捨てて,2回目の測定結果
     388         * を使う.
    433389         */
    434390#ifdef TASK_LOOP
     
    452408
    453409        /*
    454          *  タスクの起動
     410         *  タスクの起動
    455411         */
    456412        SVC_PERROR(act_tsk(TASK1));
     
    458414
    459415        /*
    460          *  メインループ
     416         *  メインループ
    461417         */
    462418        do {
  • asp3_gr_sakura/trunk/sample/sample1.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain; charset=UTF-8
    r317 r318  
    11/*
    2  *              サンプルプログラム(1)のシステムコンフィギュレーションファイル
     2 *              サンプルプログラム(1)のシステムコンフィギュレーションファイル
    33 *
    44 *  $Id$
  • asp3_gr_sakura/trunk/sample/sample1.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r317 r318  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    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 *      免責すること.
    4733 *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    59  *              サンプルプログラム(1)のヘッダファイル
     44 *              サンプルプログラム(1)のヘッダファイル
    6045 */
    6146
     
    6348
    6449/*
    65  *  ターゲット依存の定義
     50 *  ターゲット依存の定義
    6651 */
    6752#include "target_test.h"
    6853
    6954/*
    70  *  各タスクの優å
    71 ˆåº¦ã®å®šç¾©
     55 *  各タスクの優先度の定義
    7256 */
    7357
    74 #define EXC_PRIORITY    1               /* 例外処理タスクの優å
    75 ˆåº¦ */
    76 #define MAIN_PRIORITY   5               /* メインタスクの優å
    77 ˆåº¦ */
    78                                                                 /* HIGH_PRIORITYより高くすること */
     58#define EXC_PRIORITY    1               /* 例外処理タスクの優先度 */
     59#define MAIN_PRIORITY   5               /* メインタスクの優先度 */
     60                                                                /* HIGH_PRIORITYより高くすること */
    7961
    80 #define HIGH_PRIORITY   9               /* 並行実行されるタスクの優å
    81 ˆåº¦ */
     62#define HIGH_PRIORITY   9               /* 並行実行されるタスクの優先度 */
    8263#define MID_PRIORITY    10
    8364#define LOW_PRIORITY    11
    8465
    8566/*
    86  *  ターゲットに依存する可能性のある定数の定義
     67 *  ターゲットに依存する可能性のある定数の定義
    8768 */
    8869
    8970#ifndef TASK_PORTID
    90 #define TASK_PORTID             1                       /* 文字å
    91 ¥åŠ›ã™ã‚‹ã‚·ãƒªã‚¢ãƒ«ãƒãƒ¼ãƒˆID */
     71#define TASK_PORTID             1                       /* 文字入力するシリアルポートID */
    9272#endif /* TASK_PORTID */
    9373
    9474#ifndef STACK_SIZE
    95 #define STACK_SIZE              4096            /* タスクのスタックサイズ */
     75#define STACK_SIZE              4096            /* タスクのスタックサイズ */
    9676#endif /* STACK_SIZE */
    9777
    9878#ifndef KMM_SIZE
    99 #define KMM_SIZE                (STACK_SIZE * 16)       /* カーネルが割り付ける   */
    100 #endif /* KMM_SIZE */                                           /*     ãƒ¡ãƒ¢ãƒªé ˜åŸŸã®ã‚µã‚¤ã‚º */
     79#define KMM_SIZE                (STACK_SIZE * 16)       /* カーネルが割り付ける   */
     80#endif /* KMM_SIZE */                                           /*     メモリ領域のサイズ */
    10181
    10282#ifndef LOOP_REF
    103 #define LOOP_REF                ULONG_C(1000000)        /* 速度計測用のループ回数 */
     83#define LOOP_REF                ULONG_C(1000000)        /* 速度計測用のループ回数 */
    10484#endif /* LOOP_REF */
    10585
    10686/*
    107  *  関数のプロトタイプ宣言
     87 *  関数のプロトタイプ宣言
    10888 */
    10989#ifndef TOPPERS_MACRO_ONLY
  • asp3_gr_sakura/trunk/sample/sample1n.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc; charset=UTF-8
    r317 r318  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ネットワーク化サンプルプログラム(1)の本体
     35 *  ネットワーク化サンプルプログラム(1)の本体
    4836 */
    4937
     
    6250
    6351/*
    64  *  マクロ定義
    65  */
    66 
    67 /*  リネームの解除  */
     52 *  マクロ定義
     53 */
     54
     55/*  リネームの解除  */
    6856
    6957#undef syslog
     
    7361#define EOF             (-1)
    7462
    75 /*  TELNET オプション */
     63/*  TELNET オプション */
    7664
    7765#define TELNET_OPT_SE           (240)
     
    9381
    9482/*
    95  *  変数
    96  */
    97 
    98 /*  TCP 送受信ウィンドバッファ  */
     83 *  変数
     84 */
     85
     86/*  TCP 送受信ウィンドバッファ  */
    9987
    10088uint8_t tcp_swbuf[TCP_SWBUF_SIZE];
    10189uint8_t tcp_rwbuf[TCP_RWBUF_SIZE];
    10290
    103 bool_t          connected       = false;        /* コネクションの状æ
    104 ‹       */
    105 bool_t          wait_accept     = false;        /* 接続要求å¾
    106 ã¡ä¸­  */
     91bool_t          connected       = false;        /* コネクションの状態    */
     92bool_t          wait_accept     = false;        /* 接続要求待ち中      */
    10793
    10894#ifdef SUPPORT_INET6
     
    130116
    131117/*
    132  *  ネットワーク層の選択
     118 *  ネットワーク層の選択
    133119 */
    134120
     
    150136
    151137/*
    152  *  ノンブロッキングコールのコールバック関数
     138 *  ノンブロッキングコールのコールバック関数
    153139 */
    154140
     
    184170
    185171/*
    186  *  コネクションを切断
     172 *  コネクションを切断
    187173 */
    188174
     
    207193
    208194/*
    209  *  送信バッファのフラッシュ
     195 *  送信バッファのフラッシュ
    210196 */
    211197
     
    225211
    226212/*
    227  *  文字送信
     213 *  文字送信
    228214 */
    229215
     
    252238
    253239/*
    254  *  文字受信(変換なし)
     240 *  文字受信(変換なし)
    255241 */
    256242
     
    281267
    282268/*
    283  *  文字受信(TELNET オプションをスキップ)
     269 *  文字受信(TELNET オプションをスキップ)
    284270 */
    285271
     
    313299
    314300/*
    315  *  シリアルポートからの読出し
     301 *  シリアルポートからの読出し
    316302 */
    317303
     
    350336
    351337/*
    352  *  シリアルポートの制御
     338 *  シリアルポートの制御
    353339 */
    354340
     
    361347
    362348/*
    363  *  もっとも長い整数型 (LONGEST) と符号なし整数型 (ULONGEST)
     349 *  もっとも長い整数型 (LONGEST) と符号なし整数型 (ULONGEST)
    364350 */
    365351
     
    386372
    387373/*
    388  *  ログのシミュレーション
    389  */
    390 
    391 /*  数値変換のための変換表  */
     374 *  ログのシミュレーション
     375 */
     376
     377/*  数値変換のための変換表  */
    392378
    393379static const char radhex[] = "0123456789abcdef";
     
    395381
    396382/*
    397  *  put_num -- printf の数値変換
     383 *  put_num -- printf の数値変換
    398384 */
    399385
     
    427413
    428414        pad = ix;
    429         if (!left)      /* 右詰め */
     415        if (!left)      /* 右詰め */
    430416                for ( ; pad < width; pad ++)
    431417                        put_char(cepid, padchar);
     
    434420                put_char(cepid, digits[ix]);
    435421
    436         if (left)       /* 左詰め */
     422        if (left)       /* 左詰め */
    437423                for ( ; pad < width; pad ++)
    438424                        put_char(cepid, padchar);
     
    442428
    443429/*
    444  *  ipv6addr -- IPv6 アドレス出力
     430 *  ipv6addr -- IPv6 アドレス出力
    445431 */
    446432
     
    490476
    491477/*
    492  *  put_ipv4addr -- IPv4 アドレス出力
     478 *  put_ipv4addr -- IPv4 アドレス出力
    493479 */
    494480
     
    496482put_ipv4addr (ID cepid, ULONGEST *addr, int_t width)
    497483{
    498         int_t len = 3;  /* 3 は '.' の文字数 */
     484        int_t len = 3;  /* 3 は '.' の文字数 */
    499485
    500486#if _NET_CFG_BYTE_ORDER == _NET_CFG_BIG_ENDIAN
     
    527513
    528514/*
    529  *  put_macaddr -- MAC アドレス出力
     515 *  put_macaddr -- MAC アドレス出力
    530516 */
    531517
     
    548534
    549535/*
    550  *  引数を取り出すためのマクロ
     536 *  引数を取り出すためのマクロ
    551537 */
    552538
     
    582568
    583569/*
    584  *  ログ出力
     570 *  ログ出力
    585571 */
    586572
     
    598584                va_start(ap, format);
    599585                while ((ch = *format ++) != '\0') {
    600                         if (ch != '%') {                /* 書式指定以外 */
     586                        if (ch != '%') {                /* 書式指定以外 */
    601587                                put_char(TCP_CEPID, (char)ch);
    602588                                continue;
     
    606592                        padchar = ' ';
    607593
    608                         if (ch == '-') {                /* 左詰め */
     594                        if (ch == '-') {                /* 左詰め */
    609595                                format ++;
    610596                                left = -1;
     
    613599                                left = 1;
    614600
    615                         if ((ch = *format ++) == '0') { /* 上位桁の 0 */
     601                        if ((ch = *format ++) == '0') { /* 上位桁の 0 */
    616602                                padchar = '0';
    617603                                ch = *format ++;
    618604                                }
    619605
    620                         while ('0' <= ch && ch <= '9') {        /* 出力å¹
    621  */
     606                        while ('0' <= ch && ch <= '9') {        /* 出力幅 */
    622607                                width = width * 10 + ch - '0';
    623608                                ch = *format ++;
    624609                                }
    625610
    626                         while (ch == 'l') {             /* long (long) の指定 */
     611                        while (ch == 'l') {             /* long (long) の指定 */
    627612                                longflag ++;
    628613                                ch = *format ++;
    629614                                }
    630615
    631                         while (ch == 'h') {             /* short の指定 */
     616                        while (ch == 'h') {             /* short の指定 */
    632617                                shortflag ++;
    633618                                ch = *format ++;
  • asp3_gr_sakura/trunk/sample/sample1n.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain; charset=UTF-8
    r317 r318  
    44
    55/*
    6  *  ネットワーク対応サンプルプログラム(1)の
    7  *  システムコンフィギュレーションファイル
     6 *  ネットワーク対応サンプルプログラム(1)の
     7 *  システムコンフィギュレーションファイル
    88 */
    99
     
    1717INCLUDE("tinet_sample1n.cfg");
    1818
    19 /* セマフォ */
     19/* セマフォ */
    2020
    2121CRE_SEM(SEM_TCP_SYSLOG, { TA_TPRI, 1, 1 });
  • asp3_gr_sakura/trunk/sample/sample1n.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r317 r318  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    5038
    5139/*
    52  *  ネットワーク対応サンプルプログラム(1)のヘッダファイル
     40 *  ネットワーク対応サンプルプログラム(1)のヘッダファイル
    5341 */
    5442
    55 /*  TCP 送受信ウィンドバッファサイズ  */
     43/*  TCP 送受信ウィンドバッファサイズ  */
    5644
    5745#define TCP_SWBUF_SIZE  512
    5846#define TCP_RWBUF_SIZE  512
    5947
    60 /*  リネーム  */
     48/*  リネーム  */
    6149
    6250#define syslog          net_syslog
     
    6654#ifndef _MACRO_ONLY
    6755
    68 /*  TCP 送受信ウィンドバッファ  */
     56/*  TCP 送受信ウィンドバッファ  */
    6957
    7058extern uint8_t tcp_swbuf[];
    7159extern uint8_t tcp_rwbuf[];
    7260
    73 /*  ネットワーク対応化関数  */
     61/*  ネットワーク対応化関数  */
    7462
    7563extern void     net_syslog(uint_t prio, const char *format, ...) throw();
     
    7765extern ER       net_serial_ctl_por(ID portid, uint_t ioctl) throw();
    7866
    79 /*  ノンブロッキングコールのコールバック関数  */
     67/*  ノンブロッキングコールのコールバック関数  */
    8068
    8169extern ER       callback_nblk_tcp(ID cepid, FN fncd, void *p_parblk);
  • asp3_gr_sakura/trunk/sample/tSample2.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc; charset=UTF-8
    r317 r318  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    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 *      免責すること.
    4733 *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    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' : 対象タスクをcTask_activateにより起動する.
    100  *  'A' : 対象タスクに対する起動要求をcTask_cancelActivateによりキャンセルする.
    101  *  'e' : 対象タスクにexitTaskを呼び出させ,終了させる.
    102  *  't' : 対象タスクをcTask_terminateにより強制終了する.
    103  *  '>' : 対象タスクの優å
    104 ˆåº¦ã‚’HIGH_PRIORITYにする.
    105  *  '=' : 対象タスクの優å
    106 ˆåº¦ã‚’MID_PRIORITYにする.
    107  *  '<' : 対象タスクの優å
    108 ˆåº¦ã‚’LOW_PRIORITYにする.
    109  *  'G' : 対象タスクの優å
    110 ˆåº¦ã‚’cTask_getPriorityで読み出す.
    111  *  's' : 対象タスクにsleepを呼び出させ,起床å¾
    112 ã¡ã«ã•ã›ã‚‹ï¼Ž
    113  *  'S' : 対象タスクにsleepTimeout10秒)を呼び出させ,起床å¾
    114 ã¡ã«ã•ã›ã‚‹ï¼Ž
    115  *  'w' : 対象タスクをcTask_wakeupにより起床する.
    116  *  'W' : 対象タスクに対する起床要求をcTask_cancelWakeupによりキャンセルする.
    117  *  'l' : 対象タスクをcTask_releaseWaitにより強制的にå¾
    118 ã¡è§£é™¤ã«ã™ã‚‹ï¼Ž
    119  *  'u' : 対象タスクをcTask_suspendにより強制å¾
    120 ã¡çŠ¶æ
    121 ‹ã«ã™ã‚‹ï¼Ž
    122  *  'm' : 対象タスクの強制å¾
    123 ã¡çŠ¶æ
    124 ‹ã‚’cTask_resumeにより解除する.
    125  *  'd' : 対象タスクにdelay(10秒)を呼び出させ,時間経過å¾
    126 ã¡ã«ã•ã›ã‚‹ï¼Ž
    127  *  'x' : 対象タスクにraiseTerminateにより終了要求する.
    128  *  'y' : 対象タスクにdisableTerminateを呼び出させ,タスク終了を禁止する.
    129  *  'Y' : 対象タスクにenableTerminateを呼び出させ,タスク終了を許可する.
    130  *  'r' : 3つの優å
    131 ˆåº¦ï¼ˆHIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY)のレ
    132  *        ディキューを回転させる.
    133  *  'c' : 周期ハンドラを動作開始させる.
    134  *  'C' : 周期ハンドラを動作停止させる.
    135  *  'b' : アラームハンドラを5秒後に起動するよう動作開始させる.
    136  *  'B' : アラームハンドラを動作停止させる.
    137  *  'z' : 対象タスクにCPU例外を発生させる(タスクを終了させる).
    138  *  'Z' : 対象タスクにCPUロック状æ
    139 ‹ã§CPU例外を発生させる(プログラムを
    140  *        終了する).
    141  *  'V' : fetchHighResolutionTimerで高分解能タイマを2回読む.
    142  *  'v' : 発行したシステムコールを表示する(デフォルト).
    143  *  'q' : 発行したシステムコールを表示しない.
    144  * 呼び口関数 #_TCPF_#
     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' : 対象タスクをcTask_activateにより起動する.
     75 *  'A' : 対象タスクに対する起動要求をcTask_cancelActivateによりキャンセルする.
     76 *  'e' : 対象タスクにexitTaskを呼び出させ,終了させる.
     77 *  't' : 対象タスクをcTask_terminateにより強制終了する.
     78 *  '>' : 対象タスクの優先度をHIGH_PRIORITYにする.
     79 *  '=' : 対象タスクの優先度をMID_PRIORITYにする.
     80 *  '<' : 対象タスクの優先度をLOW_PRIORITYにする.
     81 *  'G' : 対象タスクの優先度をcTask_getPriorityで読み出す.
     82 *  's' : 対象タスクにsleepを呼び出させ,起床待ちにさせる.
     83 *  'S' : 対象タスクにsleepTimeout10秒)を呼び出させ,起床待ちにさせる.
     84 *  'w' : 対象タスクをcTask_wakeupにより起床する.
     85 *  'W' : 対象タスクに対する起床要求をcTask_cancelWakeupによりキャンセルする.
     86 *  'l' : 対象タスクをcTask_releaseWaitにより強制的に待ち解除にする.
     87 *  'u' : 対象タスクをcTask_suspendにより強制待ち状態にする.
     88 *  'm' : 対象タスクの強制待ち状態をcTask_resumeにより解除する.
     89 *  'd' : 対象タスクにdelay(10秒)を呼び出させ,時間経過待ちにさせる.
     90 *  'x' : 対象タスクにraiseTerminateにより終了要求する.
     91 *  'y' : 対象タスクにdisableTerminateを呼び出させ,タスク終了を禁止する.
     92 *  'Y' : 対象タスクにenableTerminateを呼び出させ,タスク終了を許可する.
     93 *  'r' : 3つの優先度(HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY)のレ
     94 *        ディキューを回転させる.
     95 *  'c' : 周期ハンドラを動作開始させる.
     96 *  'C' : 周期ハンドラを動作停止させる.
     97 *  'b' : アラームハンドラを5秒後に起動するよう動作開始させる.
     98 *  'B' : アラームハンドラを動作停止させる.
     99 *  'z' : 対象タスクにCPU例外を発生させる(タスクを終了させる).
     100 *  'Z' : 対象タスクにCPUロック状態でCPU例外を発生させる(プログラムを
     101 *        終了する).
     102 *  'V' : fetchHighResolutionTimerで高分解能タイマを2回読む.
     103 *  'v' : 発行したシステムコールを表示する(デフォルト).
     104 *  'q' : 発行したシステムコールを表示しない.
     105 * 呼び口関数 #_TCPF_#
    145106 * require port: signature:sKernel context:task
    146107 *   ER             getExtendedInformation( intptr_t* p_exinf );
     
    246207
    247208/*
    248  *  サービスコールのエラーのログ出力
     209 *  サービスコールのエラーのログ出力
    249210 */
    250211Inline void
     
    259220
    260221/*
    261  *  並行実行されるタスクへのメッセージ領域
     222 *  並行実行されるタスクへのメッセージ領域
    262223 */
    263224char    message[3];
    264225
    265226/*
    266  *  ループ回数
    267  */
    268 ulong_t task_loop;              /* タスクå†
    269 ã§ã®ãƒ«ãƒ¼ãƒ—回数 */
    270 
    271 /*
    272  *  並行実行されるタスク
     227 *  ループ回数
     228 */
     229ulong_t task_loop;              /* タスク内でのループ回数 */
     230
     231/*
     232 *  並行実行されるタスク
    273233 */
    274234void eSampleTask_main(int_t subscript)
     
    330290
    331291/*
    332  *  CPU例外ハンドラ
    333  */
    334 
    335 ID      cpuexc_tskid;           /* CPU例外を起こしたタスクのID */
     292 *  CPU例外ハンドラ
     293 */
     294
     295ID      cpuexc_tskid;           /* CPU例外を起こしたタスクのID */
    336296
    337297#ifdef CPUEXC1
     
    373333
    374334/*
    375  *  周期ハンドラ
    376  *
    377  *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優å
    378 ˆåº¦ã®ãƒ¬ãƒ‡ã‚£ã‚­ãƒ¥ãƒ¼
    379  *  を回転させる.
     335 *  周期ハンドラ
     336 *
     337 *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー
     338 *  を回転させる.
    380339 */
    381340/* #[<ENTRY_FUNC>]# eiCyclicHandler_main
     
    393352
    394353/*
    395  *  アラームハンドラ
    396  *
    397  *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優å
    398 ˆåº¦ã®ãƒ¬ãƒ‡ã‚£ã‚­ãƒ¥ãƒ¼
    399  *  を回転させる.
     354 *  アラームハンドラ
     355 *
     356 *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー
     357 *  を回転させる.
    400358 */
    401359/* #[<ENTRY_FUNC>]# eiAlarmHandler_main
     
    412370}
    413371/*
    414  *  例外処理タスク
     372 *  例外処理タスク
    415373 */
    416374/* #[<ENTRY_FUNC>]# eExceptionTask_main
     
    424382}
    425383/*
    426  *  メインタスク
    427  */
    428 /* 属性の設定 *//* #[<ENTRY_FUNC>]# eMainTask_main
     384 *  メインタスク
     385 */
     386/* 属性の設定 *//* #[<ENTRY_FUNC>]# eMainTask_main
    429387 * name:         eMainTask_main
    430388 * global_name:  tSample2_eMainTask_main
     
    447405        } else {
    448406                /*
    449                  *  シリアル出力ができない場合、ログメッセージをå
    450 ¨ã¦
    451                  *  低レベル出力により出力する。
     407                 *  シリアル出力ができない場合、ログメッセージを全て
     408                 *  低レベル出力により出力する。
    452409                 */
    453410                SVC_PERROR(cSysLog_mask(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_DEBUG)));
     
    456413
    457414        /*
    458          *  シリアルポートの初期化
     415         *  シリアルポートの初期化
    459416         *
    460          *  システムログタスクと同じシリアルポートを使う場合など,シリアル
    461          *  ポートがオープン済みの場合にはここでE_OBJエラーになるが,支障は
    462          *  ない.
     417         *  システムログタスクと同じシリアルポートを使う場合など,シリアル
     418         *  ポートがオープン済みの場合にはここでE_OBJエラーになるが,支障は
     419         *  ない.
    463420         */
    464421
     
    473430
    474431        /*
    475          *  ループ回数の設定
     432         *  ループ回数の設定
    476433         *
    477          *  並行実行されるタスクå†
    478 ã§ã®ç©ºãƒ«ãƒ¼ãƒ—の回数(task_loop)は,空ルー
    479          *  プの実行時間が約0.4秒になるように設定する.この設定のために,
    480          *  LOOP_REF回の空ループの実行時間を,その前後でget_timを呼ぶことで
    481          *  測定し,その測定結果から空ループの実行時間が0.4秒になるループ回
    482          *  数を求め,task_loopに設定する.
     434         *  並行実行されるタスク内での空ループの回数(task_loop)は,空ルー
     435         *  プの実行時間が約0.4秒になるように設定する.この設定のために,
     436         *  LOOP_REF回の空ループの実行時間を,その前後でget_timを呼ぶことで
     437         *  測定し,その測定結果から空ループの実行時間が0.4秒になるループ回
     438         *  数を求め,task_loopに設定する.
    483439         *
    484          *  LOOP_REFは,デフォルトでは1,000,000に設定しているが,想定したよ
    485          *  りé
    486 ã„プロセッサでは,サンプルプログラムの実行開始に時間がかか
    487          *  りすぎるという問題を生じる.逆に想定したより速いプロセッサでは,
    488          *  LOOP_REF回の空ループの実行時間が短くなり,task_loopに設定する値
    489          *  の誤差が大きくなるという問題がある.
     440         *  LOOP_REFは,デフォルトでは1,000,000に設定しているが,想定したよ
     441         *  り遅いプロセッサでは,サンプルプログラムの実行開始に時間がかか
     442         *  りすぎるという問題を生じる.逆に想定したより速いプロセッサでは,
     443         *  LOOP_REF回の空ループの実行時間が短くなり,task_loopに設定する値
     444         *  の誤差が大きくなるという問題がある.
    490445         *
    491          *  そこで,そのようなターゲットでは,target_test.hで,LOOP_REFを適
    492          *  切な値に定義するのが望ましい.
     446         *  そこで,そのようなターゲットでは,target_test.hで,LOOP_REFを適
     447         *  切な値に定義するのが望ましい.
    493448         *
    494          *  また,task_loopの値を固定したい場合には,その値をTASK_LOOPにマ
    495          *  クロ定義する.TASK_LOOPがマクロ定義されている場合,上記の測定を
    496          *  行わずに,TASK_LOOPに定義された値を空ループの回数とする.
     449         *  また,task_loopの値を固定したい場合には,その値をTASK_LOOPにマ
     450         *  クロ定義する.TASK_LOOPがマクロ定義されている場合,上記の測定を
     451         *  行わずに,TASK_LOOPに定義された値を空ループの回数とする.
    497452         *
    498          * ターゲットによっては,空ループの実行時間の1回目の測定で,本来よ
    499          * りも長めになるものがある.このようなターゲットでは,MEASURE_TWICE
    500          * をマクロ定義することで,1回目の測定結果を捨てて,2回目の測定結果
    501          * を使う.
     453         * ターゲットによっては,空ループの実行時間の1回目の測定で,本来よ
     454         * りも長めになるものがある.このようなターゲットでは,MEASURE_TWICE
     455         * をマクロ定義することで,1回目の測定結果を捨てて,2回目の測定結果
     456         * を使う.
    502457         */
    503458#ifdef TASK_LOOP
     
    521476
    522477        /*
    523          *  タスクの起動
     478         *  タスクの起動
    524479         */
    525480
     
    529484
    530485        /*
    531          *  メインループ
     486         *  メインループ
    532487         */
    533488        if (is_cSerialPort_joined()) {
  • asp3_gr_sakura/trunk/sample/tSample2.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain; charset=UTF-8
    r317 r318  
    11/*
    2  *              サンプルプログラム(2)のシステムコンフィギュレーションファイル
     2 *              サンプルプログラム(2)のシステムコンフィギュレーションファイル
    33 *
    44 *  $Id$
  • asp3_gr_sakura/trunk/sample/tSample2.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r317 r318  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    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 *      免責すること.
    4733 *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    59  *              サンプルプログラム(2)のヘッダファイル
     44 *              サンプルプログラム(2)のヘッダファイル
    6045 */
    6146
    6247/*
    63  *  ターゲット依存の定義
     48 *  ターゲット依存の定義
    6449 */
    6550#include "target_test.h"
    6651
    6752/*
    68  *  各タスクの優å
    69 ˆåº¦ã®å®šç¾©
     53 *  各タスクの優先度の定義
    7054 */
    7155
    72 #define EXC_PRIORITY    1               /* 例外処理タスクの優å
    73 ˆåº¦ */
    74 #define MAIN_PRIORITY   5               /* メインタスクの優å
    75 ˆåº¦ */
    76                                                                 /* HIGH_PRIORITYより高くすること */
     56#define EXC_PRIORITY    1               /* 例外処理タスクの優先度 */
     57#define MAIN_PRIORITY   5               /* メインタスクの優先度 */
     58                                                                /* HIGH_PRIORITYより高くすること */
    7759
    78 #define HIGH_PRIORITY   9               /* 並列に実行されるタスクの優å
    79 ˆåº¦ */
     60#define HIGH_PRIORITY   9               /* 並列に実行されるタスクの優先度 */
    8061#define MID_PRIORITY    10
    8162#define LOW_PRIORITY    11
    8263
    8364/*
    84  *  ターゲットに依存する可能性のある定数の定義
     65 *  ターゲットに依存する可能性のある定数の定義
    8566 */
    8667
    8768#ifndef STACK_SIZE
    88 #define STACK_SIZE              4096            /* タスクのスタックサイズ */
     69#define STACK_SIZE              4096            /* タスクのスタックサイズ */
    8970#endif /* STACK_SIZE */
    9071
    9172#ifndef LOOP_REF
    92 #define LOOP_REF                ULONG_C(1000000)        /* 速度計測用のループ回数 */
     73#define LOOP_REF                ULONG_C(1000000)        /* 速度計測用のループ回数 */
    9374#endif /* LOOP_REF */
    9475
    9576/*
    96  *  関数のプロトタイプ宣言
     77 *  関数のプロトタイプ宣言
    9778 */
    9879#ifndef TOPPERS_MACRO_ONLY
  • asp3_gr_sakura/trunk/sample/tinet_app_config.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r317 r318  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4836
    4937/*
    50  *  インターネットプロトコルファミリーのサポート
    51  *
    52  *    Makefile で指定しても良い
     38 *  インターネットプロトコルファミリーのサポート
     39 *
     40 *    Makefile で指定しても良い
    5341 */
    5442
     
    5846/*#define SUPPORT_UDP           UDP                     */
    5947
    60 /*データリンク層のネットワークインタフェースを選択する        */
    61 /*いずれか一つだけ選択できる。                            */
     48/*データリンク層のネットワークインタフェースを選択する    */
     49/*いずれか一つだけ選択できる。                                */
    6250
    6351/*#define SUPPORT_PPP           PointtoPointProtocol    */
     
    6856
    6957/*
    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 で指定している。
    7866 */
    7967/*#define TCP_CFG_RWBUF_CSAVE_ONLY*/
    80                         /* TCP 通信端点の受信ウィンドバッファの省コピー機能のみ有効にする。       */
     68                        /* TCP 通信端点の受信ウィンドバッファの省コピー機能のみ有効にする。   */
    8169/*#define TCP_CFG_RWBUF_CSAVE*/
    82                         /* TCP 通信端点の受信ウィンドバッファの省コピー機能を有効にする。  */
     70                        /* TCP 通信端点の受信ウィンドバッファの省コピー機能を有効にする。    */
    8371/*#define TCP_CFG_SWBUF_CSAVE_ONLY*/
    84                         /* TCP 通信端点の送信ウィンドバッファの省コピー機能のみ有効にする。       */
     72                        /* TCP 通信端点の送信ウィンドバッファの省コピー機能のみ有効にする。   */
    8573/*#define TCP_CFG_SWBUF_CSAVE*/
    86                         /* TCP 通信端点の送信ウィンドバッファの省コピー機能を有効にする。  */
    87 
    88 /*
    89  *  TCP 通信端点の受信ウィンドバッファの省コピー機能の、
    90  *  受信ウィンドバッファキューの最大エントリ数。
    91  *  ただし、正常に受信したセグメントも破棄するため、再送回数が増加する。
    92  *  また、指定しないと制限しない。
     74                        /* TCP 通信端点の送信ウィンドバッファの省コピー機能を有効にする。    */
     75
     76/*
     77 *  TCP 通信端点の受信ウィンドバッファの省コピー機能の、
     78 *  受信ウィンドバッファキューの最大エントリ数。
     79 *  ただし、正常に受信したセグメントも破棄するため、再送回数が増加する。
     80 *  また、指定しないと制限しない。
    9381 */
    9482/*#define TCP_CFG_RWBUF_CSAVE_MAX_QUEUES        2*/
    9583
    9684/*
    97  *  TCP 通信端点の送信ウィンドバッファの省コピー機能で、
    98  *  送信ウィンドバッファに使用するネットワークバッファのサイズ。
     85 *  TCP 通信端点の送信ウィンドバッファの省コピー機能で、
     86 *  送信ウィンドバッファに使用するネットワークバッファのサイズ。
    9987 */
    10088
     
    10391#ifdef SUPPORT_INET6
    10492
    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)       /* 最大サイズ */
    10694
    10795#else   /* of #ifdef SUPPORT_INET6 */
    10896
    10997#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)         /* 最大サイズ */
    11199#endif
    112100
     
    115103#else   /* of #ifdef USE_TCP_MSS_SEG */
    116104
    117 #define TCP_CFG_SWBUF_CSAVE_MAX_SIZE    IF_PDU_SIZE                     /* 最大サイズ */
     105#define TCP_CFG_SWBUF_CSAVE_MAX_SIZE    IF_PDU_SIZE                     /* 最大サイズ */
    118106
    119107#endif  /* of #ifdef USE_TCP_MSS_SEG */
    120108
    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 のノンブロッキングコール機能
    125113 */
    126114
     
    130118
    131119/*
    132  *  MAX_TCP_SND_SEG: 送信セグメントサイズの最大値
    133  *
    134  *    相手から MSS オプションでセグメントサイズを指定されても、
    135  *    この値で、セグメントサイズを制限できる。
     120 *  MAX_TCP_SND_SEG: 送信セグメントサイズの最大値
     121 *
     122 *    相手から MSS オプションでセグメントサイズを指定されても、
     123 *    この値で、セグメントサイズを制限できる。
    136124 */
    137125
     
    157145
    158146/*
    159  *  DEF_TCP_RCV_SEG: 受信セグメントサイズの規定値
     147 *  DEF_TCP_RCV_SEG: 受信セグメントサイズの規定値
    160148 */
    161149
     
    181169
    182170/*
    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 通信端点を分離する機能は組込まない。
    191176 */
    192177#if defined(USE_TCP_MSS_SEG)
     
    197182
    198183/*
    199  *  TCP ヘッダのトレース出力機能
     184 *  TCP ヘッダのトレース出力機能
    200185 */
    201186//#define TCP_CFG_TRACE
    202187
    203188/*
    204  *  トレース出力対象のリモートホストの IPv4 アドレス
    205  *  IPV4_ADDRANY を指定すると、å
    206 ¨ã¦ã®ãƒ›ã‚¹ãƒˆã‚’対象とする。
     189 *  トレース出力対象のリモートホストの IPv4 アドレス
     190 *  IPV4_ADDRANY を指定すると、全てのホストを対象とする。
    207191 */
    208192#define TCP_CFG_TRACE_IPV4_RADDR        IPV4_ADDRANY
    209193
    210194/*
    211  *  トレース出力対象のリモートホストのポート番号
    212  *  TCP_PORTANY を指定すると、å
    213 ¨ã¦ã®ãƒãƒ¼ãƒˆç•ªå·ã‚’対象にする。
     195 *  トレース出力対象のリモートホストのポート番号
     196 *  TCP_PORTANY を指定すると、全てのポート番号を対象にする。
    214197 */
    215198#define TCP_CFG_TRACE_RPORTNO           TCP_PORTANY
     
    217200
    218201/*
    219  *  トレース出力対象のローカルホストのポート番号
    220  *  TCP_PORTANY を指定すると、å
    221 ¨ã¦ã®ãƒãƒ¼ãƒˆç•ªå·ã‚’対象にする。
     202 *  トレース出力対象のローカルホストのポート番号
     203 *  TCP_PORTANY を指定すると、全てのポート番号を対象にする。
    222204 */
    223205#define TCP_CFG_TRACE_LPORTNO           TCP_PORTANY
     
    225207
    226208/*
    227  *  ITRON TCP/IP API、TCP の拡張機能
     209 *  ITRON TCP/IP API、TCP の拡張機能
    228210 */
    229211//#define TCP_CFG_EXTENTIONS
    230212
    231213/*
    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 の規定、緊急ポインタは、緊急データの最後のバイトを差す。
    237218 */
    238219
     
    240221//#define TCP_CFG_URG_OFFSET    0
    241222
    242 /* UDP に関する定義 */
    243 
    244 /*
    245  *  UDP のノンブロッキングコール機能
     223/* UDP に関する定義 */
     224
     225/*
     226 *  UDP のノンブロッキングコール機能
    246227 */
    247228
     
    251232
    252233/*
    253  *  ITRON TCP/IP API、UDP の拡張機能
     234 *  ITRON TCP/IP API、UDP の拡張機能
    254235 */
    255236//#define UDP_CFG_EXTENTIONS
    256237
    257 /* IPv6 に関する定義 */
     238/* IPv6 に関する定義 */
    258239
    259240#ifdef SUPPORT_PPP
     
    278259#endif  /* of #ifdef SUPPORT_ETHER */
    279260
    280 /* IPv4 に関する定義 */
     261/* IPv4 に関する定義 */
    281262
    282263#ifdef SUPPORT_PPP
     
    285266#define IPV4_ADDR_LOCAL                 MAKE_IPV4_ADDR(192,168,1,21)
    286267#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)         /* 相手に割り当ててもらう場合        */
    288269#endif
    289270
     
    291272#define IPV4_ADDR_REMOTE                MAKE_IPV4_ADDR(192,168,1,31)
    292273#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)         /* 相手に割り当ててもらう場合        */
    294275#endif
    295276
     
    328309
    329310/*
    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)に用いるシリアルポート番号       */
    342323
    343324/*#define PPP_IDLE_TIMEOUT              (180*NET_TIMER_HZ)*/
    344                                         /* 切断までのアイドル時間、         */
    345                                         /* 切断しない場合はコメントアウトする。       */
    346 
    347 /*#define PPP_CFG_MODEM                  モデム接続の場合はコメントを外す。    */
     325                                        /* 切断までのアイドル時間、         */
     326                                        /* 切断しない場合はコメントアウトする。   */
     327
     328/*#define PPP_CFG_MODEM                  モデム接続の場合はコメントを外す。      */
    348329
    349330#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 回        */
    358339
    359340#define MODEM_CFG_PHONE_NUMBER          "090-xxxx-9242"
    360341
    361                                         /* 自構成æƒ
    362 å ±ã®è¦å®šå€¤                 */
     342                                        /* 自構成情報の規定値                    */
    363343#define DEF_LCP_LOCAL_CFGS              (LCP_CFG_MRU|LCP_CFG_ACCM|LCP_CFG_MAGIC|\
    364344                                         LCP_CFG_ACCOMP|LCP_CFG_PCOMP|LCP_CFG_PAP)
    365345
    366                                         /* 相手に許す構成æƒ
    367 å ±ã®è¦å®šå€¤         */
     346                                        /* 相手に許す構成情報の規定値                */
    368347#define DEF_LCP_REMOTE_CFGS             (LCP_CFG_MRU|LCP_CFG_ACCM|LCP_CFG_MAGIC|\
    369348                                         LCP_CFG_ACCOMP|LCP_CFG_PCOMP|LCP_CFG_PAP)
    370349
    371350/*
    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 に関する定義
    392371 */
    393372
    394373#ifdef USE_PING
    395374
    396 #define ICMP_CFG_CALLBACK_ECHO_REPLY    /* ICMP ECHO 応答を受信したとき呼出すコールバック関数を    */
    397                                         /* 定義する場合はコメントを外す。                        */
     375#define ICMP_CFG_CALLBACK_ECHO_REPLY    /* ICMP ECHO 応答を受信したとき呼出すコールバック関数を      */
     376                                        /* 定義する場合はコメントを外す。                      */
    398377
    399378#endif  /* of #ifdef USE_PING */
    400379
    401380/*
    402  *  ネットワークバッファに関する定義
     381 *  ネットワークバッファに関する定義
    403382 */
    404383
     
    406385
    407386/*
    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 *    ネットワークバッファは不要である。
    419398 */
    420399
     
    430409
    431410/*
    432  *  CSEG(IF + IP + TCP)
    433  *
    434  *    IPv6 でのみ割り当てる。
    435  *
    436  *    MBED Ethernet Controler のディバイスドライバ(if_mbed)の最低割当て長は、
    437  *    イーサネットフレームの最短長である 60(CRC の 4 オクテットを除き、
    438  *    更にアラインして 62)オクテットである。
    439  *    従って、IPv4 では、CSEG サイズのネットワークバッファ
    440  *   ï¼ˆIF + IPv4 + TCP = 54)は不要である。
     411 *  CSEG(IF + IP + TCP)
     412 *
     413 *    IPv6 でのみ割り当てる。
     414 *
     415 *    MBED Ethernet Controler のディバイスドライバ(if_mbed)の最低割当て長は、
     416 *    イーサネットフレームの最短長である 60(CRC の 4 オクテットを除き、
     417 *    更にアラインして 62)オクテットである。
     418 *    従って、IPv4 では、CSEG サイズのネットワークバッファ
     419 *   (IF + IPv4 + TCP = 54)は不要である。
    441420 */
    442421
     
    452431
    453432/*
    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 オクテットのネットワークバッファは割り当てない。
    459438 */
    460439
     
    470449
    471450/*
    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 オクテットのネットワークバッファは割り当てない。
    477456 */
    478457
     
    488467
    489468/*
    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 オクテットのネットワークバッファは割り当てない。
    495474 */
    496475
     
    506485
    507486/*
    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 割り当てる。
    513492 */
    514493
     
    523502#define NUM_MPF_NET_BUF_IP_MSS          3
    524503#else
    525 #define NUM_MPF_NET_BUF_IP_MSS          2       /* IF + 576 オクテット     */
     504#define NUM_MPF_NET_BUF_IP_MSS          2       /* IF + 576 オクテット       */
    526505#endif
    527506
    528507#else   /* of #if defined(SUPPORT_INET4) && defined(USE_TCP_MSS_SEG) */
    529508
    530 #define NUM_MPF_NET_BUF_IP_MSS          0       /* IF + 576 オクテット     */
     509#define NUM_MPF_NET_BUF_IP_MSS          0       /* IF + 576 オクテット       */
    531510
    532511#endif  /* of #if defined(SUPPORT_INET4) && defined(USE_TCP_MSS_SEG) */
    533512
    534513/*
    535  *  1024 オクテット       
    536  *
    537  *    TCP MSS のネットワークバッファを割り当てる場合、
    538  *    1024 オクテットのネットワークバッファは割り当てない。
     514 *  1024 オクテット 
     515 *
     516 *    TCP MSS のネットワークバッファを割り当てる場合、
     517 *    1024 オクテットのネットワークバッファは割り当てない。
    539518 */
    540519
     
    544523
    545524#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 割り当てる。
    557536 */
    558537
     
    577556
    578557/*
    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 割り当てる。
    585564 */
    586565
     
    604583
    605584/*
    606  *  65536 オクテット
    607  *
    608  *  ・NET_BUF_CFG_LONG_LEN を定義したときのみ割り当てる。
     585 *  65536 オクテット
     586 *
     587 *  ・NET_BUF_CFG_LONG_LEN を定義したときのみ割り当てる。
    609588 */
    610589
    611590#ifdef NET_BUF_CFG_LONG_LEN
    612591
    613 /* IPv6 用 */
     592/* IPv6 */
    614593
    615594#ifdef NUM_MPF_NET_BUF6_65536
     
    632611
    633612/*
    634  *  DNS サーバに関する定義
    635  */
    636 
    637 /* DNS サーバの IP アドレス */
     613 *  DNS サーバに関する定義
     614 */
     615
     616/* DNS サーバの IP アドレス */
    638617
    639618#if !defined(DHCP6_CLI_CFG)
     
    651630#endif
    652631
    653 /* DOMAIN 名 */
     632/* DOMAIN */
    654633
    655634#if !(defined(DHCP4_CLI_CFG) || defined(DHCP6_CLI_CFG))
     
    658637
    659638/*
    660  *  DHCP クライアントに関する定義
    661  */
    662 
    663 /* DHCPv6 の動作モードの設定 */
     639 *  DHCP クライアントに関する定義
     640 */
     641
     642/* DHCPv6 の動作モードの設定 */
    664643
    665644#define DHCP6_CLI_CFG_MODE      DHCP6_CLI_CFG_STATELESS
  • asp3_gr_sakura/trunk/sample/tinet_sample1n.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain; charset=UTF-8
    r317 r318  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ネットワーク対応 sample1.c プログラムの TCP/IP コンフィギュレーションファイル
     35 *  ネットワーク対応 sample1.c プログラムの TCP/IP コンフィギュレーションファイル
    4836 */
    4937
    5038#include "sample1n.h"
    5139
    52 /* TCP 受付口 */
     40/* TCP 受付口 */
    5341
    5442#ifdef SUPPORT_INET6
     
    6654#endif  /* of #ifdef SUPPORT_INET6 */
    6755
    68 /* TCP 通信端点 */
     56/* TCP 通信端点 */
    6957
    7058#ifdef SUPPORT_INET6
Note: See TracChangeset for help on using the changeset viewer.