usb.c
来自「主要是实现在linux操作系统中对实现USB事件的监测。」· C语言 代码 · 共 31 行
C
31 行
#include <stdlib.h>
#include <sys/msg.h>
#include <sys/ipc.h>
#include <sys/types.h>
#include <string.h>#define MSG_KEY 0x780078 //定义IPC消息key
//定义IPC消息传送的内容
typedef struct _msgcontent{
char szAction[64]; //USB产生的动作
char szDevice[64]; //USB设备名称
}UMSGCONTENT;
typedef struct _umsg{
long msgtype;
UMSGCONTENT content;
}UMSG;
int main(){
char *pDevice,*pAction;
UMSG umsg;
int msgid;
if((msgid = msgget(MSG_KEY,IPC_CREAT|0666))==-1) return 1; //取得IPC管道
pAction = getenv("ACTION"); //取得udev产生的动作,
pDevice = getenv("DEVNAME");//取得设备名称如/dev/sda
umsg.msgtype = 1;
strcpy(umsg.content.szAction,pAction);
strcpy(umsg.content.szDevice,pDevice);
msgsnd(msgid,&umsg,sizeof(UMSGCONTENT),IPC_NOWAIT);
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?