0
我有要求在用戶空間編寫一個Linux設備驅動程序。如何在Linux的用戶空間庫中捕獲系統調用?
如何編寫一個庫,當鏈接到應用程序時,該庫可以處理對特定設備的系統調用。
應用程序應該能夠將諸如/dev/mydev0
設備上使用open()
,read()
,write()
,ioctl()
,但這些調用應該在用戶空間庫,而不是一個內核模塊終止。
請告知,如果這是可能的,我該如何做到這一點。
我有要求在用戶空間編寫一個Linux設備驅動程序。如何在Linux的用戶空間庫中捕獲系統調用?
如何編寫一個庫,當鏈接到應用程序時,該庫可以處理對特定設備的系統調用。
應用程序應該能夠將諸如/dev/mydev0
設備上使用open()
,read()
,write()
,ioctl()
,但這些調用應該在用戶空間庫,而不是一個內核模塊終止。
請告知,如果這是可能的,我該如何做到這一點。
您可以捕獲使用通常的'LD_PRELOAD'技巧等系統調用的C-包裝;你不能直接捕獲'int 80' /'sysenter'指令(也就是說,如果有人調用了「手動」系統調用,而不通過libc包裝器)。 –
嗨,請您詳細說明這些LD_PRELOAD「技巧」是如何工作的?這可能是我可以使用的東西。 –
http://superuser.com/a/370054/25859 –