4 #include "../genstructs/htable/htable.h"
6 #define MAX_EVT_DESC 64
9 char evt_desc
[MAX_EVT_DESC
];
10 void (*evt_actionf
)(void *data
);
11 struct state
*evt_newstate
;
14 typedef struct state
{
20 #define STATE_REACHABLE (1 << 0)
21 #define STATE_IS_REACHABLE(pstate) (pstate->flag & STATE_REACHABLE)
22 #define STATE_MARK_AS_REACHABLE(pstate) pstate->flag |= STATE_REACHABLE;
31 typedef struct pqnode
{
35 STAILQ_ENTRY(pqnode
) pq_next
;
39 htable_t
*sttable
; /* hash table for states */
40 state_t
*cstate
; /* current state of fsm */
41 unsigned int nqueues
; /* number of priority queues */
42 void *mobj
; /* mutual exclusion object */
43 void (*fsm_pq_lock
)(const struct fsm
*);
44 void (*fsm_pq_unlock
)(const struct fsm
*);
45 STAILQ_HEAD(pqhead
, pqnode
) *pqtable
;
48 typedef struct pqhead pqhead_t
;