wpa_supplicant / hostapd 2.0

state_machine.h

Go to the documentation of this file.
00001 
00021 #ifndef STATE_MACHINE_H
00022 #define STATE_MACHINE_H
00023 
00034 #define SM_STATE(machine, state) \
00035 static void sm_ ## machine ## _ ## state ## _Enter(STATE_MACHINE_DATA *sm, \
00036         int global)
00037 
00049 #define SM_ENTRY(machine, state) \
00050 if (!global || sm->machine ## _state != machine ## _ ## state) { \
00051         sm->changed = TRUE; \
00052         wpa_printf(MSG_DEBUG, STATE_MACHINE_DEBUG_PREFIX ": " #machine \
00053                    " entering state " #state); \
00054 } \
00055 sm->machine ## _state = machine ## _ ## state;
00056 
00069 #define SM_ENTRY_M(machine, _state, data) \
00070 if (!global || sm->data ## _ ## state != machine ## _ ## _state) { \
00071         sm->changed = TRUE; \
00072         wpa_printf(MSG_DEBUG, STATE_MACHINE_DEBUG_PREFIX ": " \
00073                    #machine " entering state " #_state); \
00074 } \
00075 sm->data ## _ ## state = machine ## _ ## _state;
00076 
00088 #define SM_ENTRY_MA(machine, _state, data) \
00089 if (!global || sm->data ## _ ## state != machine ## _ ## _state) { \
00090         sm->changed = TRUE; \
00091         wpa_printf(MSG_DEBUG, STATE_MACHINE_DEBUG_PREFIX ": " MACSTR " " \
00092                    #machine " entering state " #_state, \
00093                    MAC2STR(STATE_MACHINE_ADDR)); \
00094 } \
00095 sm->data ## _ ## state = machine ## _ ## _state;
00096 
00107 #define SM_ENTER(machine, state) \
00108 sm_ ## machine ## _ ## state ## _Enter(sm, 0)
00109 
00121 #define SM_ENTER_GLOBAL(machine, state) \
00122 sm_ ## machine ## _ ## state ## _Enter(sm, 1)
00123 
00134 #define SM_STEP(machine) \
00135 static void sm_ ## machine ## _Step(STATE_MACHINE_DATA *sm)
00136 
00145 #define SM_STEP_RUN(machine) sm_ ## machine ## _Step(sm)
00146 
00147 #endif /* STATE_MACHINE_H */
00148 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines