Home
last modified time | relevance | path

Searched refs:sm (Results 1 – 25 of 48) sorted by relevance

12

/hal_espressif-latest/components/wpa_supplicant/src/eap_server/
Deap_server.c28 static int eap_sm_calculateTimeout(struct eap_sm *sm, int retransCount,
31 static void eap_sm_parseEapResp(struct eap_sm *sm, const struct wpabuf *resp);
35 static struct wpabuf * eap_sm_buildSuccess(struct eap_sm *sm, u8 id);
36 static struct wpabuf * eap_sm_buildFailure(struct eap_sm *sm, u8 id);
37 static int eap_sm_nextId(struct eap_sm *sm, int id);
38 static void eap_sm_Policy_update(struct eap_sm *sm, const u8 *nak_list,
40 static enum eap_type eap_sm_Policy_getNextMethod(struct eap_sm *sm,
42 static int eap_sm_Policy_getDecision(struct eap_sm *sm);
43 static bool eap_sm_Policy_doPickUp(struct eap_sm *sm, enum eap_type method);
46 static int eap_get_erp_send_reauth_start(struct eap_sm *sm) in eap_get_erp_send_reauth_start() argument
[all …]
Deap_server_identity.c21 static void * eap_identity_init(struct eap_sm *sm) in eap_identity_init() argument
34 static void * eap_identity_initPickUp(struct eap_sm *sm) in eap_identity_initPickUp() argument
37 data = eap_identity_init(sm); in eap_identity_initPickUp()
45 static void eap_identity_reset(struct eap_sm *sm, void *priv) in eap_identity_reset() argument
52 static struct wpabuf * eap_identity_buildReq(struct eap_sm *sm, void *priv, in eap_identity_buildReq() argument
60 if (sm->eapol_cb->get_eap_req_id_text) { in eap_identity_buildReq()
61 req_data = sm->eapol_cb->get_eap_req_id_text(sm->eapol_ctx, in eap_identity_buildReq()
82 static bool eap_identity_check(struct eap_sm *sm, void *priv, in eap_identity_check() argument
99 static void eap_identity_process(struct eap_sm *sm, void *priv, in eap_identity_process() argument
108 if (eap_identity_check(sm, data, respData)) { in eap_identity_process()
[all …]
Deap_i.h29 void * (*init)(struct eap_sm *sm);
30 void * (*initPickUp)(struct eap_sm *sm);
31 void (*reset)(struct eap_sm *sm, void *priv);
33 struct wpabuf * (*buildReq)(struct eap_sm *sm, void *priv, u8 id);
34 int (*getTimeout)(struct eap_sm *sm, void *priv);
35 bool (*check)(struct eap_sm *sm, void *priv, struct wpabuf *respData);
36 void (*process)(struct eap_sm *sm, void *priv,
38 bool (*isDone)(struct eap_sm *sm, void *priv);
39 u8 * (*getKey)(struct eap_sm *sm, void *priv, size_t *len);
42 bool (*isSuccess)(struct eap_sm *sm, void *priv);
[all …]
/hal_espressif-latest/components/wpa_supplicant/src/eapol_auth/
Deapol_auth_sm.c23 #define STATE_MACHINE_ADDR sm->addr
30 sm->eapol->cb.set_port_authorized(sm->eapol->conf.ctx, sm->sta, 1)
32 sm->eapol->cb.set_port_authorized(sm->eapol->conf.ctx, sm->sta, 0)
35 #define txCannedFail() eapol_auth_tx_canned_eap(sm, 0)
36 #define txCannedSuccess() eapol_auth_tx_canned_eap(sm, 1)
37 #define txReq() eapol_auth_tx_req(sm)
38 #define abortAuth() sm->eapol->cb.abort_auth(sm->eapol->conf.ctx, sm->sta)
39 #define txKey() sm->eapol->cb.tx_key(sm->eapol->conf.ctx, sm->sta)
43 static void eapol_sm_step_run(struct eapol_state_machine *sm);
45 static void eapol_auth_initialize(struct eapol_state_machine *sm);
[all …]
/hal_espressif-latest/components/wpa_supplicant/src/rsn_supp/
Dwpa.c69 void wpa_sm_set_pmk_from_pmksa(struct wpa_sm *sm);
70 static bool wpa_supplicant_gtk_in_use(struct wpa_sm *sm, struct wpa_gtk_data *gd);
72 static inline enum wpa_states wpa_sm_get_state(struct wpa_sm *sm) in wpa_sm_get_state() argument
74 return sm->wpa_state;; in wpa_sm_get_state()
77 static inline void wpa_sm_cancel_auth_timeout(struct wpa_sm *sm) in wpa_sm_cancel_auth_timeout() argument
202 static inline int wpa_sm_get_bssid(struct wpa_sm *sm, u8 *bssid) in wpa_sm_get_bssid() argument
204 memcpy(bssid, sm->bssid, ETH_ALEN); in wpa_sm_get_bssid()
217 static inline int wpa_sm_ether_send(struct wpa_sm *sm, const u8 *dest, u16 proto, in wpa_sm_ether_send() argument
220 return wpa_ether_send(sm, dest, proto, data, data_len); in wpa_sm_ether_send()
235 void wpa_eapol_key_send(struct wpa_sm *sm, const u8 *kck, size_t kck_len, in wpa_eapol_key_send() argument
[all …]
Dwpa_ft.c23 int wpa_derive_ptk_ft(struct wpa_sm *sm, const unsigned char *src_addr, in wpa_derive_ptk_ft() argument
29 if (sm->xxkey_len == 0) { in wpa_derive_ptk_ft()
35 wpa_hexdump_key(MSG_DEBUG, "FT: xxkey", sm->xxkey, sm->xxkey_len); in wpa_derive_ptk_ft()
36 wpa_hexdump_key(MSG_DEBUG, "FT: ssid", sm->ssid, sm->ssid_len); in wpa_derive_ptk_ft()
37 wpa_hexdump_key(MSG_DEBUG, "FT: r0kh_id", sm->r0kh_id, sm->r0kh_id_len); in wpa_derive_ptk_ft()
38 wpa_derive_pmk_r0(sm->xxkey, sm->xxkey_len, sm->ssid, in wpa_derive_ptk_ft()
39 sm->ssid_len, sm->mobility_domain, in wpa_derive_ptk_ft()
40 sm->r0kh_id, sm->r0kh_id_len, sm->own_addr, in wpa_derive_ptk_ft()
41 sm->pmk_r0, sm->pmk_r0_name); in wpa_derive_ptk_ft()
42 wpa_hexdump_key(MSG_DEBUG, "FT: PMK-R0", sm->pmk_r0, PMK_LEN); in wpa_derive_ptk_ft()
[all …]
Dwpa.h51 int wpa_sm_set_key(struct install_key *sm, enum wpa_alg alg,
59 int wpa_sm_set_assoc_rsnxe(struct wpa_sm *sm, const u8 *ie, size_t len);
61 void wpa_sm_drop_sa(struct wpa_sm *sm);
65 int wpa_sm_set_ft_params(struct wpa_sm *sm, const u8 *ies, size_t ies_len);
66 int wpa_ft_prepare_auth_request(struct wpa_sm *sm, const u8 *mdie);
67 int wpa_ft_add_mdie(struct wpa_sm *sm, u8 *ies, size_t ies_len,
69 const u8 * wpa_sm_get_ft_md(struct wpa_sm *sm);
70 int wpa_ft_process_response(struct wpa_sm *sm, const u8 *ies, size_t ies_len,
73 int wpa_ft_is_completed(struct wpa_sm *sm);
74 void wpa_reset_ft_completed(struct wpa_sm *sm);
[all …]
Dwpa_ie.c116 struct wpa_sm *sm) in wpa_gen_wpa_ie_rsn() argument
126 (sm->cur_pmksa ? 2 + PMKID_LEN : 0)) { in wpa_gen_wpa_ie_rsn()
132 if ( (sm->ap_notify_completed_rsne == true) || (key_mgmt == WPA_KEY_MGMT_IEEE8021X) ) { in wpa_gen_wpa_ie_rsn()
156 if ( (sm->ap_notify_completed_rsne == false) && (key_mgmt != WPA_KEY_MGMT_IEEE8021X) ) { in wpa_gen_wpa_ie_rsn()
214 if (sm->pmf_cfg.capable) { in wpa_gen_wpa_ie_rsn()
216 if (sm->pmf_cfg.required || key_mgmt == WPA_KEY_MGMT_SAE || key_mgmt == WPA_KEY_MGMT_OWE) { in wpa_gen_wpa_ie_rsn()
222 if (sm->spp_sup.capable) { in wpa_gen_wpa_ie_rsn()
226 if (sm->spp_sup.require) { in wpa_gen_wpa_ie_rsn()
233 if (sm->cur_pmksa) { in wpa_gen_wpa_ie_rsn()
238 os_memcpy(pos, sm->cur_pmksa->pmkid, PMKID_LEN); in wpa_gen_wpa_ie_rsn()
[all …]
/hal_espressif-latest/components/wpa_supplicant/src/ap/
Dwpa_auth.c42 #define STATE_MACHINE_ADDR sm->addr
45 static int wpa_sm_step(struct wpa_state_machine *sm);
50 static void wpa_request_new_ptk(struct wpa_state_machine *sm);
73 static void wpa_auth_add_sm(struct wpa_state_machine *sm) in wpa_auth_add_sm() argument
75 if (sm) { in wpa_auth_add_sm()
79 if (s_sm_table[i] == sm) { in wpa_auth_add_sm()
84 s_sm_table[i] = sm; in wpa_auth_add_sm()
86 sm->index = i; in wpa_auth_add_sm()
93 static void wpa_auth_del_sm(struct wpa_state_machine *sm) in wpa_auth_del_sm() argument
95 if (sm && (sm->index < WPA_SM_MAX_INDEX)) { in wpa_auth_del_sm()
[all …]
Dwpa_auth_ie.c393 struct wpa_state_machine *sm, in wpa_validate_wpa_ie() argument
404 if (wpa_auth == NULL || sm == NULL) in wpa_validate_wpa_ie()
420 version, MAC2STR(sm->addr)); in wpa_validate_wpa_ie()
486 MACSTR " (res=%d)", MAC2STR(sm->addr), res); in wpa_validate_wpa_ie()
493 MACSTR, data.group_cipher, MAC2STR(sm->addr)); in wpa_validate_wpa_ie()
500 MACSTR, data.key_mgmt, MAC2STR(sm->addr)); in wpa_validate_wpa_ie()
507 sm->wpa_key_mgmt = WPA_KEY_MGMT_FT_IEEE8021X; in wpa_validate_wpa_ie()
509 sm->wpa_key_mgmt = WPA_KEY_MGMT_FT_PSK; in wpa_validate_wpa_ie()
513 sm->wpa_key_mgmt = WPA_KEY_MGMT_IEEE8021X_SHA256; in wpa_validate_wpa_ie()
515 sm->wpa_key_mgmt = WPA_KEY_MGMT_PSK_SHA256; in wpa_validate_wpa_ie()
[all …]
Dwpa_auth.h194 int (*for_each_sta)(void *ctx, int (*cb)(struct wpa_state_machine *sm,
227 struct wpa_state_machine *sm,
231 int wpa_auth_uses_mfp(struct wpa_state_machine *sm);
235 struct wpa_state_machine *sm);
236 void wpa_auth_sta_no_wpa(struct wpa_state_machine *sm);
237 void wpa_auth_sta_deinit(struct wpa_state_machine *sm);
239 struct wpa_state_machine *sm,
245 void wpa_remove_ptk(struct wpa_state_machine *sm);
246 int wpa_auth_sm_event(struct wpa_state_machine *sm, wpa_event event);
247 void wpa_auth_sm_notify(struct wpa_state_machine *sm);
[all …]
/hal_espressif-latest/components/wpa_supplicant/src/eap_peer/
Deap.c71 void eap_peer_config_deinit(struct eap_sm *sm);
72 void eap_peer_blob_deinit(struct eap_sm *sm);
73 void eap_deinit_prev_method(struct eap_sm *sm, const char *txt);
109 static int eap_config_allowed_method(struct eap_sm *sm, in eap_config_allowed_method() argument
149 int eap_allowed_method(struct eap_sm *sm, int vendor, u32 method) in eap_allowed_method() argument
151 return eap_config_allowed_method(sm, eap_get_config(sm), vendor, in eap_allowed_method()
265 bool eap_sm_allowMethod(struct eap_sm *sm, int vendor, in eap_sm_allowMethod() argument
268 if (!eap_allowed_method(sm, vendor, method)) { in eap_sm_allowMethod()
317 void eap_deinit_prev_method(struct eap_sm *sm, const char *txt) in eap_deinit_prev_method() argument
319 if (sm->m == NULL || sm->eap_method_priv == NULL) in eap_deinit_prev_method()
[all …]
Deap_i.h91 void * (*init)(struct eap_sm *sm);
100 void (*deinit)(struct eap_sm *sm, void *priv);
117 struct wpabuf * (*process)(struct eap_sm *sm, void *priv,
120 bool (*isKeyAvailable)(struct eap_sm *sm, void *priv);
121 u8 * (*getKey)(struct eap_sm *sm, void *priv, size_t *len);
137 int (*get_status)(struct eap_sm *sm, void *priv, char *buf,
150 bool (*has_reauth_data)(struct eap_sm *sm, void *priv);
163 void (*deinit_for_reauth)(struct eap_sm *sm, void *priv);
175 void * (*init_for_reauth)(struct eap_sm *sm, void *priv);
188 const u8 * (*get_identity)(struct eap_sm *sm, void *priv, size_t *len);
[all …]
Deap.h52 const u8 * eap_get_eapKeyData(struct eap_sm *sm, size_t *len);
53 void eap_deinit_prev_method(struct eap_sm *sm, const char *txt);
54 struct wpabuf * eap_sm_build_nak(struct eap_sm *sm, EapType type, u8 id);
55 struct wpabuf * eap_sm_buildIdentity(struct eap_sm *sm, int id, int encrypted);
56 int eap_peer_blob_init(struct eap_sm *sm);
57 void eap_peer_blob_deinit(struct eap_sm *sm);
59 struct eap_sm *sm, const u8 *private_key_passwd,
61 void eap_peer_config_deinit(struct eap_sm *sm);
62 void eap_sm_abort(struct eap_sm *sm);
64 void eap_sm_request_identity(struct eap_sm *sm);
[all …]
Deap_tls.c20 static void eap_tls_deinit(struct eap_sm *sm, void *priv);
33 static void * eap_tls_init(struct eap_sm *sm) in eap_tls_init() argument
36 struct eap_peer_config *config = eap_get_config(sm); in eap_tls_init()
48 data->ssl_ctx = sm->ssl_ctx; in eap_tls_init()
50 if (eap_peer_tls_ssl_init(sm, &data->ssl, config, EAP_TYPE_TLS)) { in eap_tls_init()
52 eap_tls_deinit(sm, data); in eap_tls_init()
62 static void eap_tls_deinit(struct eap_sm *sm, void *priv) in eap_tls_deinit() argument
67 eap_peer_tls_ssl_deinit(sm, &data->ssl); in eap_tls_deinit()
74 static struct wpabuf * eap_tls_failure(struct eap_sm *sm, in eap_tls_failure() argument
85 struct eap_peer_config *config = eap_get_config(sm); in eap_tls_failure()
[all …]
Deap_ttls.c28 static void eap_ttls_deinit(struct eap_sm *sm, void *priv);
70 static void * eap_ttls_init(struct eap_sm *sm) in eap_ttls_init() argument
73 struct eap_peer_config *config = eap_get_config(sm); in eap_ttls_init()
100 eap_ttls_deinit(sm, data); in eap_ttls_init()
108 if (eap_peer_tls_ssl_init(sm, &data->ssl, config, EAP_TYPE_TTLS)) { in eap_ttls_init()
110 eap_ttls_deinit(sm, data); in eap_ttls_init()
118 static void eap_ttls_phase2_eap_deinit(struct eap_sm *sm, in eap_ttls_phase2_eap_deinit() argument
122 data->phase2_method->deinit(sm, data->phase2_priv); in eap_ttls_phase2_eap_deinit()
129 static void eap_ttls_deinit(struct eap_sm *sm, void *priv) in eap_ttls_deinit() argument
134 eap_ttls_phase2_eap_deinit(sm, data); in eap_ttls_deinit()
[all …]
Deap_mschapv2.c83 eap_mschapv2_deinit(struct eap_sm *sm, void *priv) in eap_mschapv2_deinit() argument
94 eap_mschapv2_init(struct eap_sm *sm) in eap_mschapv2_init() argument
99 if(!sm->init_phase2) in eap_mschapv2_init()
106 if (sm->peer_challenge) { in eap_mschapv2_init()
107 data->peer_challenge = os_memdup(sm->peer_challenge, in eap_mschapv2_init()
110 eap_mschapv2_deinit(sm, data); in eap_mschapv2_init()
115 if (sm->auth_challenge) { in eap_mschapv2_init()
116 data->auth_challenge = os_memdup(sm->auth_challenge, in eap_mschapv2_init()
119 eap_mschapv2_deinit(sm, data); in eap_mschapv2_init()
124 data->phase2 = sm->init_phase2; in eap_mschapv2_init()
[all …]
Deap_fast.c29 static void eap_fast_deinit(struct eap_sm *sm, void *priv);
145 static void * eap_fast_init(struct eap_sm *sm) in eap_fast_init() argument
148 struct eap_peer_config *config = eap_get_config(sm); in eap_fast_init()
165 eap_fast_deinit(sm, data); in eap_fast_init()
172 if (eap_peer_tls_ssl_init(sm, &data->ssl, config, EAP_TYPE_FAST)) { in eap_fast_init()
174 eap_fast_deinit(sm, data); in eap_fast_init()
178 if (tls_connection_set_session_ticket_cb(sm->ssl_ctx, data->ssl.conn, in eap_fast_init()
183 eap_fast_deinit(sm, data); in eap_fast_init()
192 if (tls_connection_enable_workaround(sm->ssl_ctx, data->ssl.conn)) { in eap_fast_init()
199 eap_fast_deinit(sm, data); in eap_fast_init()
[all …]
Deap_tls_common.h97 int eap_peer_tls_ssl_init(struct eap_sm *sm, struct eap_ssl_data *data,
99 void eap_peer_tls_ssl_deinit(struct eap_sm *sm, struct eap_ssl_data *data);
100 u8 * eap_peer_tls_derive_key(struct eap_sm *sm, struct eap_ssl_data *data,
102 u8 * eap_peer_tls_derive_session_id(struct eap_sm *sm,
105 int eap_peer_tls_process_helper(struct eap_sm *sm, struct eap_ssl_data *data,
111 int eap_peer_tls_reauth_init(struct eap_sm *sm, struct eap_ssl_data *data);
112 int eap_peer_tls_status(struct eap_sm *sm, struct eap_ssl_data *data,
114 const u8 * eap_peer_tls_process_init(struct eap_sm *sm,
122 int eap_peer_tls_decrypt(struct eap_sm *sm, struct eap_ssl_data *data,
125 int eap_peer_tls_encrypt(struct eap_sm *sm, struct eap_ssl_data *data,
/hal_espressif-latest/components/wpa_supplicant/esp_supplicant/src/
Desp_wps.c265 static inline int wps_sm_ether_send(struct wps_sm *sm, u16 proto, in wps_sm_ether_send() argument
276 return wpa_ether_send(sm, bssid, proto, data, data_len); in wps_sm_ether_send()
280 u8 *wps_sm_alloc_eapol(struct wps_sm *sm, u8 type, in wps_sm_alloc_eapol() argument
284 return wpa_alloc_eapol(sm, type, data, data_len, msg_len, data_pos); in wps_sm_alloc_eapol()
298 struct wps_sm *sm = gWpsSm; in wps_build_ic_appie_wps_pr() local
308 wps_ie = wps_build_probe_req_ie(pw_id, sm->dev, sm->uuid, in wps_build_ic_appie_wps_pr()
360 struct wps_sm *sm = gWpsSm; in wps_parse_scan_result() local
363 if (!sm->is_wps_scan || !scan->bssid) { in wps_parse_scan_result()
388 if (sm->ignore_sel_reg && !is_zero_ether_addr(sm->bssid)) { in wps_parse_scan_result()
399 (wps_get_type() == WPS_TYPE_PIN && wps_is_addr_authorized(buf, sm->ownaddr, 1))) { in wps_parse_scan_result()
[all …]
Desp_hostpad_wps.c40 struct wps_sm *sm = NULL; in wifi_ap_wps_init() local
56 sm = gWpsSm; in wifi_ap_wps_init()
59 os_memcpy(sm->ownaddr, mac, ETH_ALEN); in wifi_ap_wps_init()
61 sm->identity_len = WSC_ID_REGISTRAR_LEN; in wifi_ap_wps_init()
62 os_memcpy(sm->identity, WSC_ID_REGISTRAR, sm->identity_len); in wifi_ap_wps_init()
64 sm->wps_ctx = os_zalloc(sizeof(struct wps_context)); /* alloc wps_ctx */ in wifi_ap_wps_init()
65 if (!sm->wps_ctx) { in wifi_ap_wps_init()
74 cfg.wps = sm->wps_ctx; in wifi_ap_wps_init()
78 os_memcpy(cfg.wps->uuid, sm->uuid, WPS_UUID_LEN); in wifi_ap_wps_init()
79 if ((sm->wps = wps_init(&cfg)) == NULL) { /* alloc wps_data */ in wifi_ap_wps_init()
[all …]
Desp_eap_client.c200 struct eap_sm *sm = gEapSm; in wpa2_task() local
203 if (!sm) { in wpa2_task()
211 if(sm->wpa2_sig_cnt[e->sig]) { in wpa2_task()
212 sm->wpa2_sig_cnt[e->sig]--; in wpa2_task()
214 …f(MSG_ERROR, "wpa2_task: invalid sig cnt, sig=%" PRId32 " cnt=%d", e->sig, sm->wpa2_sig_cnt[e->sig… in wpa2_task()
270 struct eap_sm *sm = gEapSm; in wpa2_post() local
272 if (!sm) { in wpa2_post()
277 if (sm->wpa2_sig_cnt[sig]) { in wpa2_post()
287 sm->wpa2_sig_cnt[sig]++; in wpa2_post()
297 wpa_printf(MSG_DEBUG, "EAP: EAP api return, sm->state(%d)", sm->finish_state); in wpa2_post()
[all …]
Desp_owe.c14 struct wpa_sm *sm = NULL; in owe_build_dhie() local
15 sm = get_wpa_sm(); in owe_build_dhie()
16 return (uint8_t *)(owe_build_assoc_req(sm, group)); in owe_build_dhie()
21 struct wpa_sm *sm; in owe_deinit() local
22 sm = get_wpa_sm(); in owe_deinit()
23 if (sm->key_mgmt == WPA_KEY_MGMT_OWE) { in owe_deinit()
24 if (sm->owe_ie) { in owe_deinit()
25 wpabuf_free(sm->owe_ie); in owe_deinit()
26 sm->owe_ie = NULL; in owe_deinit()
28 crypto_ecdh_deinit(sm->owe_ecdh); in owe_deinit()
[all …]
Desp_wpas_glue.c17 u8 *wpa_alloc_eapol(void *sm, u8 type, in wpa_alloc_eapol() argument
101 void wpa_supplicant_transition_disable(struct wpa_sm *sm, u8 bitmap) in wpa_supplicant_transition_disable() argument
106 wpa_key_mgmt_sae(sm->key_mgmt)) { in wpa_supplicant_transition_disable()
111 wpa_key_mgmt_sae(sm->key_mgmt)) { in wpa_supplicant_transition_disable()
119 wpa_key_mgmt_wpa_ieee8021x(sm->key_mgmt)) { in wpa_supplicant_transition_disable()
124 wpa_key_mgmt_owe(sm->key_mgmt)) { in wpa_supplicant_transition_disable()
129 u8 *wpa_sm_alloc_eapol(struct wpa_sm *sm, u8 type, in wpa_sm_alloc_eapol() argument
133 return wpa_alloc_eapol(sm, type, data, data_len, msg_len, data_pos); in wpa_sm_alloc_eapol()
141 void wpa_sm_deauthenticate(struct wpa_sm *sm, u8 reason_code) in wpa_sm_deauthenticate() argument
144 if (WPA_SM_STATE(sm) >= WPA_ASSOCIATED) { in wpa_sm_deauthenticate()
[all …]
/hal_espressif-latest/components/wpa_supplicant/src/utils/
Dstate_machine.h33 static void sm_ ## machine ## _ ## state ## _Enter(STATE_MACHINE_DATA *sm, \
47 if (!global || sm->machine ## _state != machine ## _ ## state) { \
48 sm->changed = TRUE; \
52 sm->machine ## _state = machine ## _ ## state;
66 if (!global || sm->data ## _ ## state != machine ## _ ## _state) { \
67 sm->changed = TRUE; \
71 sm->data ## _ ## state = machine ## _ ## _state;
84 if (!global || sm->data ## _ ## state != machine ## _ ## _state) { \
85 sm->changed = TRUE; \
90 sm->data ## _ ## state = machine ## _ ## _state;
[all …]

12