您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ HOSTAPD_DEBUG函数代码示例

51自学网 2021-06-01 21:23:44
  C++
这篇教程C++ HOSTAPD_DEBUG函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中HOSTAPD_DEBUG函数的典型用法代码示例。如果您正苦于以下问题:C++ HOSTAPD_DEBUG函数的具体用法?C++ HOSTAPD_DEBUG怎么用?C++ HOSTAPD_DEBUG使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了HOSTAPD_DEBUG函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: handle_tx_callback

static 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_receive

static 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_send

void 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_add

static 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_queries

static 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_retransmit

static 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_cache

static 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_add

struct 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_sockets

int 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_callback

static 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_remove

static 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_timer

static 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_deauthenticate

void 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函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。