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

📄 diag.c

📁 moxa多串口卡linux下的驱动源码
💻 C
字号:
/*****************************************************************************//* DIAG.C                                                                    *//*									     *//* Copyright (c) Moxa Technologies Inc. 1999. All Rights Reserved.	     *//*									     *//* Revision history:							     *//*     8/5/99   Casper                                                       *//*     11/20/02 George  Fix the problem when ports_num = 32 ports            *//*****************************************************************************/#include <stdio.h>#include <fcntl.h>#define DIAG_VER	"1.1"#include "../global.h"char	*szBoard[] = {        "",        "C218 Turbo/PCI",        "C218 Turbo",        "C320 Turbo/PCI",        "C320 Turbo",        "CP-204J"};int main(){	int	fd;	int	i, j;	int	ports;        int     major, calloutmajor;	char 	title_str[80];        moxa_board_conf moxa_boards[MAX_BOARDS];	sprintf(title_str,"\n== MOXA Intellio Family Multiport Board Status Utility(%s) ==\n", DIAG_VER);        	printf(title_str);	if((fd = open("/dev/moxa", O_RDWR)) < 0){	    printf("Open /dev/moxa fail.\n");            printf("Please make sure loading driver successfully and run \"mxmknod\" to create /dev/moxa again.\n");	    return 1;	}	if(ioctl(fd, MOXA_GET_MAJOR, &major)<0){            printf("Can't get tty major number.\n");            close(fd);            return 1;        }        printf("Device Major Number= %d.\n", major);        	if(ioctl(fd, MOXA_GET_CUMAJOR, &calloutmajor)<0){            printf("Can't get callout device major number.\n");            close(fd);            return 1;        }        printf("Callout Device Major Number= %d.\n\n", calloutmajor);	if(ioctl(fd, MOXA_GET_CONF, moxa_boards)<0){            printf("Can't get driver configuration.\n");            close(fd);            return 1;        }	for(i=0; i<MAX_BOARDS; i++){	    if(moxa_boards[i].boardType == 0)	        continue;            if(moxa_boards[i].busType==MOXA_BUS_TYPE_ISA){                if((moxa_boards[i].boardType == MOXA_BOARD_C320_PCI) ||                   (moxa_boards[i].boardType == MOXA_BOARD_C320_ISA)){                    printf("Board %d : %s, %d ports\n", i+1,                          szBoard[moxa_boards[i].boardType],                          moxa_boards[i].numPorts);                    if((moxa_boards[i].numPorts<=0) ||                        (moxa_boards[i].numPorts > MAX_PORTS_PER_BOARD)){ /* modified by george_liu 11/20/2002 */                        printf("\t<Port number invalid, please run moxaload first.>\n");                    }                }else{                    printf("Board %d : %s\n", i+1,                          szBoard[moxa_boards[i].boardType],                          moxa_boards[i].numPorts);                }            }else{                if((moxa_boards[i].boardType == MOXA_BOARD_C320_PCI) ||                   (moxa_boards[i].boardType == MOXA_BOARD_C320_ISA)){                    printf("Board %d : %s (BusNo=%d,DevNo=%d), %d ports\n",                               i+1,                               szBoard[moxa_boards[i].boardType],                               moxa_boards[i].pciInfo.busNum,                               moxa_boards[i].pciInfo.devNum,                               moxa_boards[i].numPorts);                    if((moxa_boards[i].numPorts<=0) ||                        (moxa_boards[i].numPorts > MAX_PORTS_PER_BOARD)){ /* modified by george_liu 11/20/2002 */                        printf("\t<Port number invalid, please run moxaload first.>\n");                    }                }else{                    printf("Board %d : %s (BusNo=%d,DevNo=%d)\n",                               i+1,                               szBoard[moxa_boards[i].boardType],                               moxa_boards[i].pciInfo.busNum,                               moxa_boards[i].pciInfo.devNum);                }            }            printf("\tMemory Bank = 0x%lX\n\n", moxa_boards[i].baseAddr);	}	close(fd);}

⌨️ 快捷键说明

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