ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
¼³¸í
ioctl()À» ÀÌ¿ëÇØ¼ cdromÀ» ²¨³»´Â °£´ÜÇÑ ÇÔ¼ö ÀÔ´Ï´Ù. »ç¿ë¹æ¹ý#include <sys/ioctl.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/ustat.h> #include <fcntl.h> #include <unistd.h> #include <linux/cdrom.h> #include <stdio.h> #include <errno.h> int eject(void);
#include "eject.h" int main() { if (eject() != 0) { perror("error\n"); return 1; } return 0; } ÄÚµå#include <sys/ioctl.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/ustat.h> #include <fcntl.h> #include <unistd.h> #include <linux/cdrom.h> #include <stdio.h> #include <errno.h> char *cd_device = "/dev/cdrom"; int cdeject(void) { int cd_fd; struct stat lstat; struct ustat lustat; // CDROM ÀåÄ¡¸¦ ¿¬´Ù. if ((cd_fd = open(cd_device, O_RDONLY)) < 0) { return 1; } // fstat()¸¦ ÀÌ¿ëÇØ¼ ÆÄÀÏ(ÀåÄ¡)Á¤º¸¸¦ ¾ò¾î¿Â´Ù. if (fstat(cd_fd, &lstat) != 0) { close(cd_fd); return 2; } // ustat()¸¦ ÀÌ¿ëÇØ¼ ÆÄÀϽýºÅÛ Á¤º¸¸¦ ¿äûÇÑ´Ù. // ¸¸¾à CDROMÀÌ mountµÇ¾î ÀÖ´Ù¸é Á¤º¸¸¦ °¡Á®¿À°í // 0À» ¸®ÅÏÇÒ °ÍÀÌ´Ù. // mountµÇ¾î ÀÖ´Â ÀåÄ¡´Â ejectºÒ°¡´É ÇϹǷΠ// errno·Î EBUSY¸¦ ¼³Á¤ÇÏ°í ¸®ÅÏÇÑ´Ù. if (ustat(lstat.st_rdev, &lustat) == 0) { errno = EBUSY; close(cd_fd); return 3; } // eject ÇÑ´Ù. if (ioctl(cd_fd, CDROMEJECT) != 0) { close(cd_fd); return 4; } close(cd_fd); return 0; } |
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|