?? diag.c
字號:
/*****************************************************************************//* DIAG.C *//* *//* Copyright (c) Moxa Technologies Inc. 1999. All Rights Reserved. *//* *//* Revision history: *//* 08/05/99 Casper *//* 03/09/2001 Casper add Industio *//* 03/20/2003 George Modified to support PC104 Communication Module *//*****************************************************************************/#include <stdio.h>#include <fcntl.h>#define DIAG_VER "1.1"#include "../global.h"#define MOXA_GET_MAJOR (MOXA + 63)#define MOXA_GET_CUMAJOR (MOXA + 64)int main(){ int fd; int i, j; int ports; int calloutmajor, major; char title_str[80]; struct mxpcdrv_hwconf mxpcdrvcfg[MXPCDRV_BOARDS]; sprintf(title_str, "\n== MOXA PC104 Communication Module Status Utility(%s) ==\n", DIAG_VER); printf(title_str); if((fd = open("/dev/mxpcdrv", O_RDWR)) < 0){ printf("Open /dev/mxpcdrv fail\n"); printf("Please load driver first.\n"); return 1; } if(ioctl(fd, MOXA_GET_MAJOR, &major)<0){ printf("Can't get tty major number.\n"); close(fd); return 1; } printf("Tty 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, mxpcdrvcfg)<0){ printf("Can't get driver configuration.\n"); close(fd); return 1; } for(i=0; i<MXPCDRV_BOARDS; i++){ if(mxpcdrvcfg[i].board_type == -1) continue; ports = mxpcdrv_numports[mxpcdrvcfg[i].board_type-1]; if((mxpcdrvcfg[i].pciInfo.busNum==0) && (mxpcdrvcfg[i].pciInfo.devNum==0)){ //ISA board printf("Board %d : %s\n", i+1, mxpcdrv_brdname[mxpcdrvcfg[i].board_type-1]); for(j=0; j<ports && j<MXPCDRV_PORTS_PER_BOARD; j++){ printf("\tPort %d: 0x%x, max. baud rate = %ld bps.\n", j+1, mxpcdrvcfg[i].ioaddr[j], mxpcdrvcfg[i].MaxCanSetBaudRate[j]); }; }else{ printf("Board %d : %s (BusNo=%d, DevNo=%d)\n", i+1, mxpcdrv_brdname[mxpcdrvcfg[i].board_type-1], mxpcdrvcfg[i].pciInfo.busNum, mxpcdrvcfg[i].pciInfo.devNum >> 3); for(j=0; j<ports && j<MXPCDRV_PORTS_PER_BOARD; j++){ printf("\tPort %d: 0x%x, max. baud rate = %ld bps.\n", j+1, mxpcdrvcfg[i].ioaddr[j], mxpcdrvcfg[i].MaxCanSetBaudRate[j]); }; } printf("\n"); } close(fd); return 0;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -