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

📄 sigio_app.c

📁 linux device driver example
💻 C
字号:
#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <sys/ioctl.h>#include <fcntl.h>#include <unistd.h>#include <signal.h>#define DEVICE_FILENAME  "/dev/sigio"int        dev;//-------------------------------------------------------------------------------// 汲疙 : 荐青捞 吝瘤等 橇肺技辑甫 促矫 荐青茄促.// 概俺 : 绝澜// 馆券 : 绝澜//-------------------------------------------------------------------------------static void sigio_handler( int signo ){    char  buff[128];    read( dev, buff, 1 );    printf( "SIGIO EVENT [%c]\n", buff[0] );}int main(){    struct sigaction sigact, oldact;    int    oflag;    sigact.sa_handler = sigio_handler;    sigemptyset( &sigact.sa_mask );    sigact.sa_flags = SA_INTERRUPT;    if( sigaction( SIGIO, &sigact,&oldact ) < 0 )    {        perror( "sigaction error : " );        exit(0);    }        dev = open( DEVICE_FILENAME, O_RDWR );    if( dev >= 0 )    {        fcntl( dev, F_SETOWN,getpid() );        oflag = fcntl( dev, F_GETFL );        fcntl( dev, F_SETFL, oflag | FASYNC );        while(1) ;                         close(dev);    }    return 0;}

⌨️ 快捷键说明

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