0
나는이 작업을 수행하는 몇 가지 예제 코드를 본 적이 :proc_entry-> write_proc에 인수가있는 ioctl을 사용한다고 알려주시겠습니까?
proc_entry->read_proc = module_read;
proc_entry->write_proc = module_write;
하지만, 내 모듈에서, 내가 사용했던 IOCTL을 대신 읽기 및 쓰기. 읽기
int mytimer_ioctl(struct inode *inode, struct file *file, unsigned int fcn, unsigned long args)
, "FCN은"IOCTL_GET_TIMER, 그리고 쓰기 위해, 내 "FCN"IOCTL_SET_TIMER 내입니다 : 여기 내 IOCTL 함수 프로토 타입입니다. 어쨌든
는 다음과 같이 할 수 있습니다 :proc_entry->read_proc = module_ioctl(IOCTL_GET_TIMER);
proc_entry->write_proc = module_ioctl(IOCTL_SET_TIMER);
을 그러나 "인수"인수를 전달하지?
또는 더 쉬운 방법은 module_read 및 module_write 함수를 작성하고 그 함수에 ioctl을 호출하는 것입니다.
도움 주셔서 감사합니다.
감사합니다, 나는 그것에 대해 연구 할 것입니다 ... 그러나, 나는 ioctl 호출이 * inode와 * file 입력을 필요로하기 때문에 어떻게 더 이상 전달할 수 있을지 확신하지 못합니다. – hahuang65
읽기 및 쓰기 호출은 "struct file * pfil"을 사용합니다. 그렇지 않습니까? 그렇다면 나는 그것이 "filp-> f_dentry-> d_inode"라고 믿는다. –