...
3 // state machine for DeviceState
6 #include "../asn.1/DeviceGroup-Protocol.h"
14 typedef pEp_identity * Identity;
15 typedef stringlist_t * Stringlist;
16 typedef union _param { Identity partner; stringlist_t *keylist; } param_t;
20 typedef enum _fsm_error {
27 bool storedGroupKeys(PEP_SESSION session);
28 bool keyElectionWon(PEP_SESSION session, Identity partner);
32 typedef enum _DeviceState_state {
33 DeviceState_state_NONE = 0,
43 typedef enum _DeviceState_event {
44 DeviceState_event_NONE = 0,
60 PEP_STATUS sendBeacon(PEP_SESSION session, DeviceState_state state, Identity partner, void *extra);
61 PEP_STATUS sendHandshakeRequest(PEP_SESSION session, DeviceState_state state, Identity partner, void *extra);
62 PEP_STATUS showHandshake(PEP_SESSION session, DeviceState_state state, Identity partner, void *extra);
63 PEP_STATUS reject(PEP_SESSION session, DeviceState_state state, Identity partner, void *extra);
64 PEP_STATUS storeGroupKeys(PEP_SESSION session, DeviceState_state state, Identity partner, void *extra);
65 PEP_STATUS sendGroupKeys(PEP_SESSION session, DeviceState_state state, Identity partner, void *extra);
69 PEP_STATUS receive_DeviceState_msg(PEP_SESSION session, DeviceGroup_Protocol_t *msg);
73 DeviceState_state fsm_DeviceState(
75 DeviceState_state state,
76 DeviceState_event event,
83 DYNAMIC_API PEP_STATUS fsm_DeviceState_inject(
85 DeviceState_event event,