⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wetctl.c

📁 VT665 无线网卡驱动 LINUX平台下
💻 C
📖 第 1 页 / 共 3 页
字号:
        };		if(pList->sBSSIDList[ii].bWEPOn == TRUE) {		    printf("yes ");		}		else {		    printf("no  ");        };        		printf("%04d  ", (int)pList->sBSSIDList[ii].uRSSI);		memcpy(buf, pList->sBSSIDList[ii].abySSID, SSID_MAXLEN +1);		printf("%s\n", buf);	}}/*+ * * Description: * * *	Called when the user has requested the 'nodes' command at the *	command line.  * * Parameters: *  In: *      skfd, argc, argv *  Out: *      none * * Return Value: '0' if success *-*/int s_cmdGetNodeList(int skfd, int argc, char **argv){	int					result;	SCmdRequest	        sReq;	SNodeList		    sList;    PSNodeList          pList;	result = 0;	memset(&sList, 0, sizeof(SNodeList));		strcpy((char *)sReq.name, argv[1]);	sReq.wResult = 0;	sReq.data = &sList;	sReq.wCmdCode = WLAN_CMD_GET_NODE_CNT;	result = ioctl( skfd, IOCTL_CMD_SET, &sReq);	if (result || sReq.wResult) {		printf( "%s: failed in get node list command.\n", AppName);		result = 1;	}	else {	    if (sList.uItem == 0) return result;		pList = malloc( sizeof(SNodeList) + (sList.uItem * sizeof(SNodeItem)));		pList->uItem = sList.uItem;		sReq.wResult = 0;		sReq.data = pList;		sReq.wCmdCode = WLAN_CMD_GET_NODE_LIST;		result = ioctl( skfd, IOCTL_CMD_SET, &sReq);		if (result || sReq.wResult) {			printf( "%s: failed get node list command\n", AppName);			result = 1;		}		else {			vShowNodeList(pList);		}		free(pList);	}	return result;}/*+ * * Description: * * *	Show stations list * * Parameters: *  In: *      pList *  Out: *      none * * Return Value: none *-*/VOID vShowNodeList(PSNodeList pList){	int 			    ii;	BYTE 			    buf[80];	    printf("Associated Nodes Count = %d\n", (int)(pList->uItem -1));	    printf("AID MAC                RATE AGE  QUE FG  PW  RATO  KEY LEN\n");	for (ii = 0; ii < pList->uItem; ii++) {		printf("%02d  ", pList->sNodeList[ii].wAID);		vAddrToStr(pList->sNodeList[ii].abyMACAddr, buf);		printf("%s  ", buf);		printf("%02d  ", pList->sNodeList[ii].wTxDataRate);		printf("%04d  ", pList->sNodeList[ii].wInActiveCount);		printf("%02d  ", pList->sNodeList[ii].wEnQueueCnt);		printf("%02x  ", pList->sNodeList[ii].wFlags);		if(pList->sNodeList[ii].bPWBitOn == TRUE) {		    printf("yes ");		}		else {		    printf("no  ");        };		printf("%04d  ", pList->sNodeList[ii].wFailureRatio);		printf("%02d  ", pList->sNodeList[ii].byKeyIndex);		printf("%04d  ", pList->sNodeList[ii].wWepKeyLength);		printf("\n");		vWEPToStr(pList->sNodeList[ii].abyWepKey, buf);				printf("KEY = %s \n", buf);	}}/*+ * * Description: * *  Called when the user set the 'link' command at the *	command line to get link status * * Parameters: *  In: *      skfd, argc, argv *  Out: *      none * * Return Value: '0' if success *-*/int s_cmdGetLink(int skfd, int argc, char **argv){	int					result;	SCmdRequest	        sReq;	SCmdLinkStatus	    sLink;	BYTE 			    buf[SSID_MAXLEN + 1];	result = 0;	strcpy((char *)sReq.name, argv[1]);	sReq.wResult = 0;	sReq.data = &sLink;	sReq.wCmdCode = WLAN_CMD_GET_LINK;	result = ioctl(skfd, IOCTL_CMD_SET, &sReq);	if (sReq.wResult ) {		printf( "%s: failed in link command.\n", AppName);	}	else {        if (sLink.bLink == TRUE) {		    memcpy(buf, sLink.abySSID, SSID_MAXLEN + 1);            if (sLink.wBSSType == ADHOC) {                if (sLink.byState == ADHOC_STARTED)                    printf("Adhoc Starting, SSID = '%s'\n", buf);                else if (sLink.byState == ADHOC_JOINTED)                    printf("Adhoc Link with, SSID = '%s'\n", buf);            }            else {                if (sLink.wBSSType == INFRA)                    printf("Link with AP, SSID = '%s'\n", buf);            }              printf("Channel = %02d", (int)sLink.uChannel);            vAddrToStr(sLink.abyBSSID, buf);            printf(", Data Rate = ");            switch(sLink.uLinkRate) {                case RATE_1M:                    printf("1Mbps");                     break;                case RATE_2M:                    printf("2Mbps");                    break;                case RATE_5M:                    printf("5.5Mbps");                    break;                case RATE_11M:                    printf("11Mbps");                    break;                case RATE_6M:                    printf("6Mbps");                    break;                          case RATE_9M:                    printf("9Mbps");                    break;                case RATE_12M:                    printf("12Mbps");                    break;                    case RATE_18M:                    printf("18Mbps");                    break;                case RATE_24M:                    printf("24Mbps");                    break;                case RATE_36M:                    printf("36Mbps");                    break;                case RATE_48M:                    printf("48Mbps");                    break;                case RATE_54M:                    printf("54Mbps");                    break;                   default:                    printf("54Mbps");                                                  }            printf("\n");                        printf("BSSID = %s\n", buf);        }         else {            printf("Link fail, disconnected !\n");        }                       }	return result;}/*+ * * Description: * *	Called when the user has requested the 'mib' command at the *	command line.  * * Parameters: *  In: *      skfd, argc, argv *  Out: *      none * * Return Value: '0' if success *-*/int s_cmdGetMIB(int skfd, int argc, char **argv){	int					result;	SCmdRequest	        sReq;	SDot11MIBCount	    sMIB;	result = 0;	strcpy((char *)sReq.name, argv[1]);	sReq.wResult = 0;	sReq.data = &sMIB;	sReq.wCmdCode = WLAN_CMD_GET_MIB;		result = ioctl( skfd, IOCTL_CMD_SET, &sReq);		if (result || sReq.wResult) {		printf( "%s: failed in get mib command.\n", AppName);		result = 1;	}	else {  	    printf("TxFragmentCount =%12d  ", (INT)sMIB.TransmittedFragmentCount);  	    printf("MulticastTxCount=%12d\n", (INT)sMIB.MulticastTransmittedFrameCount);  	    printf("FailedCount     =%12d  ", (INT)sMIB.FailedCount);  	    printf("RetryCount      =%12d\n", (INT)sMIB.RetryCount);  	    printf("MultipleRetry   =%12d  ", (INT)sMIB.MultipleRetryCount);  	    printf("RTSSuccessCount =%12d\n", (INT)sMIB.RTSSuccessCount);  	    printf("RTSFailureCount =%12d  ", (INT)sMIB.RTSFailureCount);  	    printf("ACKFailureCount =%12d\n", (INT)sMIB.ACKFailureCount);  	    printf("DuplicateCount  =%12d  ", (INT)sMIB.FrameDuplicateCount);  	    printf("RxFragmentCount =%12d\n", (INT)sMIB.ReceivedFragmentCount);  	    printf("MulticastRxCount=%12d  ", (INT)sMIB.MulticastReceivedFrameCount);  	    printf("FCSErrorCount   =%12d\n",(INT)sMIB.FCSErrorCount);    }	return result;}/*+ * * Description: * *	Called when the user has requested the 'stat'(statistics)command at the *	command line.  * * Parameters: *  In: *      skfd, argc, argv *  Out: *      none * * Return Value: '0' if success *-*/int s_cmdGetSTAT(int skfd, int argc, char **argv){	int					result;	SCmdRequest	        sReq;	SStatMIBCount	    sSTAT;	result = 0;	strcpy((char *)sReq.name, argv[1]);	sReq.wResult = 0;	sReq.data = &sSTAT;	sReq.wCmdCode = WLAN_CMD_GET_STAT;	result = ioctl( skfd, IOCTL_CMD_SET, &sReq);	if (result || sReq.wResult) {		printf("%s: failed in get stat command.\n", AppName);		result = 1;	}	else {  	    printf("IsrTx0OK      =%12d  ", (INT)sSTAT.dwIsrTx0OK);  	    printf("IsrTx1OK      =%12d\n", (INT)sSTAT.dwIsrTx1OK);  	    printf("IsrBeaconTxOK =%12d  ", (INT)sSTAT.dwIsrBeaconTxOK);  	    printf("IsrRxOK       =%12d\n", (INT)sSTAT.dwIsrRxOK);  	    printf("IsrTBTTInt    =%12d  ", (INT)sSTAT.dwIsrTBTTInt);  	    printf("IsrSTIMERInt  =%12d\n", (INT)sSTAT.dwIsrSTIMERInt);  	    printf("IsrUnrecovErr =%12d  ", (INT)sSTAT.dwIsrUnrecoverableError);  	    printf("IsrSoftInt    =%12d\n", (INT)sSTAT.dwIsrSoftInterrupt);  	    printf("IsrRxNoBuf    =%12d  ", (INT)sSTAT.dwIsrRxNoBuf);  	    printf("IsrUnknown    =%12d\n", (INT)sSTAT.dwIsrUnknown);  	    printf("RsrFrmAlgnErr =%12d  ", (INT)sSTAT.dwRsrFrmAlgnErr);  	    printf("RsrErr        =%12d\n", (INT)sSTAT.dwRsrErr);  	    printf("RsrCRCErr     =%12d  ", (INT)sSTAT.dwRsrCRCErr);  	    printf("RsrCRCOk      =%12d\n", (INT)sSTAT.dwRsrCRCOk);    	    printf("RsrBSSIDOk    =%12d  ", (INT)sSTAT.dwRsrBSSIDOk);  	    printf("RsrADDROk     =%12d\n", (INT)sSTAT.dwRsrADDROk);    	    printf("RsrICVOk      =%12d  ", (INT)sSTAT.dwRsrICVOk);  	    printf("RsrShortPre   =%12d\n", (INT)sSTAT.dwNewRsrShortPreamble);  	    printf("RsrLong       =%12d  ", (INT)sSTAT.dwRsrLong);  	    printf("RsrRunt       =%12d\n", (INT)sSTAT.dwRsrRunt);  	    printf("RsrRxControl  =%12d  ", (INT)sSTAT.dwRsrRxControl);  	    printf("RsrRxData     =%12d\n", (INT)sSTAT.dwRsrRxData);  	    printf("RsrRxManage   =%12d  ", (INT)sSTAT.dwRsrRxManage);  	    printf("RsrRxPacket   =%12d\n", (INT)sSTAT.dwRsrRxPacket);  	    printf("RsrRxOctet    =%12d  ", (INT)sSTAT.dwRsrRxOctet);  	    printf("RsrBroadcast  =%12d\n", (INT)sSTAT.dwRsrBroadcast);  	    printf("RsrMulticast  =%12d  ", (INT)sSTAT.dwRsrMulticast);  	    printf("RsrDirected   =%12d\n", (INT)sSTAT.dwRsrDirected);  	    printf("RsrOK         =%12d\n\n", (INT)sSTAT.ullRsrOK);  	      	    printf("RxBroadcstBytes=%12d  ", (INT)sSTAT.ullRxBroadcastBytes);  	    printf("RxMulticstBytes=%12d\n", (INT)sSTAT.ullRxMulticastBytes);  	    printf("RxDirectedBytes=%12d  ", (INT)sSTAT.ullRxDirectedBytes);  	    printf("RxBroadcstFrame=%12d\n", (INT)sSTAT.ullRxBroadcastFrames);  	    printf("RxMulticstFrame=%12d  ", (INT)sSTAT.ullRxMulticastFrames);  	    printf("RxDirectedFrame=%12d\n", (INT)sSTAT.ullRxDirectedFrames);  	      	    printf("RxLen64        =%12d  ", (INT)sSTAT.dwRsrRxFrmLen64);  	    printf("RxLen65_127    =%12d\n", (INT)sSTAT.dwRsrRxFrmLen65_127);  	    printf("RxLen128_255   =%12d  ", (INT)sSTAT.dwRsrRxFrmLen128_255);  	    printf("RxLen256_511   =%12d\n", (INT)sSTAT.dwRsrRxFrmLen256_511);  	    printf("RxLen512_1023  =%12d  ", (INT)sSTAT.dwRsrRxFrmLen512_1023);  	    printf("RxLen1024_1518 =%12d\n", (INT)sSTAT.dwRsrRxFrmLen1024_1518);  	    printf("RsrRxOctet     =%12d  ", (INT)sSTAT.dwRsrRxOctet);  	    printf("RsrBroadcast   =%12d\n", (INT)sSTAT.dwRsrBroadcast);  	    printf("RsrMulticast   =%12d  ", (INT)sSTAT.dwRsrMulticast);  	    printf("RsrDirected    =%12d\n", (INT)sSTAT.dwRsrDirected);  	    printf("RsrOK          =%12d  ", (INT)sSTAT.ullRsrOK);  	    printf("RxBroadcstByte =%12d\n", (INT)sSTAT.ullRxBroadcastBytes);  	    printf("RsrRxFragment  =%12d\n\n", (INT)sSTAT.dwRsrRxFragment);  	      	    printf("TsrTotalRetry  =%12d  ", (INT)sSTAT.dwTsrTotalRetry[1]);  	    printf("TsrOnceRetry   =%12d\n", (INT)sSTAT.dwTsrOnceRetry[1]);  	    printf("TsrMoreOneRetry=%12d  ", (INT)sSTAT.dwTsrMoreThanOnceRetry[1]);  	    printf("TsrRetry       =%12d\n", (INT)sSTAT.dwTsrRetry[1]);  	    printf("TsrACKData     =%12d  ", (INT)sSTAT.dwTsrACKData[1]);  	    printf("TsrErr         =%12d\n", (INT)sSTAT.dwTsrErr[1]);  	    printf("AllTsrOK       =%12d  ", (INT)sSTAT.dwAllTsrOK[1]);  	    printf("TsrRetryTimeout=%12d\n", (INT)sSTAT.dwTsrRetryTimeout[1]);  	    printf("TsrTxTimeout   =%12d  ", (INT)sSTAT.dwTsrTransmitTimeout[1]);  	    printf("TsrTxPacket    =%12d\n", (INT)sSTAT.dwTsrTxPacket[1]);  	    printf("TsrTxOctet     =%12d  ", (INT)sSTAT.dwTsrTxOctet[1]);  	    printf("TsrBroadcast   =%12d\n", (INT)sSTAT.dwTsrBroadcast[1]);  	    printf("TsrMulticast   =%12d  ", (INT)sSTAT.dwTsrMulticast[1]);  	    printf("TsrDirected    =%12d\n", (INT)sSTAT.dwTsrDirected[1]);/*  	      	    printf("CntRxDataErr   =%12d  ", (INT)sSTAT.dwCntRxDataErr);  	    printf("CntDecryptErr  =%12d\n", (INT)sSTAT.dwCntDecryptErr);  	    printf("CntRxICVErr    =%12d  ", (INT)sSTAT.dwCntRxICVErr);  	    printf("RxErrorDesc    =%12d\n", (INT)sSTAT.idxRxErrorDesc);*/  	      	        }            	return result;}/*+ * * Description: * *  This function displays usages of the wetctl utility. * * * Parameters: *  In: *      void *  Out: *      none * * Return Value: none *-*/VOID vCmdUsage(void){	printf("\nUtility for Solomon-A/B/G wireless cards: %s Version %s\n", AppName, VERSION);	printf("Usage: %s interface command\n\n", AppName);	printf("   where \"interface\" is the name of a network interface\n");	printf("   such as eth0 or eth1.. Running 'ifconfig' will list all\n");	printf("   network interfaces.\n\n");	printf("Example: %s eth0 link\n\n", AppName);		printf("Command List:               \n");		printf("   scan : scan all channels to collect available BSS(AP)\n");	printf("   list : show all BSS(AP) list\n");	printf("   link : show link status\n");		printf("   mib  : show 802.11 mib counters\n");//	printf("   stop : turn off radio\n");//	printf("   stat : show statistics\n");//	printf("   nodes: show station nodes\n");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -