P2P: Move p2p_find stopped event message into p2p_supplicant.c
This removes wpa_ctrl.h dependency from src/p2p/* and makes the P2P events more consistent, i.e., everything that is aimed for upper layer processing from the wpa_supplicant control interfaces is generated in p2p_supplicant.c. Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
47bfe49c31
commit
710ae9ac1f
3 changed files with 16 additions and 3 deletions
|
@ -12,7 +12,6 @@
|
||||||
#include "eloop.h"
|
#include "eloop.h"
|
||||||
#include "common/ieee802_11_defs.h"
|
#include "common/ieee802_11_defs.h"
|
||||||
#include "common/ieee802_11_common.h"
|
#include "common/ieee802_11_common.h"
|
||||||
#include "common/wpa_ctrl.h"
|
|
||||||
#include "wps/wps_i.h"
|
#include "wps/wps_i.h"
|
||||||
#include "p2p_i.h"
|
#include "p2p_i.h"
|
||||||
#include "p2p.h"
|
#include "p2p.h"
|
||||||
|
@ -1108,7 +1107,7 @@ int p2p_other_scan_completed(struct p2p_data *p2p)
|
||||||
if (p2p_find(p2p, p2p->last_p2p_find_timeout, p2p->find_type,
|
if (p2p_find(p2p, p2p->last_p2p_find_timeout, p2p->find_type,
|
||||||
p2p->num_req_dev_types, p2p->req_dev_types,
|
p2p->num_req_dev_types, p2p->req_dev_types,
|
||||||
p2p->find_dev_id, p2p->search_delay) < 0) {
|
p2p->find_dev_id, p2p->search_delay) < 0) {
|
||||||
wpa_msg(p2p->cfg->msg_ctx, MSG_INFO, P2P_EVENT_FIND_STOPPED);
|
p2p->cfg->find_stopped(p2p->cfg->cb_ctx);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -1123,7 +1122,7 @@ void p2p_stop_find_for_freq(struct p2p_data *p2p, int freq)
|
||||||
if (p2p->state == P2P_SEARCH ||
|
if (p2p->state == P2P_SEARCH ||
|
||||||
p2p->state == P2P_CONTINUE_SEARCH_WHEN_READY ||
|
p2p->state == P2P_CONTINUE_SEARCH_WHEN_READY ||
|
||||||
p2p->state == P2P_SEARCH_WHEN_READY)
|
p2p->state == P2P_SEARCH_WHEN_READY)
|
||||||
wpa_msg(p2p->cfg->msg_ctx, MSG_INFO, P2P_EVENT_FIND_STOPPED);
|
p2p->cfg->find_stopped(p2p->cfg->cb_ctx);
|
||||||
p2p_set_state(p2p, P2P_IDLE);
|
p2p_set_state(p2p, P2P_IDLE);
|
||||||
p2p_free_req_dev_types(p2p);
|
p2p_free_req_dev_types(p2p);
|
||||||
p2p->start_after_scan = P2P_AFTER_SCAN_NOTHING;
|
p2p->start_after_scan = P2P_AFTER_SCAN_NOTHING;
|
||||||
|
|
|
@ -544,6 +544,12 @@ struct p2p_config {
|
||||||
*/
|
*/
|
||||||
void (*dev_lost)(void *ctx, const u8 *dev_addr);
|
void (*dev_lost)(void *ctx, const u8 *dev_addr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* find_stopped - Notification of a p2p_find operation stopping
|
||||||
|
* @ctx: Callback context from cb_ctx
|
||||||
|
*/
|
||||||
|
void (*find_stopped)(void *ctx);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* go_neg_req_rx - Notification of a receive GO Negotiation Request
|
* go_neg_req_rx - Notification of a receive GO Negotiation Request
|
||||||
* @ctx: Callback context from cb_ctx
|
* @ctx: Callback context from cb_ctx
|
||||||
|
|
|
@ -1226,6 +1226,13 @@ static void wpas_dev_lost(void *ctx, const u8 *dev_addr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void wpas_find_stopped(void *ctx)
|
||||||
|
{
|
||||||
|
struct wpa_supplicant *wpa_s = ctx;
|
||||||
|
wpa_msg(wpa_s, MSG_INFO, P2P_EVENT_FIND_STOPPED);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int wpas_start_listen(void *ctx, unsigned int freq,
|
static int wpas_start_listen(void *ctx, unsigned int freq,
|
||||||
unsigned int duration,
|
unsigned int duration,
|
||||||
const struct wpabuf *probe_resp_ie)
|
const struct wpabuf *probe_resp_ie)
|
||||||
|
@ -2969,6 +2976,7 @@ int wpas_p2p_init(struct wpa_global *global, struct wpa_supplicant *wpa_s)
|
||||||
p2p.go_neg_req_rx = wpas_go_neg_req_rx;
|
p2p.go_neg_req_rx = wpas_go_neg_req_rx;
|
||||||
p2p.dev_found = wpas_dev_found;
|
p2p.dev_found = wpas_dev_found;
|
||||||
p2p.dev_lost = wpas_dev_lost;
|
p2p.dev_lost = wpas_dev_lost;
|
||||||
|
p2p.find_stopped = wpas_find_stopped;
|
||||||
p2p.start_listen = wpas_start_listen;
|
p2p.start_listen = wpas_start_listen;
|
||||||
p2p.stop_listen = wpas_stop_listen;
|
p2p.stop_listen = wpas_stop_listen;
|
||||||
p2p.send_probe_resp = wpas_send_probe_resp;
|
p2p.send_probe_resp = wpas_send_probe_resp;
|
||||||
|
|
Loading…
Reference in a new issue