这篇教程C++ HOSTAPD_DEBUG函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中HOSTAPD_DEBUG函数的典型用法代码示例。如果您正苦于以下问题:C++ HOSTAPD_DEBUG函数的具体用法?C++ HOSTAPD_DEBUG怎么用?C++ HOSTAPD_DEBUG使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了HOSTAPD_DEBUG函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: handle_tx_callbackstatic void handle_tx_callback(hostapd *hapd, char *buf, size_t len, int ok){ struct ieee80211_hdr *hdr; u16 fc, type, stype; hdr = (struct ieee80211_hdr *) buf; fc = le_to_host16(hdr->frame_control); type = WLAN_FC_GET_TYPE(fc); stype = WLAN_FC_GET_STYPE(fc); switch (type) { case WLAN_FC_TYPE_MGMT: HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "MGMT (TX callback) %s/n", ok ? "ACK" : "fail"); ieee802_11_mgmt_cb(hapd, buf, len, stype, ok); break; case WLAN_FC_TYPE_CTRL: HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "CTRL (TX callback) %s/n", ok ? "ACK" : "fail"); break; case WLAN_FC_TYPE_DATA: HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "DATA (TX callback) %s/n", ok ? "ACK" : "fail"); /* TODO: could replace TXExc counter hack with kernel driver * in data polling for inactivity check with the new TX * callback.. */ /* handle_data_cb(hapd, buf, len, stype, ok); */ break; default: printf("unknown TX callback frame type %d/n", type); break; }}
开发者ID:BackupTheBerlios,项目名称:wl530g-svn,代码行数:33,
示例2: rsn_preauth_receivestatic void rsn_preauth_receive(void *ctx, const u8 *src_addr, const u8 *buf, size_t len){ struct rsn_preauth_interface *piface = ctx; struct hostapd_data *hapd = piface->hapd; struct ieee802_1x_hdr *hdr; struct sta_info *sta; struct l2_ethhdr *ethhdr; HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "RSN: receive pre-auth packet " "from interface '%s'/n", piface->ifname); if (len < sizeof(*ethhdr) + sizeof(*hdr)) { HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "RSN: too short pre-auth " "packet (len=%lu)/n", (unsigned long) len); return; } ethhdr = (struct l2_ethhdr *) buf; hdr = (struct ieee802_1x_hdr *) (ethhdr + 1); if (memcmp(ethhdr->h_dest, hapd->own_addr, ETH_ALEN) != 0) { HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "RSN: pre-auth for " "foreign address " MACSTR "/n", MAC2STR(ethhdr->h_dest)); return; } sta = ap_get_sta(hapd, ethhdr->h_source); if (sta && (sta->flags & WLAN_STA_ASSOC)) { HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "RSN: pre-auth for " "already association STA " MACSTR "/n", MAC2STR(sta->addr)); return; } if (!sta && hdr->type == IEEE802_1X_TYPE_EAPOL_START) { sta = ap_sta_add(hapd, ethhdr->h_source); if (sta == NULL) return; sta->flags = WLAN_STA_PREAUTH; ieee802_1x_new_station(hapd, sta); if (sta->eapol_sm == NULL) { ap_free_sta(hapd, sta); sta = NULL; } else { sta->eapol_sm->radius_identifier = -1; sta->eapol_sm->portValid = TRUE; sta->eapol_sm->flags |= EAPOL_SM_PREAUTH; } } if (sta == NULL) return; sta->preauth_iface = piface; ieee802_1x_receive(hapd, ethhdr->h_source, (u8 *) (ethhdr + 1), len - sizeof(*ethhdr));}
开发者ID:KHATEEBNSIT,项目名称:AP,代码行数:56,
示例3: rsn_preauth_sendvoid rsn_preauth_send(struct hostapd_data *hapd, struct sta_info *sta, u8 *buf, size_t len){ struct rsn_preauth_interface *piface; struct l2_ethhdr *ethhdr; piface = hapd->preauth_iface; while (piface) { if (piface == sta->preauth_iface) break; piface = piface->next; } if (piface == NULL) { HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "RSN: Could not find " "pre-authentication interface for " MACSTR "/n", MAC2STR(sta->addr)); return; } ethhdr = malloc(sizeof(*ethhdr) + len); if (ethhdr == NULL) return; memcpy(ethhdr->h_dest, sta->addr, ETH_ALEN); memcpy(ethhdr->h_source, hapd->own_addr, ETH_ALEN); ethhdr->h_proto = htons(ETH_P_PREAUTH); memcpy(ethhdr + 1, buf, len); if (l2_packet_send(piface->l2, sta->addr, ETH_P_PREAUTH, (u8 *) ethhdr, sizeof(*ethhdr) + len) < 0) { printf("Failed to send preauth packet using l2_packet_send/n"); } free(ethhdr);}
开发者ID:KHATEEBNSIT,项目名称:AP,代码行数:35,
示例4: rsn_preauth_iface_addstatic int rsn_preauth_iface_add(struct hostapd_data *hapd, const char *ifname){ struct rsn_preauth_interface *piface; HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "RSN pre-auth interface '%s'/n", ifname); piface = wpa_zalloc(sizeof(*piface)); if (piface == NULL) return -1; piface->hapd = hapd; piface->ifname = strdup(ifname); if (piface->ifname == NULL) { goto fail1; } piface->l2 = l2_packet_init(piface->ifname, NULL, ETH_P_PREAUTH, rsn_preauth_receive, piface, 1); if (piface->l2 == NULL) { printf("Failed to open register layer 2 access to " "ETH_P_PREAUTH/n"); goto fail2; } piface->next = hapd->preauth_iface; hapd->preauth_iface = piface; return 0;fail2: free(piface->ifname);fail1: free(piface); return -1;}
开发者ID:KHATEEBNSIT,项目名称:AP,代码行数:35,
示例5: hostapd_acl_expire_queriesstatic void hostapd_acl_expire_queries(struct hostapd_data *hapd, time_t now){ struct hostapd_acl_query_data *prev, *entry, *tmp; prev = NULL; entry = hapd->acl_queries; while (entry) { if (now - entry->timestamp > RADIUS_ACL_TIMEOUT) { HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "ACL query for " MACSTR " has expired./n", MAC2STR(entry->addr)); if (prev) prev->next = entry->next; else hapd->acl_queries = entry->next; tmp = entry; entry = entry->next; hostapd_acl_query_free(tmp); continue; } prev = entry; entry = entry->next; }}
开发者ID:jameshilliard,项目名称:actiontec_opensrc_mi424wr-rev-e-f_fw-20-10-7-5,代码行数:27,
示例6: radius_client_retransmitstatic int radius_client_retransmit(hostapd *hapd, struct radius_msg_list *entry, time_t now){ int s; if (entry->msg_type == RADIUS_ACCT) s = hapd->radius->acct_serv_sock; else s = hapd->radius->auth_serv_sock; /* retransmit; remove entry if too many attempts */ entry->attempts++; HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "Resending RADIUS message (id=%d)" "/n", entry->msg->hdr->identifier); if (send(s, entry->msg->buf, entry->msg->buf_used, 0) < 0) perror("send[RADIUS]"); entry->next_try = now + entry->next_wait; entry->next_wait *= 2; if (entry->next_wait > RADIUS_CLIENT_MAX_WAIT) entry->next_wait = RADIUS_CLIENT_MAX_WAIT; if (entry->attempts >= RADIUS_CLIENT_MAX_RETRIES) { printf("Removing un-ACKed RADIUS message due to too many " "failed retransmit attempts/n"); return 1; } return 0;}
开发者ID:BackupTheBerlios,项目名称:wl530g-svn,代码行数:30,
示例7: hostapd_acl_expire_cachestatic void hostapd_acl_expire_cache(hostapd *hapd, time_t now){ struct hostapd_cached_radius_acl *prev, *entry, *tmp; prev = NULL; entry = hapd->acl_cache; while (entry) { if (now - entry->timestamp > RADIUS_ACL_TIMEOUT) { HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "Cached ACL entry for " MACSTR " has expired./n", MAC2STR(entry->addr)); if (prev) prev->next = entry->next; else hapd->acl_cache = entry->next; tmp = entry; entry = entry->next; free(tmp); continue; } prev = entry; entry = entry->next; }}
开发者ID:OPSF,项目名称:uClinux,代码行数:27,
示例8: reload_hw_mode_done/** * reload_hw_mode_done - Callback for after the HW mode is setup * @hapd_iface: Pointer to interface data. * @status: Status of the HW mode setup. */static void reload_hw_mode_done(struct hostapd_iface *hapd_iface, int status){ struct hostapd_data *hapd = hapd_iface->bss[0]; struct hostapd_config_change *change = hapd_iface->change; struct hostapd_config *newconf = change->newconf; hostapd_iface_cb cb; int freq; if (status) { printf("Failed to select hw_mode./n"); cb = hapd_iface->reload_iface_cb; hapd_iface->reload_iface_cb = NULL; cb(hapd_iface, -1); return; } freq = hostapd_hw_get_freq(hapd, newconf->channel); HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "Mode: %s Channel: %d Frequency: %d MHz/n", hostapd_hw_mode_txt(newconf->hw_mode), newconf->channel, freq); if (hostapd_set_freq(hapd, newconf->hw_mode, freq)) { printf("Could not set channel %d (%d MHz) for kernel " "driver/n", newconf->channel, freq); } change->beacon_changed++; reload_iface2(hapd_iface);}
开发者ID:jameshilliard,项目名称:actiontec_opensrc_mi424wr-rev-e-f_fw-20-10-7-5,代码行数:38,
示例9: ap_sta_addstruct sta_info * ap_sta_add(struct hostapd_data *hapd, const u8 *addr){ struct sta_info *sta; sta = ap_get_sta(hapd, addr); if (sta) return sta; HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, " New STA/n"); if (hapd->num_sta >= hapd->conf->max_num_sta) { /* FIX: might try to remove some old STAs first? */ printf(" no more room for new STAs (%d/%d)/n", hapd->num_sta, hapd->conf->max_num_sta); return NULL; } sta = wpa_zalloc(sizeof(struct sta_info)); if (sta == NULL) { printf(" malloc failed/n"); return NULL; } sta->acct_interim_interval = hapd->conf->radius->acct_interim_interval; /* initialize STA info data */ eloop_register_timeout(hapd->conf->ap_max_inactivity, 0, ap_handle_timer, hapd, sta); memcpy(sta->addr, addr, ETH_ALEN); sta->next = hapd->sta_list; hapd->sta_list = sta; hapd->num_sta++; ap_sta_hash_add(hapd, sta); sta->ssid = &hapd->conf->ssid; return sta;}
开发者ID:KHATEEBNSIT,项目名称:AP,代码行数:35,
示例10: hostapd_init_socketsint hostapd_init_sockets(struct hostap_driver_data *drv){ struct hostapd_data *hapd = drv->hapd; struct ifreq ifr; struct sockaddr_ll addr; drv->sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); if (drv->sock < 0) { perror("socket[PF_PACKET,SOCK_RAW]"); return -1; } if (eloop_register_read_sock(drv->sock, handle_read, drv->hapd, NULL)) { printf("Could not register read socket/n"); return -1; } memset(&ifr, 0, sizeof(ifr)); snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%sap", drv->iface); if (ioctl(drv->sock, SIOCGIFINDEX, &ifr) != 0) { perror("ioctl(SIOCGIFINDEX)"); return -1; } if (hostapd_set_iface_flags(drv, 1)) { return -1; } memset(&addr, 0, sizeof(addr)); addr.sll_family = AF_PACKET; addr.sll_ifindex = ifr.ifr_ifindex; HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "Opening raw packet socket for ifindex %d/n", addr.sll_ifindex); if (bind(drv->sock, (struct sockaddr *) &addr, sizeof(addr)) < 0) { perror("bind"); return -1; } memset(&ifr, 0, sizeof(ifr)); snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%s", drv->iface); if (ioctl(drv->sock, SIOCGIFHWADDR, &ifr) != 0) { perror("ioctl(SIOCGIFHWADDR)"); return -1; } if (ifr.ifr_hwaddr.sa_family != ARPHRD_ETHER) { printf("Invalid HW-addr family 0x%04x/n", ifr.ifr_hwaddr.sa_family); return -1; } memcpy(drv->hapd->own_addr, ifr.ifr_hwaddr.sa_data, ETH_ALEN); return 0;}
开发者ID:gittestusername,项目名称:uClinux,代码行数:57,
示例11: handle_tx_callbackstatic void handle_tx_callback(hostapd *hapd, char *buf, size_t len, int ok){ struct ieee80211_hdr *hdr; u16 fc, type, stype; struct sta_info *sta; hdr = (struct ieee80211_hdr *) buf; fc = le_to_host16(hdr->frame_control); type = WLAN_FC_GET_TYPE(fc); stype = WLAN_FC_GET_STYPE(fc); switch (type) { case WLAN_FC_TYPE_MGMT: HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "MGMT (TX callback) %s/n", ok ? "ACK" : "fail"); ieee802_11_mgmt_cb(hapd, buf, len, stype, ok); break; case WLAN_FC_TYPE_CTRL: HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "CTRL (TX callback) %s/n", ok ? "ACK" : "fail"); break; case WLAN_FC_TYPE_DATA: HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "DATA (TX callback) %s/n", ok ? "ACK" : "fail"); sta = ap_get_sta(hapd, hdr->addr1); if (sta && sta->flags & WLAN_STA_PENDING_POLL) { HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "STA " MACSTR " %s pending activity poll/n", MAC2STR(sta->addr), ok ? "ACKed" : "did not ACK"); if (ok) sta->flags &= ~WLAN_STA_PENDING_POLL; } if (sta) ieee802_1x_tx_status(hapd, sta, buf, len, ok); break; default: printf("unknown TX callback frame type %d/n", type); break; }}
开发者ID:gittestusername,项目名称:uClinux,代码行数:42,
示例12: ap_sta_removestatic int ap_sta_remove(struct hostapd_data *hapd, struct sta_info *sta){ ieee802_1x_notify_port_enabled(sta->eapol_sm, 0); HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "Removing STA " MACSTR " from kernel driver/n", MAC2STR(sta->addr)); if (hostapd_sta_remove(hapd, sta->addr) && sta->flags & WLAN_STA_ASSOC) { printf("Could not remove station " MACSTR " from kernel " "driver./n", MAC2STR(sta->addr)); return -1; } return 0;}
开发者ID:KHATEEBNSIT,项目名称:AP,代码行数:14,
示例13: ap_list_timerstatic void ap_list_timer(void *eloop_ctx, void *timeout_ctx){ struct hostapd_iface *iface = eloop_ctx; time_t now; struct ap_info *ap; eloop_register_timeout(10, 0, ap_list_timer, iface, NULL); if (!iface->ap_list) return; time(&now); /* FIX: it looks like jkm-Purina ended up in busy loop in this * function. Apparently, something can still cause a loop in the AP * list.. */ while (iface->ap_list) { ap = iface->ap_list->prev; if (ap->last_beacon + iface->conf->ap_table_expiration_time >= now) break; if (iface->conf->passive_scan_interval > 0) ap_list_expired_ap(iface, ap); ap_free_ap(iface, ap); } if (iface->olbc) { int olbc = 0; ap = iface->ap_list; while (ap) { if (ap_list_beacon_olbc(iface, ap)) { olbc = 1; break; } ap = ap->next; } if (!olbc) { struct hostapd_data *hapd = iface->bss[0]; HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "OLBC not detected anymore/n"); iface->olbc = 0; ieee802_11_set_beacons(hapd->iface); } }}
开发者ID:10imaging,项目名称:scancode-toolkit,代码行数:47,
示例14: ap_sta_deauthenticatevoid ap_sta_deauthenticate(struct hostapd_data *hapd, struct sta_info *sta, u16 reason){ HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL, "%s: deauthenticate STA " MACSTR "/n", hapd->conf->iface, MAC2STR(sta->addr)); sta->flags &= ~(WLAN_STA_AUTH | WLAN_STA_ASSOC); if (!ap_sta_in_other_bss(hapd, sta, WLAN_STA_ASSOC)) ap_sta_remove(hapd, sta); sta->timeout_next = STA_REMOVE; eloop_cancel_timeout(ap_handle_timer, hapd, sta); eloop_register_timeout(AP_MAX_INACTIVITY_AFTER_DEAUTH, 0, ap_handle_timer, hapd, sta); accounting_sta_stop(hapd, sta); ieee802_1x_free_station(sta); mlme_deauthenticate_indication(hapd, sta, reason);}
开发者ID:KHATEEBNSIT,项目名称:AP,代码行数:17,
注:本文中的HOSTAPD_DEBUG函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ HOST_c2l函数代码示例 C++ HOOK2MANIP函数代码示例 |