2012-03-28 40 views
3

我想知道是否有一個宏可以爲我的設備分配一個linux當前沒有使用的隨機'魔術'數字。這顯然是爲了便攜性。此外,如果這是不可能的,我想知道我在哪裏可以找出哪些幻數不使用。我想要諮詢的文本文件我稱爲ioctl-number.txt,但我只能在我下載的源代碼樹中找到這些文件...而不是我實際運行的編譯的內核。找到這些文件可能隱藏在編譯版本中的位置會很有趣。我如何爲ioctl選擇一個好的魔術/型號?

感謝您的幫助!

+2

有一篇[文章](http://linux.die.net/lkmpg/x892.html),帶來有關這個問題的有趣信息。 – karlphillip 2012-03-28 21:11:18

回答

2

您可以選擇一個現有的ioctl宏,您的設備驅動程序不會(也不會)使用它,並將其值分配給您需要的ioctl的宏?

我對ioclt如何與設備驅動程序有關的知識有限,所以也許這不起作用。

你可以看看另一個具有自定義ioctl值的設備驅動程序的源代碼,並查看他們如何選擇他們的數字嗎?也許有一個操作系統沒有使用的範圍,所以它們可以讓每個設備驅動程序解釋它的意願。

+0

我試圖做一個未使用的cmd號碼,以便ioctl知道哪個io操作要在什麼設備上執行。 cmd號碼不是一個宏,而是一個在整個系統中必須保持唯一的號碼。沒有其他設備可以使用與我的設備使用的cmd號碼相同的另一個cmd號碼。它就像爲你的設備分配設備號碼一樣,除了沒有我知道的宏會找到一個隨機的「魔術」號碼。這個神奇的數字對應於設備本身,但不知何故它仍然與設備號碼不同。我如何找到未使用的魔法#號? – 2012-03-29 00:05:26