eventflag.h

#include <queue.h>

ソースコードを見る。

データ構造

struct  eventflag_initialization_block
struct  eventflag_control_block
struct  eventflag_waiting_information

マクロ定義

#define FLGID(p_flgcb)   ((ID)(((p_flgcb) - flgcb_table) + TMIN_FLGID))

型定義

typedef struct
eventflag_initialization_block 
FLGINIB
typedef struct
eventflag_control_block 
FLGCB
typedef struct
eventflag_waiting_information 
WINFO_FLG

関数

void initialize_eventflag (void)
bool_t check_flg_cond (FLGCB *p_flgcb, FLGPTN waiptn, MODE wfmode, FLGPTN *p_flgptn)

変数

const ID tmax_flgid
const FLGINIB flginib_table []
FLGCB flgcb_table []


マクロ定義

#define FLGID ( p_flgcb   )     ((ID)(((p_flgcb) - flgcb_table) + TMIN_FLGID))

eventflag.h113 行で定義されています。

参照元 ref_tsk().


型定義


関数

bool_t check_flg_cond ( FLGCB p_flgcb,
FLGPTN  waiptn,
MODE  wfmode,
FLGPTN p_flgptn 
)

eventflag.c157 行で定義されています。

参照先 eventflag_initialization_block::flgatr, eventflag_control_block::flgptn, eventflag_control_block::p_flginib, TA_CLR, と TWF_ORW.

参照元 iset_flg(), pol_flg(), set_flg(), twai_flg(), と wai_flg().

00158 {
00159     if ((wfmode & TWF_ORW) != 0U ? (p_flgcb->flgptn & waiptn) != 0U
00160                                     : (p_flgcb->flgptn & waiptn) == waiptn) {
00161         *p_flgptn = p_flgcb->flgptn;
00162         if ((p_flgcb->p_flginib->flgatr & TA_CLR) != 0U) {
00163             p_flgcb->flgptn = 0U;
00164         }
00165         return(true);
00166     }
00167     return(false);
00168 }

void initialize_eventflag ( void   ) 

eventflag.c137 行で定義されています。

参照先 flgcb_table, flginib_table, eventflag_control_block::flgptn, eventflag_initialization_block::iflgptn, eventflag_control_block::p_flginib, queue_initialize(), tnum_flg, と eventflag_control_block::wait_queue.

00138 {
00139     uint_t  i;
00140     FLGCB   *p_flgcb;
00141 
00142     for (p_flgcb = flgcb_table, i = 0; i < tnum_flg; p_flgcb++, i++) {
00143         queue_initialize(&(p_flgcb->wait_queue));
00144         p_flgcb->p_flginib = &(flginib_table[i]);
00145         p_flgcb->flgptn = p_flgcb->p_flginib->iflgptn;
00146     }
00147 }


変数

const ID tmax_flgid


Copyright © 2008 by Kijineko Inc.

ホームページ制作