亚洲网站在线免费观看,欧美性运动视频免费观看网站,国产精品爽爽久久,熟女少妇丰满一区二区

問答

為什么起亞k2 u盤插上不能聽歌

提問者:TAR772013-05-30 00:00

最佳答案

獲得U盤的插入或者拔取得信息的傳統方法是在內核級運行hotplug程序,相關參數通過環境變量傳遞過來,再由hotplug通知其他關注hotplug的應用程序。這樣的做法效率有些低,現在通過一種特殊類型的socketnetlink實現獲取U盤拔插的信息。netlink專門用于內核空間和用戶空間的異步通信。下面的例子可以監聽內核的hotplug事件,源代碼如下: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<ctype.h> #include<sys/un.h> #include<sys/ioctl.h> #include<sys/socket.h> #include<linux/types.h> #include<linux/netlink.h> #include<errno.h>#defineUEVENT_BUFFER_SIZE2048staticintinit_hotplug_sock(void);intmain(intargc,char*argv[]) { inthotplug_sock=init_hotplug_sock(); while(1){ charbuf[UEVENT_BUFFER_SIZE*2]={0}; recv(hotplug_sock,&buf,sizeof(buf),0); printf("%s
",buf);} return0; }staticintinit_hotplug_sock(void) { structsockaddr_nlsnl; constintbuffersize=16*1024*1024; intretval;memset(&snl,0x00,sizeof(structsockaddr_nl)); snl.nl_family=AF_NETLINK; snl.nl_pid=getpid(); snl.nl_groups=1; inthotplug_sock=socket(PF_NETLINK,SOCK_DGRAM,NETLINK_KOBJECT_UEVENT);if(hotplug_sock==-1){ printf("errorgettingsocket:%s",strerror(errno)); return-1; }/*setreceivebuffersize*/ setsockopt(hotplug_sock,SOL_SOCKET,SO_RCVBUFFORCE,&buffersize,sizeof(buffersize)); retval=bind(hotplug_sock,(structsockaddr*)&snl,sizeof(structsockaddr_nl));if(retval<0){ printf("bindfailed:%s",strerror(errno)); close(hotplug_sock); hotplug_sock=-1; return-1; }returnhotplug_sock; }

回答者:lukiii2016-05-30 00:00

起亞K5相關問題

相關閱讀

起亞K5頻道

報價:13.98-20.68
級別:中型車
排量:1.5T2.0T
變速箱:雙離合自動

車友關注

最新標簽

按字母分類:
ABCDEFGHIJKLMNOPQRSTWXYZ0-9