Linuxの「sys/ioctl.h」ヘッダ

Linuxの「sys/ioctl.h」ヘッダ

私はここにいるLinux 2.6.32-26-generic

"ioctl.h"リスナーファイルのLinuxソースコードを見ると、さまざまなバリエーションを見ることができます。 (他のプラットフォームの場合)。つまり

./fs/ocfs2/ioctl.h
./fs/btrfs/ioctl.h
./fs/ceph/ioctl.h
./include/config/i2o/config/old/ioctl.h
./include/asm-generic/ioctl.h
./include/linux/hdlc/ioctl.h
./include/linux/ioctl.h
./drivers/video/via/ioctl.h
./drivers/staging/vt6655/ioctl.h
./drivers/staging/vt6656/ioctl.h
./arch/ia64/include/asm/ioctl.h
./arch/h8300/include/asm/ioctl.h
./arch/microblaze/include/asm/ioctl.h
./arch/score/include/asm/ioctl.h
./arch/avr32/include/asm/ioctl.h
./arch/alpha/include/asm/ioctl.h
./arch/x86/include/asm/ioctl.h
./arch/m32r/include/asm/ioctl.h
./arch/mn10300/include/asm/ioctl.h
./arch/sparc/include/asm/ioctl.h
./arch/powerpc/include/asm/ioctl.h
./arch/m68k/include/asm/ioctl.h
./arch/sh/include/asm/ioctl.h
./arch/xtensa/include/asm/ioctl.h
./arch/mips/include/asm/ioctl.h
./arch/s390/include/asm/ioctl.h
./arch/arm/include/asm/ioctl.h
./arch/blackfin/include/asm/ioctl.h
./arch/frv/include/asm/ioctl.h
./arch/parisc/include/asm/ioctl.h
./arch/cris/include/asm/ioctl.h

しかし、ファイルが次のように含まれていることがわかります。#include <sys/ioctl.h>

このマッピングはどのように機能しますか?

ベストアンサー1

私は含まれているファイルが/usr/include/sys/ioctl.h(/usr/src/linuxや他のファイルではない)と思います。私のシステムでは、カーネルやカーネルヘッダではなくglibcに属しています。

実際、カーネルソースには何も含まれていません。 /usr/src/linux (または何でも) 内のヘッダーはカーネルのコンパイルにのみ使用されます。一部のソフトウェアでコンパイルするためにいくつかのカーネルヘッダが必要な場合は、通常、次のパッケージの一部である/usr/include/linux(および他のいくつかの)カーネルヘッダを使用します。kernel-headerslinux-headers

おすすめ記事