• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/wpa_supplicant-0.7.3/src/drivers/

Lines Matching refs:drv

36 static int wpa_priv_reg_cmd(struct wpa_driver_privsep_data *drv, int cmd)
40 res = sendto(drv->priv_socket, &cmd, sizeof(cmd), 0,
41 (struct sockaddr *) &drv->priv_addr,
42 sizeof(drv->priv_addr));
49 static int wpa_priv_cmd(struct wpa_driver_privsep_data *drv, int cmd,
64 msg.msg_name = &drv->priv_addr;
65 msg.msg_namelen = sizeof(drv->priv_addr);
67 if (sendmsg(drv->cmd_socket, &msg, 0) < 0) {
78 FD_SET(drv->cmd_socket, &rfds);
81 res = select(drv->cmd_socket + 1, &rfds, NULL, NULL, &tv);
87 if (FD_ISSET(drv->cmd_socket, &rfds)) {
88 res = recv(drv->cmd_socket, reply, *reply_len, 0);
108 struct wpa_driver_privsep_data *drv = priv;
112 return wpa_priv_cmd(drv, PRIVSEP_CMD_SCAN, ssid, ssid_len,
120 struct wpa_driver_privsep_data *drv = priv;
130 res = wpa_priv_cmd(drv, PRIVSEP_CMD_GET_SCAN_RESULTS,
199 struct wpa_driver_privsep_data *drv = priv;
222 return wpa_priv_cmd(drv, PRIVSEP_CMD_SET_KEY, &cmd, sizeof(cmd),
230 struct wpa_driver_privsep_data *drv = priv;
261 res = wpa_priv_cmd(drv, PRIVSEP_CMD_ASSOCIATE, data, buflen,
271 struct wpa_driver_privsep_data *drv = priv;
275 res = wpa_priv_cmd(drv, PRIVSEP_CMD_GET_BSSID, NULL, 0, bssid, &len);
284 struct wpa_driver_privsep_data *drv = priv;
289 res = wpa_priv_cmd(drv, PRIVSEP_CMD_GET_SSID, NULL, 0, reply, &len);
305 //struct wpa_driver_privsep_data *drv = priv;
316 //struct wpa_driver_privsep_data *drv = priv;
444 struct wpa_driver_privsep_data *drv = eloop_ctx;
480 wpa_supplicant_event(drv->ctx, EVENT_SCAN_RESULTS, NULL);
483 wpa_driver_privsep_event_assoc(drv->ctx, EVENT_ASSOC,
487 wpa_supplicant_event(drv->ctx, EVENT_DISASSOC, NULL);
490 wpa_driver_privsep_event_assoc(drv->ctx, EVENT_ASSOCINFO,
495 drv->ctx, event_buf, event_len);
498 wpa_driver_privsep_event_interface_status(drv->ctx, event_buf,
502 wpa_driver_privsep_event_pmkid_candidate(drv->ctx, event_buf,
506 wpa_driver_privsep_event_stkstart(drv->ctx, event_buf,
510 wpa_driver_privsep_event_ft_response(drv->ctx, event_buf,
514 wpa_driver_privsep_event_rx_eapol(drv->ctx, event_buf,
525 struct wpa_driver_privsep_data *drv;
527 drv = os_zalloc(sizeof(*drv));
528 if (drv == NULL)
530 drv->ctx = ctx;
531 drv->priv_socket = -1;
532 drv->cmd_socket = -1;
533 os_strlcpy(drv->ifname, ifname, sizeof(drv->ifname));
535 return drv;
541 struct wpa_driver_privsep_data *drv = priv;
543 if (drv->priv_socket >= 0) {
544 wpa_priv_reg_cmd(drv, PRIVSEP_CMD_UNREGISTER);
545 eloop_unregister_read_sock(drv->priv_socket);
546 close(drv->priv_socket);
549 if (drv->own_socket_path) {
550 unlink(drv->own_socket_path);
551 os_free(drv->own_socket_path);
554 if (drv->cmd_socket >= 0) {
555 eloop_unregister_read_sock(drv->cmd_socket);
556 close(drv->cmd_socket);
559 if (drv->own_cmd_path) {
560 unlink(drv->own_cmd_path);
561 os_free(drv->own_cmd_path);
564 os_free(drv);
570 struct wpa_driver_privsep_data *drv = priv;
619 drv->own_socket_path = os_malloc(len);
620 if (drv->own_socket_path == NULL) {
625 os_snprintf(drv->own_socket_path, len, "%s/wpa_privsep-%d-%d",
629 drv->own_cmd_path = os_malloc(len);
630 if (drv->own_cmd_path == NULL) {
631 os_free(drv->own_socket_path);
632 drv->own_socket_path = NULL;
637 os_snprintf(drv->own_cmd_path, len, "%s/wpa_privsep-%d-%d",
642 drv->priv_addr.sun_family = AF_UNIX;
643 os_snprintf(drv->priv_addr.sun_path, sizeof(drv->priv_addr.sun_path),
644 "%s/%s", priv_dir, drv->ifname);
647 drv->priv_socket = socket(PF_UNIX, SOCK_DGRAM, 0);
648 if (drv->priv_socket < 0) {
650 os_free(drv->own_socket_path);
651 drv->own_socket_path = NULL;
657 os_strlcpy(addr.sun_path, drv->own_socket_path, sizeof(addr.sun_path));
658 if (bind(drv->priv_socket, (struct sockaddr *) &addr, sizeof(addr)) <
661 close(drv->priv_socket);
662 drv->priv_socket = -1;
663 unlink(drv->own_socket_path);
664 os_free(drv->own_socket_path);
665 drv->own_socket_path = NULL;
669 eloop_register_read_sock(drv->priv_socket, wpa_driver_privsep_receive,
670 drv, NULL);
672 drv->cmd_socket = socket(PF_UNIX, SOCK_DGRAM, 0);
673 if (drv->cmd_socket < 0) {
675 os_free(drv->own_cmd_path);
676 drv->own_cmd_path = NULL;
682 os_strlcpy(addr.sun_path, drv->own_cmd_path, sizeof(addr.sun_path));
683 if (bind(drv->cmd_socket, (struct sockaddr *) &addr, sizeof(addr)) < 0)
686 close(drv->cmd_socket);
687 drv->cmd_socket = -1;
688 unlink(drv->own_cmd_path);
689 os_free(drv->own_cmd_path);
690 drv->own_cmd_path = NULL;
694 if (wpa_priv_reg_cmd(drv, PRIVSEP_CMD_REGISTER) < 0) {
706 struct wpa_driver_privsep_data *drv = priv;
710 res = wpa_priv_cmd(drv, PRIVSEP_CMD_GET_CAPA, NULL, 0, capa, &len);
719 struct wpa_driver_privsep_data *drv = priv;
721 return drv->own_addr;
727 struct wpa_driver_privsep_data *drv = priv;
729 return wpa_priv_cmd(drv, PRIVSEP_CMD_SET_COUNTRY, alpha2,