0

skb 経由で構造体を転送したいカーネル モジュールに取り組んでいます。これは、struct の各データ要素を skb に入れることで実現できます。しかし、私の質問は次のとおりです。完全な構造を skb に一度に配置して送信できますか?

4

1 に答える 1

1

構造体全体へのポインターを取得し、その内容をバッファーに memcpy するだけです。

/* skb_put returns a pointer to the beginning of the data area in the skb*/
unsigned char *skb_data = skb_put(skb, size_of_data);
unsigned char *your_data = (unsigned char *) your_struct;
memcpy(skb_data, your_data, size_of_data);

もちろん、skb に十分なデータ領域があることを確認してくださいskb_tailroom。関数を使用してそれを行うことができます。

于 2013-07-10T08:15:52.847 に答える