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

📄 athctrl.c.svn-base

📁 最新之atheros芯片driver source code, 基于linux操作系统,內含atheros芯片HAL全部代码
💻 SVN-BASE
字号:
/*- * Copyright (c) 2002-2004 Gunter Burchardt, Local-Web AG * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer, *    without modification. * 2. Redistributions in binary form must reproduce at minimum a disclaimer *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any *    redistribution must be conditioned upon including a substantially *    similar Disclaimer requirement for further binary redistribution. * 3. Neither the names of the above-listed copyright holders nor the names *    of any contributors may be used to endorse or promote products derived *    from this software without specific prior written permission. * * Alternatively, this software may be distributed under the terms of the * GNU General Public License ("GPL") version 2 as published by the Free * Software Foundation. * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * * $Id$ *//* * Simple Atheros-specific tool to inspect and set atheros specific values * athctrl [-i interface] [-d distance] * (default interface is wifi0).   */#include <sys/types.h>#include <sys/file.h>#include <getopt.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <err.h>#include <net/if.h>static intsetsysctrl(const char *dev, const char *control , u_long value){	char buffer[256];	FILE * fd;	snprintf(buffer, sizeof(buffer), "/proc/sys/dev/%s/%s", dev, control);	fd = fopen(buffer, "w");	if (fd != NULL) {		fprintf(fd, "%li", value);		fclose(fd);	} else		fprintf(stderr, "Could not open %s for writing!\n", buffer);	return 0;}static void usage(void){	fprintf(stderr,	    "Atheros driver control\n"	    "Copyright (c) 2002-2004 Gunter Burchardt, Local-Web AG\n"	    "\n"	    "usage: athctrl [-i interface] [-d distance]\n"	    "\n"	    "options:\n"	    "   -h   show this usage\n"	"   -i   interface (default interface is wifi0)\n"	    "   -d   specify the maximum distance of a sta or the distance\n"	"        of the master\n");	exit(1);}intmain(int argc, char *argv[]){	char device[IFNAMSIZ + 1];	int distance = -1;	int c;	strncpy(device, "wifi0", sizeof (device));	for (;;) {	    	c = getopt(argc, argv, "d:i:h");	    	if (c < 0)			break;	    	switch (c) {	    	case 'h':			usage();			break;	    	case 'd':			distance = atoi(optarg);			break;	    	case 'i':			strncpy(device, optarg, sizeof (device));			break;	    	default:			usage();			break;	    	}	}	if (distance >= 0) {		printf("Setting distance on interface %s to %i meters\n",			device, distance);		setsysctrl(device, "distance", distance);	} else		usage();	return 0;}

⌨️ 快捷键说明

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