struct blkid_struct_devはどこで定義されていますか?

struct blkid_struct_devはどこで定義されていますか?

blkid.h 形式の定義は次のとおりです。

typedef struct blkid_struct_dev *blkid_dev;

これは、blkid.h に blkid_struct_dev タグが表示される唯一のケースです。

grep -rl blkid_struct_dev /usr/include

/usr/include/blkid/blkid.hのみが返されます。だから私は構造体が私がインストールしていない-devパッケージで定義されていると仮定します(ただし、私のSlackwareボックスの他の場所には表示されず、Slackwareはパッケージにすべてのヘッダーを含めます)。

この構造はどこで定義されていますか?

答え1

Ubuntu PCでも同じ問題が発生し、構造体宣言だけが見つかりました。定義はutil-linuxソースコードのblkidP.hファイルにあることがわかりました。このライブラリを使用してプログラムをコンパイルするときは、blkid.hの宣言のみが必要なので、blkidP.hは必要ありません。ライブラリをコンパイルするだけです。

関連情報