カーネルモジュールをプログラミングするときに、sys_sendtoなどのシステムコールを使用しようとしました。しかし、コンパイラは「sys_sendto」というシンボルは定義されていないと私に警告しました。私はヘッダーファイルsyscalls.hをinculdedしていると確信していますので、私を助けてくれてありがとう。 P.S:私のLinuxバージョンは2.6.32linuxモジュールでsystemcallsを使う方法
0
A
答えて
0
モジュールがsys_sendto()のようなカーネル内のシンボルにリンクするためには、それをカーネルがエクスポートする必要があります。すべてのシステムコールがエクスポートされるわけではありません。 here
0
http://www.ibm.com/developerworks/linux/library/l-system-calls/ ここでは、それらを記述して使用する方法について説明します。カーネルモードで実行する必要があるため、直接メソッド呼び出しでは使用されません。プロセッサはシステムコール番号をレジスタにロードし、システムコールを実行するためにカーネルが処理して処理するハードウェア割り込みを発行します。
関連する問題
- 1. LinuxでCLONE_SETTLSを使う方法
- 2. Linuxのアンドロイドスタジオで "gradlew"を使う方法
- 3. 1つのLinuxカーネルモジュールで関数を定義し、別のモジュールでそれを使う方法は?
- 4. モジュールで 'before_action'を使用する方法
- 5. LinuxでのAdobe Flex Apacheモジュール
- 6. どのような方法は、Linuxで
- 7. linuxでobjective-cを使う
- 8. Drupal 7でモジュールを使用してモジュールをインストールする方法は?
- 9. Linux上のApache用mod_jkモジュール
- 10. プロセスにフックするLinuxモジュール
- 11. Linuxモジュールのロード可能
- 12. xtermでvalgrindをgdbでLinux(redhat)で使用する方法は?
- 13. パッチファイルでenv varを使うためにlinux patch utilを入手する方法
- 14. importlib.import_moduleを使用してPythonでモジュールをインポートする方法
- 15. Module.exports =をTypescriptで使用するCommonJSモジュールをインポートする方法
- 16. 方法::署名、モジュール
- 17. fedora linux ---最初のlinuxモジュールをコンパイルする
- 18. 複数のモジュールでPythonのログを使用する方法
- 19. node.itモジュールを 'coffeescript'ファイルで使用する方法
- 20. GWTモジュール:テストフォルダ内でのみEntryPointを使用する方法は?
- 21. SilverStripeでモジュールをインストールして使用する方法
- 22. Angular 2アプリでangular2-local-storageモジュールを使用する方法
- 23. SAP CRMでCRM_ORDER_READ汎用モジュールを使用する方法?
- 24. CMakeでVC++モジュールを使用する方法
- 25. Linuxのファイルアクセス方法
- 26. Linuxヘッダ、モジュールを正しくエクスポートする
- 27. linux mintにpython3-venvモジュールをインストール
- 28. Javascript AMDモジュール:モジュール間でVisual Studio Intellisenseを取得する方法
- 29. Linuxでawesomium sdkを使用する方法
- 30. nasmを使用してLinuxでサウンドカードにアクセスする方法
ご回答ありがとうございます。ですから、これらのエクスポートされていないシステムコールシンボルを私のモジュールで使用する方法はありますか?もしそうでなければ、カーネルモードでソケットを使ってパケットを送信するには? –
モジュールが使用されるカーネルを制御する場合、カーネルにパッチを適用してエクスポートすることができます。それ以外の場合は、カーネルの将来のバージョンのみを使用する場合は、カーネルのメーリングリストを公式カーネルにエクスポートすることについて議論を開始することができます。私はどちらもオプションだと推測しているので、それをハックするにはhttp://www.zyztematik.com/?p=65を見てください – damjan