+
+
+
+silcfsm.html
+
+
+
+
+
+
+SILC Finite State Machine Header: silcfsm.h
+
+
+DESCRIPTION
+
+
+ SILC FSM Interface implements a finite state machine. The FSM can be
+ used to implement all kinds of machines and protocols. The FSM supports
+ also threads and can be synchronized by using mutex locks. The FSM
+ also supports real system threads. It is possible to create new FSM
+ thread and then execute in real system thread, if platform supports
+ threads.
+
+ The FSM provides also asynchronous events that can be used to wait for
+ some events or states to occur. The FSM events may be used as condition
+ variables and signallers. The FSM events can safely be used in FSM
+ threads that are executed in real system threads.
+
+ To synchronize machines that use FSM threads that are executed in real
+ system threads the SILC Mutex API (silcmutex.h) may be used. Normal
+ multi-threaded coding conventions apply when programming with real FSM
+ threads. If the FSM threads are not real system threads, synchronization
+ is not required.
+
+ SilcFSM
+SilcFSMStruct
+SilcFSMThread
+SilcFSMThreadStruct
+SILC_FSM_CONTINUE
+SILC_FSM_YIELD
+SILC_FSM_WAIT
+SILC_FSM_FINISH
+SilcFSMDestructor
+SilcFSMThreadDestructor
+SILC_FSM_STATE
+SILC_FSM_CALL
+SILC_FSM_CALL_CONTINUE
+SILC_FSM_CALL_CONTINUE_SYNC
+SILC_FSM_THREAD_WAIT
+silc_fsm_alloc
+silc_fsm_init
+silc_fsm_thread_alloc
+silc_fsm_thread_init
+silc_fsm_free
+silc_fsm_start
+silc_fsm_start_sync
+silc_fsm_next
+silc_fsm_next_later
+silc_fsm_continue
+silc_fsm_continue_sync
+silc_fsm_finish
+silc_fsm_set_context
+silc_fsm_get_context
+silc_fsm_set_state_context
+silc_fsm_get_state_context
+silc_fsm_get_schedule
+silc_fsm_get_machine
+silc_fsm_is_started
+SilcFSMEvent
+SilcFSMEventStruct
+silc_fsm_event_alloc
+silc_fsm_event_init
+silc_fsm_event_free
+SILC_FSM_EVENT_WAIT
+SILC_FSM_EVENT_TIMEDWAIT
+SILC_FSM_EVENT_SIGNAL
+
+
+ |
+