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

📄 read_handler.c

📁 该代码为linux下通过usb驱动实现的无线网络驱动程序,在2.6.18的内核下调试通过
💻 C
字号:
#include <form.h>
#include <stdio.h>
#include "macro.h"
#include "TextForm.h"
#include "ioctl_op.h"
#include "utils.h"

extern FIELD *field[FIELD_CNT+1]; //The last one must be NULL
extern FORM *my_form;
void Handle_READ(char *ifname) {
	char *p1,*p2;
	char msgbuf[1024];
	char fbuf[2][10];
	int setaddr;
	int setval;
	int field_idx;
	int ret;
	field_idx = field_index(current_field(my_form));
	memset(fbuf,0,sizeof(fbuf));
	switch (field_idx) {
		case CR_NAME:
		case CR_VALUE:
			p1 = field_buffer(field[CR_NAME],0);
			p2 = field_buffer(field[CR_VALUE],0);
			strncpy(fbuf[0],p1,9);
			strncpy(fbuf[1],p2,9);
			rtrim(fbuf[0]);
			rtrim(fbuf[1]);
			sscanf(fbuf[0],"%x",&setaddr);
			sscanf(fbuf[1],"%x",&setval);
            if(setaddr > 0x1000) {
                SetMessage("Invalid CR");
                SetResult("Error");
                return ;
            }

			sprintf(msgbuf,"Get PHY CR:%03x,  Value:%08x",setaddr,setval);
			SetMessage(msgbuf);
			ret = gDevVal(ifname,"RDPhy",setaddr,setval);
			sprintf(msgbuf,"%08x",ret);
			if(ret < 0) 
				sprintf(msgbuf,"%08x","Get Device Value Fail");
			SetResult(msgbuf);	
			
			break;
		case ADDR_NAME :
		case ADDR_VALUE:
            p1 = field_buffer(field[ADDR_NAME],0);
            p2 = field_buffer(field[ADDR_VALUE],0);
            strncpy(fbuf[0],p1,9);
            strncpy(fbuf[1],p2,9);
            rtrim(fbuf[0]);
            rtrim(fbuf[1]);
            sscanf(fbuf[0],"%x",&setaddr);
            sscanf(fbuf[1],"%x",&setval);
            if(setaddr > 0x1000) {
                SetMessage("Invalid Address");
                SetResult("Error");
                return ;
            }

            sprintf(msgbuf,"Set MAC ADDR:%03x,  Value:%08x",setaddr,setval);
            SetMessage(msgbuf);
            ret = gDevVal(ifname,"RDMAC",setaddr,setval);
			sprintf(msgbuf,"%08x",ret);
            if(ret < 0)
                sprintf(msgbuf,"%s","Get Device Value Fail");
            SetResult(msgbuf);


			break;
		default:
			SetMessage("Serious Error!! Unexpect Field Index");
	}	
}

⌨️ 快捷键说明

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