Lines Matching full:info
99 hal_info *info = (hal_info *)handle;
100 for (int i=0;i<info->num_interfaces;i++)
102 if (!strcmp(info->interfaces[i]->name, name))
104 return ((wifi_interface_handle )(info->interfaces)[i]);
205 hal_info *info = getHalInfo(wifiHandle);
207 if (!(info->supported_feature_set & WIFI_FEATURE_GSCAN)) {
239 hal_info *info = (hal_info *)handle;
259 info->firmware_bus_max_size = busSizeSupported.getBusSize();
265 static wifi_error wifi_init_user_sock(hal_info *info)
290 info->user_sock_arg = 1;
292 nl_cb_err(cb, NL_CB_CUSTOM, error_handler, &info->user_sock_arg);
293 nl_cb_set(cb, NL_CB_FINISH, NL_CB_CUSTOM, finish_handler, &info->user_sock_arg);
294 nl_cb_set(cb, NL_CB_ACK, NL_CB_CUSTOM, ack_handler, &info->user_sock_arg);
296 nl_cb_set(cb, NL_CB_VALID, NL_CB_CUSTOM, user_sock_message_handler, info);
305 info->user_sock = user_sock;
310 static wifi_error wifi_init_cld80211_sock_cb(hal_info *info)
312 struct nl_cb *cb = nl_socket_get_cb(info->cldctx->sock);
318 info->user_sock_arg = 1;
320 nl_cb_err(cb, NL_CB_CUSTOM, error_handler, &info->user_sock_arg);
321 nl_cb_set(cb, NL_CB_FINISH, NL_CB_CUSTOM, finish_handler, &info->user_sock_arg);
322 nl_cb_set(cb, NL_CB_ACK, NL_CB_CUSTOM, ack_handler, &info->user_sock_arg);
324 nl_cb_set(cb, NL_CB_VALID, NL_CB_CUSTOM, user_sock_message_handler, info);
432 static void cld80211lib_cleanup(hal_info *info)
434 if (!info->cldctx)
436 cld80211_remove_mcast_group(info->cldctx, "host_logs");
437 cld80211_remove_mcast_group(info->cldctx, "fw_logs");
438 cld80211_remove_mcast_group(info->cldctx, "per_pkt_stats");
439 cld80211_remove_mcast_group(info->cldctx, "diag_events");
440 cld80211_remove_mcast_group(info->cldctx, "fatal_events");
441 exit_cld80211_recv(info->cldctx);
442 cld80211_deinit(info->cldctx);
443 info->cldctx = NULL;
446 static int wifi_get_iface_id(hal_info *info, const char *iface)
449 for (i = 0; i < info->num_interfaces; i++)
450 if (!strcmp(info->interfaces[i]->name, iface))
467 hal_info *info = (hal_info *)malloc(sizeof(hal_info));
468 if (info == NULL) {
473 memset(info, 0, sizeof(*info));
519 info);
522 info->cmd_sock = cmd_sock;
523 info->event_sock = event_sock;
524 info->clean_up = false;
525 info->in_event_loop = false;
527 info->event_cb = (cb_info *)malloc(sizeof(cb_info) * DEFAULT_EVENT_CB_SIZE);
528 if (info->event_cb == NULL) {
533 info->alloc_event_cb = DEFAULT_EVENT_CB_SIZE;
534 info->num_event_cb = 0;
536 info->nl80211_family_id = genl_ctrl_resolve(cmd_sock, "nl80211");
537 if (info->nl80211_family_id < 0) {
543 pthread_mutex_init(&info->cb_lock, NULL);
544 pthread_mutex_init(&info->pkt_fate_stats_lock, NULL);
546 *handle = (wifi_handle) info;
553 info->cldctx = cld80211_init();
554 if (info->cldctx != NULL) {
555 info->user_sock = info->cldctx->sock;
556 ret = wifi_init_cld80211_sock_cb(info);
562 status = cld80211_add_mcast_group(info->cldctx, "host_logs");
567 status = cld80211_add_mcast_group(info->cldctx, "fw_logs");
572 status = cld80211_add_mcast_group(info->cldctx, "per_pkt_stats");
577 status = cld80211_add_mcast_group(info->cldctx, "diag_events");
582 status = cld80211_add_mcast_group(info->cldctx, "fatal_events");
588 ret = wifi_init_user_sock(info);
601 if (info->num_interfaces == 0) {
607 index = wifi_get_iface_id(info, "wlan0");
610 for (i = 0; i < info->num_interfaces; i++)
612 free(info->interfaces[i]);
617 iface_handle = (wifi_interface_handle)info->interfaces[index];
620 &info->supported_feature_set);
630 &info->supported_logger_feature_set);
637 info->firmware_bus_max_size = 1520;
640 ret = wifi_logger_ring_buffers_init(info);
648 info->pkt_stats = (struct pkt_stats_s *)malloc(sizeof(struct pkt_stats_s));
649 if (!info->pkt_stats) {
656 info->rx_buf_size_allocated = MAX_RXMPDUS_PER_AMPDU * MAX_MSDUS_PER_MPDU
659 info->rx_aggr_pkts =
660 (wifi_ring_buffer_entry *)malloc(info->rx_buf_size_allocated);
661 if (!info->rx_aggr_pkts) {
663 __FUNCTION__, info->rx_buf_size_allocated);
665 info->rx_buf_size_allocated = 0;
668 memset(info->rx_aggr_pkts, 0, info->rx_buf_size_allocated);
670 info->exit_sockets[0] = -1;
671 info->exit_sockets[1] = -1;
673 if (socketpair(AF_UNIX, SOCK_STREAM, 0, info->exit_sockets) == -1) {
680 ret = initializeGscanHandlers(info);
686 ret = initializeRSSIMonitorHandler(info);
693 " features : %x", NL80211_CMD_VENDOR, info->supported_feature_set);
698 cld80211lib_cleanup(info);
706 if (info) {
707 if (info->cldctx) {
708 cld80211lib_cleanup(info);
709 } else if (info->user_sock) {
710 nl_socket_free(info->user_sock);
712 if (info->pkt_stats) free(info->pkt_stats);
713 if (info->rx_aggr_pkts) free(info->rx_aggr_pkts);
714 wifi_logger_ring_buffers_deinit(info);
715 cleanupGscanHandlers(info);
716 cleanupRSSIMonitorHandler(info);
717 free(info->event_cb);
718 free(info);
746 hal_info *info = getHalInfo(handle);
754 int ret = nl_socket_add_membership(info->event_sock, id);
764 hal_info *info = getHalInfo(handle);
765 wifi_cleaned_up_handler cleaned_up_handler = info->cleaned_up_handler;
767 if (info->cmd_sock != 0) {
768 nl_socket_free(info->cmd_sock);
769 nl_socket_free(info->event_sock);
770 info->cmd_sock = NULL;
771 info->event_sock = NULL;
774 if (info->interfaces) {
775 for (int i = 0; i < info->num_interfaces; i++)
776 free(info->interfaces[i]);
777 free(info->interfaces);
780 if (info->cldctx != NULL) {
781 cld80211lib_cleanup(info);
782 } else if (info->user_sock != 0) {
783 nl_socket_free(info->user_sock);
784 info->user_sock = NULL;
787 if (info->pkt_stats)
788 free(info->pkt_stats);
789 if (info->rx_aggr_pkts)
790 free(info->rx_aggr_pkts);
791 wifi_logger_ring_buffers_deinit(info);
792 cleanupGscanHandlers(info);
793 cleanupRSSIMonitorHandler(info);
795 if (info->num_event_cb)
797 info->num_event_cb);
798 free(info->event_cb);
800 if (info->exit_sockets[0] >= 0) {
801 close(info->exit_sockets[0]);
802 info->exit_sockets[0] = -1;
805 if (info->exit_sockets[1] >= 0) {
806 close(info->exit_sockets[1]);
807 info->exit_sockets[1] = -1;
810 if (info->pkt_fate_stats) {
811 free(info->pkt_fate_stats);
812 info->pkt_fate_stats = NULL;
816 pthread_mutex_destroy(&info->cb_lock);
817 pthread_mutex_destroy(&info->pkt_fate_stats_lock);
818 free(info);
828 hal_info *info = getHalInfo(handle);
829 info->cleaned_up_handler = handler;
830 info->clean_up = true;
832 TEMP_FAILURE_RETRY(write(info->exit_sockets[0], "E", 1));
866 hal_info *info = getHalInfo(handle);
867 if (info->in_event_loop) {
870 info->in_event_loop = true;
876 pfd[0].fd = nl_socket_get_fd(info->event_sock);
879 pfd[1].fd = nl_socket_get_fd(info->user_sock);
882 pfd[2].fd = info->exit_sockets[1];
897 internal_event_handler(handle, pfd[0].revents, info->event_sock);
900 internal_event_handler(handle, pfd[1].revents, info->user_sock);
903 rb_timerhandler(info);
904 } while (!info->clean_up);
911 hal_info *info = getHalInfo(handle);
913 diag_message_handler(info, msg);
921 hal_info *info = getHalInfo(handle);
951 pthread_mutex_lock(&info->cb_lock);
953 for (int i = 0; i < info->num_event_cb; i++) {
954 if (cmd == info->event_cb[i].nl_cmd) {
956 && ((vendor_id != info->event_cb[i].vendor_id)
957 || (subcmd != info->event_cb[i].vendor_subcmd)))
963 cb_info *cbi = &(info->event_cb[i]);
964 pthread_mutex_unlock(&info->cb_lock);
979 pthread_mutex_unlock(&info->cb_lock);
1082 static int get_interface(const char *name, interface_info *info)
1084 strlcpy(info->name, name, (IFNAMSIZ + 1));
1085 info->id = if_nametoindex(name);
1086 // ALOGI("found an interface : %s, id = %d", name, info->id);
1092 hal_info *info = (hal_info *)handle;
1115 info->interfaces = (interface_info **)malloc(sizeof(interface_info *) * n);
1116 if (info->interfaces == NULL) {
1117 ALOGE("%s: Error info->interfaces NULL", __func__);
1131 free(info->interfaces[i-1]);
1134 free(info->interfaces);
1142 info->interfaces[i] = ifinfo;
1149 info->num_interfaces = n;
1157 hal_info *info = (hal_info *)handle;
1159 *interfaces = (wifi_interface_handle *)info->interfaces;
1160 *num = info->num_interfaces;
1168 interface_info *info = (interface_info *)handle;
1169 strlcpy(name, info->name, size);
1180 hal_info *info = getHalInfo(handle);
1184 *set = info->supported_feature_set;
1187 info->supported_feature_set = *set;
1430 hal_info *info = getHalInfo(wifiHandle);
1475 min(info->firmware_bus_max_size,
1495 current_offset += min(info->firmware_bus_max_size, len);
1498 info->apf_enabled = !!len;
1641 hal_info *info = getHalInfo(wifiHandle);
1690 min(info->firmware_bus_max_size,
1709 current_offset += min(info->firmware_bus_max_size,
1727 hal_info *info = getHalInfo(wifiHandle);
1757 info->apf_enabled = !!enable;
1792 hal_info *info = getHalInfo(wifiHandle);
1803 if (info->apf_enabled) {
1845 currentLength = min(remainingLengthToBeRead, info->firmware_bus_max_size);