20.7 最大ID(maxdefine)
ここでは,各オブジェクトの最大IDを定義します。また,オブジェクトを動的に生成するサービス・コールを使用するには,対応するオブジェクトについて本定義を行う必要があります。

各オブジェクトの最大IDを定義したマクロが,システム情報ヘッダ・ファイルkernel_id.hに出力されます(「18.2 定数マ ク ロ」参照)

形式

< >内は,ユーザが記述する部分を示します。

 maxdefine {
     max_task    = <1. 最大タスクID(max_task)>;
     max_sem     = <2. 最大セマフォID(max_sem)>;
     max_flag    = <3. 最大イベントフラグID(max_flag)>;
     max_dtq     = <4. 最大データ・キューID(max_dtq)>;
     max_mbx     = <5. 最大メールボックスID(max_mbx)>;
     max_mtx     = <6. 最大ミューテックスID(max_mtx)>;
     max_mbf     = <7. 最大メッセージ・バッファID(max_mbf)>;
     max_mpf     = <8. 最大固定長メモリ・プールID(max_mpf)>;
     max_mpl     = <9. 最大可変長メモリ・プールID(max_mpl)>;
     max_cyh     = <10. 最大周期ハンドラID(max_cyh)>;
     max_alh     = <11. 最大アラーム・ハンドラID(max_alh)>;
     max_domain  = <12. 最大ドメインID(max_domain)>;
 };


1 ) 最大タスクID(max_task

- 説明
本定義により,cre_tsk,acre_tsk,del_tsk,exd_tsk,def_texを使用できます。
使用できるタスクIDの範囲は以下の通りです。



- 最小値:1

- 最大値:max_task 設定値,task[]で指定されたID番号,task[]定義数,の中の最大値

- 定義形式
数値


- 定義範囲
1〜255


- 省略時の扱い
cre_tsk,acre_tsk,del_tsk,def_texはE_NOSPTを返します。また,exd_tskはシステム・ダウンとなります。
使用できるタスクIDの範囲は以下の通りです。



- 最小値:1

- 最大値:task[]で指定されたID番号,task[]定義数,の中の最大値

- VTMAX_TSK
cfg600pxは,最大値を定義したマクロVTMAX_TSKを,システム情報ヘッダ・ファイルkernel_id.hに出力します。

2 ) 最大セマフォID(max_sem

- 説明
本定義により,cre_sem,acre_sem,del_semを使用できます。
使用できるセマフォIDの範囲は以下の通りです。



- 最小値:1

- 最大値:max_sem設定値,semaphore[]で指定されたID番号,semaphore[]定義数,の中の最大値

- 定義形式
数値


- 定義範囲
1〜255


- 省略時の扱い
cre_sem,acre_sem,del_semはE_NOSPTを返します。
使用できるセマフォIDの範囲は以下の通りです。



- 最小値:1

- 最大値:semaphore[]で指定されたID番号,semaphore[]定義数,の中の最大値

- VTMAX_SEM
cfg600pxは,最大値を定義したマクロVTMAX_SEMを,システム情報ヘッダ・ファイルkernel_id.hに出力します。

3 ) 最大イベントフラグID(max_flag

- 説明
本定義により,cre_flg,acre_flg,del_flgを使用できます。
使用できるイベントフラグIDの範囲は以下の通りです。



- 最小値:1

- 最大値:max_flag設定値,flag[]で指定されたID番号,flag[]定義数,の中の最大値

- 定義形式
数値


- 定義範囲
1〜255


- 省略時の扱い
cre_flg,acre_flg,del_flgはE_NOSPTを返します。
使用できるイベントフラグIDの範囲は以下の通りです。



- 最小値:1

- 最大値:flag[]で指定されたID番号,flag[]定義数,の中の最大値

- VTMAX_FLG
cfg600pxは,最大値を定義したマクロVTMAX_FLGを,システム情報ヘッダ・ファイルkernel_id.hに出力します。

4 ) 最大データ・キューID(max_dtq

- 説明
本定義により,cre_dtq,acre_dtq,del_dtqを使用できます。
使用できるデータ・キューIDの範囲は以下の通りです。



- 最小値:1

- 最大値:max_dtq設定値,dataqueue[]で指定されたID番号,dataqueue[]定義数,の中の最大値

- 定義形式
数値


- 定義範囲
1〜255


- 省略時の扱い
cre_dtq,acre_dtq,del_dtqはE_NOSPTを返します。
使用できるデータ・キューIDの範囲は以下の通りです。



- 最小値:1

- 最大値:dataqueue[]で指定されたID番号,dataqueue[]定義数,の中の最大値

- VTMAX_DTQ
cfg600pxは,最大値を定義したマクロVTMAX_DTQを,システム情報ヘッダ・ファイルkernel_id.hに出力します。

5 ) 最大メールボックスID(max_mbx

- 説明
本定義により,cre_mbx,acre_mbx,del_mbxを使用できます。
使用できるメールボックスIDの範囲は以下の通りです。



- 最小値:1

- 最大値:max_mbx設定値,mailbox[]で指定されたID番号,mailbox[]定義数,の中の最大値

- 定義形式
数値


- 定義範囲
1〜255


- 省略時の扱い
cre_mbx,acre_mbx,del_mbxはE_NOSPTを返します。
使用できるメールボックスIDの範囲は以下の通りです。



- 最小値:1

- 最大値:mailbox[]で指定されたID番号,mailbox[]定義数,の中の最大値

- VTMAX_MBX
cfg600pxは,最大値を定義したマクロVTMAX_MBXを,システム情報ヘッダ・ファイルkernel_id.hに出力します。

6 ) 最大ミューテックスID(max_mtx

- 説明
本定義により,cre_mtx,acre_mtx,del_mtxを使用できます。
使用できるミューテックスIDの範囲は以下の通りです。



- 最小値:1

- 最大値:max_mtx設定値,mutex[]で指定されたID番号,mutex[]定義数,の中の最大値

- 定義形式
数値


- 定義範囲
1〜255


- 省略時の扱い
cre_mtx,acre_mtx,del_mtxはE_NOSPTを返します。
使用できるミューテックスIDの範囲は以下の通りです。



- 最小値:1

- 最大値:mutex[]で指定されたID番号,mutex[]定義数,の中の最大値

- VTMAX_MTX
cfg600pxは,最大値を定義したマクロVTMAX_MTXを,システム情報ヘッダ・ファイルkernel_id.hに出力します。

7 ) 最大メッセージ・バッファID(max_mbf

- 説明
本定義により,cre_mbf,acre_mbf,del_mbfを使用できます。
使用できるメッセージ・バッファIDの範囲は以下の通りです。



- 最小値:1

- 最大値:max_mbf設定値,message_buffer[]で指定されたID番号,message_buffer[]定義数,の中の最大値

- 定義形式
数値


- 定義範囲
1〜255


- 省略時の扱い
cre_mbf,acre_mbf,del_mbfはE_NOSPTを返します。
使用できるメッセージ・バッファIDの範囲は以下の通りです。



- 最小値:1

- 最大値:message_buffer[]で指定されたID番号,message_buffer[]定義数,の中の最大値

- VTMAX_MBF
cfg600pxは,最大値を定義したマクロVTMAX_MBFを,システム情報ヘッダ・ファイルkernel_id.hに出力します。

8 ) 最大固定長メモリ・プールID(max_mpf

- 説明
本定義により,cre_mpf,acre_mpf,del_mpfを使用できます。
使用できる固定長メモリ・プールIDの範囲は以下の通りです。



- 最小値:1

- 最大値:max_mpf設定値,memorypool[]で指定されたID番号,memorypool[]定義数,の中の最大値

- 定義形式
数値


- 定義範囲
1〜255


- 省略時の扱い
cre_mpf,acre_mpf,del_mpfはE_NOSPTを返します。
使用できる固定長メモリ・プールIDの範囲は以下の通りです。



- 最小値:1

- 最大値:memorypool[]で指定されたID番号,memorypool[]定義数,の中の最大値

- VTMAX_MPF
cfg600pxは,最大値を定義したマクロVTMAX_MPFを,システム情報ヘッダ・ファイルkernel_id.hに出力します。

9 ) 最大可変長メモリ・プールID(max_mpl

- 説明
本定義により,cre_mpl,acre_mpl,del_mplを使用できます。
使用できる可変長メモリ・プールIDの範囲は以下の通りです。



- 最小値:1

- 最大値:max_mpl設定値,variable_memorypool[]で指定されたID番号,variable_memorypool[]定義数,の中の最大値

- 定義形式
数値


- 定義範囲
1〜255


- 省略時の扱い
cre_mpl,acre_mpl,del_mplはE_NOSPTを返します。
使用できる可変長メモリ・プールIDの範囲は以下の通りです。



- 最小値:1

- 最大値:variable_memorypool[]で指定されたID番号,variable_memorypool[]定義数,の中の最大値

- VTMAX_MPL
cfg600pxは,最大値を定義したマクロVTMAX_MPLを,システム情報ヘッダ・ファイルkernel_id.hに出力します。

10 ) 最大周期ハンドラID(max_cyh

- 説明
本定義により,cre_cyc,acre_cyc,del_cycを使用できます。
使用できる周期ハンドラIDの範囲は以下の通りです。



- 最小値:1

- 最大値:max_cyh設定値,cyclic_hand[]で指定されたID番号,cyclic_hand[]定義数,の中の最大値

- 定義形式
数値


- 定義範囲
1〜255


- 省略時の扱い
cre_cyc,acre_cyc,del_cycはE_NOSPTを返します。
使用できる周期ハンドラIDの範囲は以下の通りです。



- 最小値:1

- 最大値:cyclic_hand[]で指定されたID番号,cyclic_hand[]定義数,の中の最大値

- VTMAX_CYH
cfg600pxは,最大値を定義したマクロVTMAX_CYHを,システム情報ヘッダ・ファイルkernel_id.hに出力します。

11 ) 最大アラーム・ハンドラID(max_alh

- 説明
本定義により,cre_alm,acre_alm,del_almを使用できます。
使用できるアラーム・ハンドラIDの範囲は以下の通りです。



- 最小値:1

- 最大値:max_alh設定値,alarm_hand[]で指定されたID番号,alarm_hand[]定義数,の中の最大値

- 定義形式
数値


- 定義範囲
1〜255


- 省略時の扱い
cre_alm,acre_alm,del_almはE_NOSPTを返します。
使用できるアラーム・ハンドラIDの範囲は以下の通りです。



- 最小値:1

- 最大値:alarm_hand[]で指定されたID番号,alarm_hand[]定義数,の中の最大値

- VTMAX_ALH
cfg600pxは,最大値を定義したマクロVTMAX_ALHを,システム情報ヘッダ・ファイルkernel_id.hに出力します。

12 ) 最大ドメインID(max_domain

- 説明
使用できるドメインIDの範囲は以下の通りです。


- 最小値:1

- 最大値:max_domain設定値,domain[]で指定されたID番号,の中の最大値

- 定義形式
数値


- 定義範囲
1〜15


- 省略時の扱い
使用できるドメインIDの範囲は以下の通りです。


- 最小値:1

- 最大値:domain[]で指定されたID番号の中の最大値

- VTMAX_DOMAIN
cfg600pxは,最大値を定義したマクロVTMAX_DOMAINを,システム情報ヘッダ・ファイルkernel_id.hに出力します。