socket 으로 열고 ioctl로 명령을 보낼 때--- 질문 있습니다!!!

cshmax의 이미지

ipTIME station 소스 가지고 뭐 좀 해보려고 하는데요

APP에서
socket으로 열고
ioctl 명령을 보내면

dev->open = rt28xx_open;
dev->stop = rt28xx_close;
dev->do_ioctl = rt28xx_ioctl; 이렇게 등록 되어 있는 rt28xx_ioctl()가 호출되는 건가요?

그런데 rt28xx_ioctl 함수 안에서 pirntk를 찍어놓고
APP에서 ioctl명령을 보내도 아무것도 안 나와서..

int sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
struct ifreq req;

strcpy(req.ifr_name, "ra0");

if (ioctl(sock, IOCTL_COMMAND, &req)<0)
{
/* deal with error */
}

위와 같은 방법으로 APP에서 ioctl명령을 보내면
net 드라이버에서 rt28xx_ioctl()이 호출되고
그 안에서 switch case 로 command 별로 명령을 처리해 주고 싶은데

이렇게 하는게 맞나요?