Skip to content
Snippets Groups Projects
Commit a9556e4d authored by 최준영's avatar 최준영
Browse files

Add new file

parent ff57e476
Branches master
No related tags found
No related merge requests found
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/sysmacros.h>
#define FIRE_MAJOR_NUMBER 503
#define FIRE_MINOR_NUMBER 101
#define FIRE_DEV_PATH_NAME "/dev/fire_ioctl"
#define IOCTL_MAGIC_NUMBER 'f'
#define IOCTL_CMD_FIRE_ON _IO(IOCTL_MAGIC_NUMBER, 0)
#define IOCTL_CMD_FIRE_OFF _IO(IOCTL_MAGIC_NUMBER, 1)
int main(void) {
dev_t fire_dev;
int fd;
fire_dev = makedev(FIRE_MAJOR_NUMBER, FIRE_MINOR_NUMBER);
mknod(FIRE_DEV_PATH_NAME, S_IFCHR | 0666, fire_dev);
fd = open(FIRE_DEV_PATH_NAME, O_RDWR);
if (fd < 0) {
printf("fail to open FIRE\n");
return -1;
}
int i = 0;
while (i < 100) {
if (ioctl(fd, IOCTL_CMD_FIRE_ON, 0) == 0) {
printf("fire\n");
sleep(1);
i++;
}
else
printf("no fire\n");
sleep(1);
i++;
}
close(fd);
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment