typedef struct SilcFSMObject *SilcFSM;
The actual FSM context and is allocated with silc_fsm_alloc and given as argument to all silc_fsm_* functions. It is freed by silc_fsm_free function. It is also possible to use pre-allocated FSM context by using SilcFSMStruct instead of SilcFSM.