1
광 디스크를 사용하는 소프트웨어를 배포하고 있으며 기본 속도로는 너무 시끄 럽기 때문에 수용 할 수 없습니다. 내 목표는 ioctl을 사용하여 디스크의 속도를 줄이는 것이지만/Volumes/MyDisk/Application에서/dev/disk (n)을 찾는 방법을 모르겠습니다.OSX CD 속도 받기 (ioctl)
다음은 지금까지 가지고 있지만 디스크 경로를 하드 코딩하지 않으려 고합니다.
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <IOKit/storage/IOCDMediaBSDClient.h>
int main() {
// ------------------------------------
// Open Drive
// ------------------------------------
int fd = open("/dev/disk1",O_RDONLY);
if (fd == -1) {
printf("Error opening drive \n");
exit(1);
}
// ------------------------------------
// Get Speed
// ------------------------------------
unsigned int speed;
if (ioctl(fd,DKIOCCDGETSPEED,&speed)) {
printf("Must not be a CD \n");
}
else {
printf("CD Speed: %d KB/s \n",speed);
}
// ------------------------------------
// Close Drive
// ------------------------------------
close(fd);
return 0;
}
예제 코드를 제공해 주셔서 감사합니다! 이것은 최상의 솔루션 일 것 같은데. 나는 또한 볼륨에 statfs.f_mntfromname을 사용하는 방법을 찾고 있지만 ioctl에서는 작동하지 않는 것을 반환하고있다. 응답 주셔서 감사합니다! –