亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2360 | 回復(fù): 1
打印 上一主題 下一主題

LDD3有關(guān)字符驅(qū)動(dòng) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-09-12 14:03 |只看該作者 |倒序?yàn)g覽
292 ssize_t scull_read(struct file *filp, char __user *buf, size_t count,
293                 loff_t *f_pos)
294 {
295         struct scull_dev *dev = filp->private_data;
296         struct scull_qset *dptr;        /* the first listitem */
297         int quantum = dev->quantum, qset = dev->qset;
298         int itemsize = quantum * qset; /* how many bytes in the listitem */
299         int item, s_pos, q_pos, rest;
300         ssize_t retval = 0;
301
302         if (down_interruptible(&dev->sem))
303                 return -ERESTARTSYS;
304         if (*f_pos >= dev->size)
305                 goto out;
306         if (*f_pos + count > dev->size)
307                 count = dev->size - *f_pos;
308
309         /* find listitem, qset index, and offset in the quantum */
310         item = (long)*f_pos / itemsize;
311         rest = (long)*f_pos % itemsize;
312         s_pos = rest / quantum; q_pos = rest % quantum;
313
314         /* follow the list up to the right position (defined elsewhere) */
315         dptr = scull_follow(dev, item);
316
317         if (dptr == NULL || !dptr->data || ! dptr->data[s_pos])
318                 goto out; /* don't fill holes */
319
320         /* read only up to the end of this quantum */
321         if (count > quantum - q_pos)
322                 count = quantum - q_pos;
323
324         if (copy_to_user(buf, dptr->data[s_pos] + q_pos, count)) {
325                 retval = -EFAULT;
326                 goto out;
327         }
328         *f_pos += count;
329         retval = count;
330
331   out:
332         up(&dev->sem);
333         return retval;
334 }
335


其中的line:310---line:316的那幾個(gè)變量是什么意思?看著有點(diǎn)暈,勞駕哪位給講講,先謝了

論壇徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
2 [報(bào)告]
發(fā)表于 2008-09-12 14:17 |只看該作者
ldd3中,這個(gè)訪問的位置要定位量子集,以及該量子集中的偏移。

  1.           /* find listitem, qset index, and offset in the quantum */
  2. 310         item = (long)*f_pos / itemsize; /* 定位item鏈,即該f_pos 在哪一個(gè)鏈中 */
  3. 311         rest = (long)*f_pos % itemsize; /* 定位該f_pos 在item鏈中的偏移 */
  4. 312         s_pos = rest / quantum; q_pos = rest % quantum; /* 定位特定量子集以及在該量子集中的偏移 */
  5.                 /* 注意,一個(gè)item包含了多個(gè)量子集 */
復(fù)制代碼

后面的就比較簡單了,我就不說了,呵呵。藍(lán)豆兄研究得很細(xì)致啊
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP