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

📄 mkridlist.c

📁 uClinux2.6上兼容PRISM2.0芯片组的USB设备驱动程序.
💻 C
字号:
/* src/prism2/ridlits/mkridlist.c** Generates an HTML and text file version of the PRISM2 to MibItem* Name Mapping List** Copyright (C) 1999 AbsoluteValue Systems, Inc.  All Rights Reserved.* --------------------------------------------------------------------** linux-wlan**   The contents of this file are subject to the Mozilla Public*   License Version 1.1 (the "License"); you may not use this file*   except in compliance with the License. You may obtain a copy of*   the License at http://www.mozilla.org/MPL/**   Software distributed under the License is distributed on an "AS*   IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or*   implied. See the License for the specific language governing*   rights and limitations under the License.**   Alternatively, the contents of this file may be used under the*   terms of the GNU Public License version 2 (the "GPL"), in which*   case the provisions of the GPL are applicable instead of the*   above.  If you wish to allow the use of your version of this file*   only under the terms of the GPL and not to allow others to use*   your version of this file under the MPL, indicate your decision*   by deleting the provisions above and replace them with the notice*   and other provisions required by the GPL.  If you do not delete*   the provisions above, a recipient may use your version of this*   file under either the MPL or the GPL.** --------------------------------------------------------------------** Inquiries regarding the linux-wlan Open Source project can be* made directly to:** AbsoluteValue Systems Inc.* info@linux-wlan.com* http://www.linux-wlan.com** --------------------------------------------------------------------** Portions of the development of this software were funded by * Intersil Corporation as part of PRISM(R) chipset product development.** --------------------------------------------------------------------*/#include <stdlib.h>#include <stdio.h>#include <string.h>#include <wlan/wlan_compat.h>#include <wlan/p80211types.h>#include <wlan/p80211meta.h>#include <wlan/p80211metamsg.h>#include <wlan/p80211metamib.h>#define	BUFF_LEN	(256)int main(int argc, char **argv){	FILE	*data_fptr;	FILE	*html_fptr;	FILE	*txt_fptr;	char	buff[BUFF_LEN + 2];	char	ifname[BUFF_LEN + 2];	char	ofname1[BUFF_LEN + 2];	char	ofname2[BUFF_LEN + 2];	char	*cptr;	char	*nptr;	if ( argc < 3 ) {		fprintf(stderr, "usage:\n");		fprintf(stderr, "    mkridlist <ifilename> < ofilename\n");		fprintf(stderr, "       ifilename - name of input file with extension\n");		fprintf(stderr, "       ofilename - name of output file w/o extension\n");		exit(0);	}	sprintf( ifname, "%s", argv[1] );	sprintf( ofname1, "%s.html", argv[2] );	sprintf( ofname2, "%s.txt", argv[2] );	if ( (data_fptr = fopen(ifname, "r")) == NULL ) {		fprintf(stderr, "Failed to open ridlist.dat\n");		exit(0);	}	if ( (html_fptr = fopen(ofname1, "w")) == NULL ) {		fprintf(stderr, "Failed to open %s\n", ofname1);		fclose(data_fptr);		exit(0);	}	if ( (txt_fptr = fopen(ofname2, "w")) == NULL ) {		fprintf(stderr, "Failed to open %s\n", ofname2);		fclose(html_fptr);		fclose(data_fptr);		exit(0);	}	/* write HTML tags */	fprintf(html_fptr, "<HTML>\n");	fprintf(html_fptr, "<HEAD>\n");	fprintf(html_fptr, "\t<TITLE>802.11 to PRISM2 RID Mapping List</TITLE>\n");	fprintf(html_fptr, "</HEAD>\n");	fprintf(html_fptr, "<BODY>\n");	fprintf(html_fptr, "<P>\n");	fprintf(html_fptr, "<B>doc/prism2/%s<BR>Copyright"		" (C) 2000 AbsoluteValue Software, Inc."		" All Rights Reserved.</B>\n", ofname1);	fprintf(html_fptr, "</P>\n");	fprintf(html_fptr, "<P>\n");	fprintf(html_fptr, "<BR>API - The document source for this RID is the API Enhancements Document\n");	fprintf(html_fptr, "</P>\n");	fprintf(html_fptr, "<P>\n");	fprintf(html_fptr, "<BR>PRO - The document source for this RID is the CW10 Programmer's Manual\n");	fprintf(html_fptr, "</P>\n");	fprintf(html_fptr, "<P>\n");	fprintf(html_fptr, "<BR>[1] - read mode is implemented internally within the driver\n");	fprintf(html_fptr, "</P>\n");	fprintf(html_fptr, "<P>\n");	fprintf(html_fptr, "<BR>[2] - This RID is implemented internally in the driver"		" during implementation of the Group Addresses RID (0xFC80)\n");	fprintf(html_fptr, "</P>\n");	fprintf(html_fptr, "<P>\n");	fprintf(html_fptr, "<BR>[3] - This RID is implemented internally in the driver\n");	fprintf(html_fptr, "</P>\n");	fprintf(html_fptr, "<P>\n");	fprintf(html_fptr, "<BR>\n");	fprintf(html_fptr, "</P>\n");	fprintf(html_fptr, "<P>\n");	fprintf(html_fptr, "<CENTER>\n");	fprintf(html_fptr, "<TABLE border=1>\n");	fprintf(html_fptr, "\t<TR>\n");	fprintf(html_fptr, "\t\t<TD valign=bottom><B>PRISM2<BR>RID<BR>VALUE</B>\n");	fprintf(html_fptr, "\t\t<TD valign=bottom><B>PRISM2<BR>RID<BR>NAME</B>\n");	fprintf(html_fptr, "\t\t<TD valign=bottom><B>STA</B>\n");	fprintf(html_fptr, "\t\t<TD valign=bottom><B>AP</B>\n");	fprintf(html_fptr, "\t\t<TD valign=bottom><B>802.11 MibItem Name</B>\n");	fprintf(html_fptr, "\t\t<TD valign=bottom><B>Doc<BR>Src</B>\n");	fprintf(html_fptr, "\t\t<TD valign=bottom><B>Implemented?</B>\n");	/* write text file column headings */	fprintf(txt_fptr, "doc/prism2/%s\n", ofname2);	fprintf(txt_fptr, " Copyright (C) 2000 AbsoluteValue Software, Inc."		" All Rights Reserved.\n\n\n");	fprintf(txt_fptr, "\nAPI - The document source for this RID is the API Enhancements Document\n");	fprintf(txt_fptr, "\nPRO - The document source for this RID is the CW10 Programmer's Manual\n");	fprintf(txt_fptr, "\n[1] - read mode is implemented internally within the driver\n");	fprintf(txt_fptr, "\n[2] - This RID is implemented internally in the driver"		" during implementation of the Group Addresses RID (0xFC80)\n");	fprintf(txt_fptr, "\n[3] - This RID is implemented internally in the driver\n");	fprintf(txt_fptr, "\n");	fprintf(txt_fptr,	"======"				"==="				"===================="				"==="				"==="				"==="				"==="				"==="				"====================================="				"==="				"==="				"==="				"=============\n");	fprintf(txt_fptr, "%-6.6s | %-20.20s | %-3.3s | %-3.3s | %-37.37s | %-3.3s | %s\n",		"PRISM2", "PRISM2", " ", " ", " ", " ", " ");	fprintf(txt_fptr, "%-6.6s | %-20.20s | %-3.3s | %-3.3s | %-37.37s | %-3.3s | %s\n",		"RID", "RID", " ", " ", " ", "Doc", " ");	fprintf(txt_fptr, "%-6.6s | %-20.20s | %-3.3s | %-3.3s | %-37.37s | %-3.3s | %s\n",		"VALUE", "NAME", "STA", "AP", "MibItem NAME", "Src", "Implemented?");	fprintf(txt_fptr,	"======"				"==="				"===================="				"==="				"==="				"==="				"==="				"==="				"====================================="				"==="				"==="				"==="				"=============\n");/* read the data file and produce HTML and text output */	while ( fgets( buff, BUFF_LEN + 1, data_fptr) != NULL ) {		cptr = buff;		fprintf(html_fptr, "\t<TR>\n");		/* get and print RID value */		nptr = strchr( cptr, ':' );		*nptr = '\0';		fprintf(txt_fptr, "%-6.6s | ", cptr);		if ( strlen( cptr) != 0 ) {			fprintf(html_fptr, "\t\t<TD valign=bottom>%s\n", cptr);		} else {			fprintf(html_fptr, "\t\t<TD valign=bottom><PRE>   </PRE>\n");		}		cptr = nptr + 1;		/* get and print RID name */		nptr = strchr( cptr, ':' );		*nptr = '\0';		fprintf(txt_fptr, "%-20.20s | ", cptr);		if ( strlen( cptr) != 0 ) {			fprintf(html_fptr, "\t\t<TD valign=bottom>%s\n", cptr);		} else {			fprintf(html_fptr, "\t\t<TD valign=bottom><PRE>   </PRE>\n");		}		cptr = nptr + 1;		/* get and print STA */		nptr = strchr( cptr, ':' );		*nptr = '\0';		fprintf(txt_fptr, "%-3.3s | ", cptr);		if ( strlen( cptr) != 0 ) {			fprintf(html_fptr, "\t\t<TD valign=bottom>%s\n", cptr);		} else {			fprintf(html_fptr, "\t\t<TD valign=bottom><PRE>   </PRE>\n");		}		cptr = nptr + 1;		/* get and print AP */		nptr = strchr( cptr, ':' );		*nptr = '\0';		fprintf(txt_fptr, "%-3.3s | ", cptr);		if ( strlen( cptr) != 0 ) {			fprintf(html_fptr, "\t\t<TD valign=bottom>%s\n", cptr);		} else {			fprintf(html_fptr, "\t\t<TD valign=bottom><PRE>   </PRE>\n");		}		cptr = nptr + 1;		/* get and print MibItem Name */		nptr = strchr( cptr, ':' );		*nptr = '\0';		fprintf(txt_fptr, "%-37.37s | ", cptr);		if ( strlen( cptr) != 0 ) {			fprintf(html_fptr, "\t\t<TD valign=bottom>%s\n", cptr);		} else {			fprintf(html_fptr, "\t\t<TD valign=bottom><PRE>   </PRE>\n");		}		cptr = nptr + 1;		/* get and print Document Source */		nptr = strchr( cptr, ':' );		*nptr = '\0';		fprintf(txt_fptr, "%-3.3s | ", cptr);		if ( strlen( cptr) != 0 ) {			fprintf(html_fptr, "\t\t<TD valign=bottom>%s\n", cptr);		} else {			fprintf(html_fptr, "\t\t<TD valign=bottom><PRE>   </PRE>\n");		}		cptr = nptr + 1;		/* get and print Implemented */		nptr = strchr( cptr, ':' );		*nptr = '\0';		fprintf(txt_fptr, "%s\n", cptr);		fprintf(txt_fptr,	"------"					"---"					"--------------------"					"---"					"---"					"---"					"---"					"---"					"-------------------------------------"					"---"					"---"					"---"					"-------------\n");		if ( strlen( cptr) != 0 ) {			fprintf(html_fptr, "\t\t<TD valign=bottom>%s\n", cptr);		} else {			fprintf(html_fptr, "\t\t<TD valign=bottom><PRE>   </PRE>\n");		}	}	fprintf(html_fptr, "</TABLE>\n");	fprintf(html_fptr, "</CENTER>\n");	fprintf(html_fptr, "</BODY>\n");	fprintf(html_fptr, "</HTML>\n");	fclose(txt_fptr);	fclose(data_fptr);	fclose(html_fptr);	return 0;}

⌨️ 快捷键说明

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