<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 利用udev、sys動態(tài)創(chuàng)建linux設(shè)備結(jié)點

          利用udev、sys動態(tài)創(chuàng)建linux設(shè)備結(jié)點

          作者: 時間:2012-08-27 來源:網(wǎng)絡(luò) 收藏

          在Linux2.6內(nèi)核中,devfs被認(rèn)為是過時的方法,并最終被拋棄,取代了它。Devfs的一個很重要的特點就是可以。那我們現(xiàn)在如何通過文件系統(tǒng)呢?

          本文引用地址:http://www.ex-cimer.com/article/148527.htm

          下面通過一個實例,說明、的方法。注意代碼中紅色的部分是為了實現(xiàn)動態(tài)創(chuàng)建設(shè)備結(jié)點添加的。

          #include

          #include

          #include

          #include

          #include

          #include

          #include

          MODULE_LICENSE (GPL);

          int hello_major = 252;

          int hello_minor = 0;

          int number_of_devices = 1;

          char data[50]=foobar not equal to barfoo;

          STruct cdev cdev;

          dev_t dev = 0;

          staTIc int hello_open (struct inode *inode, struct file *file)

          {

          printk (KERN_INFO Hey! device openedn);

          return 0;

          }

          static int hello_release (struct inode *inode, struct file *file)

          {

          printk (KERN_INFO Hmmm... device closedn);

          return 0;

          }

          ssize_t hello_read (struct file *filp, char *buff, size_t count, loff_t *offp)

          {

          ssize_t result = 0;

          if (copy_to_user (buff, data, sizeof(data)-1))

          result = -EFAULT;

          else

          printk (KERN_INFO wrote %d bytesn, count);

          return result;

          }

          ssize_t hello_write (struct file *filp, cONst char *buf, size_t count, loff_t *f_pos)

          {

          ssize_t ret = 0;

          printk (KERN_INFO Writing %d bytesn, count);

          if (count>127) return -ENOMEM;

          if (count0) return -EINVAL;

          if (copy_from_user (data, buf, count)) {

          ret = -EFAULT;

          }

          else {

          data[127]='看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();