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

📄 diag.c

📁 isa总线设备
💻 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 + -