Linux ioctl, 디바이스를 제어하는 전용 채널
·
Dev/Linux
`read()`/`write()`로는 데이터를 주고받을 수 있지만, "이 센서의 샘플링 레이트를 변경해줘" 같은 제어 명령은 어떻게 전달할까요?그 답이 `ioctl`입니다.1. ioctl이 왜 필요한가?Linux에서 디바이스와 통신하는 기본 방법은 `read()`와 `write()`입니다.그런데 이 두 가지로 표현하기 어려운 명령들이 있습니다."샘플링 레이트를 1000Hz로 설정해줘""현재 온도를 읽어줘""버퍼를 초기화해줘""카운터 값을 99로 교환하고 기존 값을 돌려줘"이런 디바이스 고유의 제어 명령을 전달하는 시스템 콜이 `ioctl`(Input/Output Control)입니다./* 유저스페이스에서 호출하는 방식 */int ioctl(int fd, unsigned long request, void ..