📄 diag.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 + -