IOCTL을 사용하여 온도 센서용 장치 드라이버 코드를 작성해야 하는데 수많은 샘플 코드를 검색하던 중 헤더 파일에서 이러한 차이점을 발견하고 이에 대한 정확한 답변을 얻을 수 없다는 것을 발견했습니다. 내 코드를 어디에 사용해야 할지에 대한 단서를 얻을 수 있기를 바라며 여기에 게시됩니다.
답변1
sys/ioctl.h
ioctl
에 의존하는 프로그램을 작성할 때 사용하는 것입니다.ioctl
기능마지막으로 linux/ioctl.h
와 같은 것을 정의하는 포함합니다 _IOR
.
linux/ioctl.h
사용자 코드에서 직접 참조해서는 안 되지만 Linux 드라이버를 작성할 때 사용하는 것입니다.
기본적으로 를 보면 #include <sys/ioctl.h>
프로그램 코드를 보는 것이고, 을 보면 #include <linux/ioctl.h>
커널(장치 드라이버) 코드 또는 지나치게 열정적인 프로그램 코드를 보는 것입니다 #include
.
당신은 또한 볼 수 있습니다ioctl
인터페이스 작성에 대한 Linux 커널 문서.
(이 특별한 경우에는 의 사용자 및 커널 보기 linux/ioctl.h
가 동일하며 ioctl.h
Linux 커널의 UAPI의 일부입니다.)