-   
 
   cre_sem
   acre_sem
  
    -   
  
 
 ER      cre_sem ( ID semid, T_CSEM *pk_csem );
 ER_ID   acre_sem ( T_CSEM *pk_csem );
 
  
  
    | 
 | 
    
 | 
    
 | 
  
  
    | 
 | 
    
 ID      semid;
 
 | 
    
 | 
  
  
    | 
 | 
    
 T_CSEM  *pk_csem;
 
 | 
    
 | 
  
 
 
  
  
    
 typedef struct  t_csem {
         ATR     sematr;         /*セマフォ属性*/
         UINT    isemcnt;        /*セマフォ資源数の初期値*/
         UINT    maxsem;         /*セマフォ資源数の最大値*/
 } T_CSEM;
 
 | 
  
 
 本サービス・コールは,信頼されたドメインに所属するタスクからのみ呼び出せます。
 
 cre_semは,指定された
semidのセマフォを
pk_csemで指定された内容で生成します。acre_semは
pk_csemで指定された内容でセマフォを生成し,生成したセマフォIDを返します。
 
 1 )	 セマフォ属性(
sematr)
sematrには以下を指定できます。
 
   sematr := ( TA_TFIFO || TA_TPRI )
 -	 
TA_TFIFO(= 0x0000)
セマフォの待ちキューの順序をFIFO順とします。
 
 -	 
TA_TPRI(= 0x0001)
セマフォの待ちキューの順序をタスクの現在優先度順とします。ただし,同じ現在優先度のタスクの中ではFIFO順です。
 
 2 )	 セマフォ資源数の初期値(
isemcnt)
セマフォ資源数の初期値を,0~
maxsemの範囲で指定します。
 
 3 )	 セマフォ資源数の最大値(
maxsem)
セマフォ資源数の最大値を,1~
TMAX_MAXSEM(= 65535)の範囲で指定します。
 
 
  
  
    | 
 | 
    
 | 
    
 | 
  
  
    | 
 | 
    
 | 
    
 acre_semの正常終了(生成されたセマフォID)
  
 | 
  
  
    | 
 | 
    
 | 
    
 | 
  
  
    | 
 | 
    
 | 
    
 | 
  
  
    | 
 | 
    
 | 
    
 | 
  
  
    | 
 | 
    
 | 
    
 | 
  
  
    | 
 | 
    
 | 
    
 -	 CPUロック状態から本サービス・コールを発行した。
  
 -	 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。
  
 | 
  
  
    | 
 | 
    
 | 
    
 -	 スタック・ポインタが呼出しタスクのユーザ・スタック領域の範囲外を指している。
  
 -	 呼び出しタスクからの pk_csemが示す領域に対するオペランド・リード・アクセス許可がない。
  
 | 
  
  
    | 
 | 
    
 | 
    
 -	 呼出しタスクは,信頼されたドメインに所属していない。
  
 | 
  
  
    | 
 | 
    
 | 
    
 | 
  
  
    | 
 | 
    
 | 
    
 |