2016-03-25 14 views
0

IBMが提供するTPM 2.0 Simulatorがあり、ソケットを介して通信します。私は特定のポートでlocahostに接続し、その接続を介して私のコマンドを送信する必要があります。Linuxカーネルモジュールのsys/socket.hの置き換え?

私はハードウェアTPMを持っているかのように使いたいと思っています。だから、私はカーネルモジュールを書いて、これの文字デバイスドライバを/dev/tpm0の下に提供すると思った。

これは基本的にプロキシです。受信したすべてのコマンドをシミュレータに送信し、応答をリレーします。

これは私が書いたユーザモードアプリケーションを使用してこのタスクには既に成功しており、すでに正常にシミュレータに接続されています。socketが必要です。

私が書いたドライバにこれを転送すると、makeファイルが文句を言うと、sys/socket.hが見つかりません。

私がすでに聞いたことで、いくつかのライブラリはユーザーモードでしか使用できないと聞きましたが、私はsys/socket.hがその1つであると仮定します。

それでは、カーネルの置き換えは何ですか?私は、カーネルモジュールでサーバーを構成する方法を説明している多くの記事を読んだが、クライアント上には何も書いていない。

+0

カーネルモジュールを記述する必要はありません。たとえば、[here](http://serverfault.com/a/384756/166536)のように 'socat'コマンドを使うことができます。 – hek2mgl

+0

@ hek2mglあなたはそれについて詳述できますか? – Minix

答えて

0

これは役立つはず:

をサンプルTCPサーバはカーネルで動作します:

https://gist.github.com/llj098/752417

+0

私もこれを見つけました。しかし、古い 'struct msghdr'インタフェースを使用しています。 'msg_iov'メンバはカーネル> 3.19でこれ以上使用されません。 – Minix

関連する問題