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:
Jouni Malinen 2013-05-18 16:06:40 +03:00
parent 47bfe49c31
commit 710ae9ac1f
3 changed files with 16 additions and 3 deletions

View file

@ -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;

View file

@ -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

View file

@ -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;