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

Add new file

parent cec64d3e
No related branches found
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 BUZZER_MAJOR_NUMBER 502
#define BUZZER_MINOR_NUMBER 100
#define BUZZER_DEV_PATH_NAME "/dev/buzzer_ioctl"
#define IOCTL_MAGIC_NUMBER 'k'
#define IOCTL_CMD_BUZZER_OFF _IO(IOCTL_MAGIC_NUMBER, 0)
#define IOCTL_CMD_BUZZER_ON _IO(IOCTL_MAGIC_NUMBER, 1)
int main(void) {
dev_t buzzer_dev;
int fd;
buzzer_dev = makedev(BUZZER_MAJOR_NUMBER, BUZZER_MINOR_NUMBER);
mknod(BUZZER_DEV_PATH_NAME, S_IFCHR | 0666, buzzer_dev);
fd = open(BUZZER_DEV_PATH_NAME, O_RDWR);
if (fd < 0) {
printf("fail to open buzzer\n");
return -1;
}
ioctl(fd, IOCTL_CMD_BUZZER_ON, 0);
sleep(2);
ioctl(fd, IOCTL_CMD_BUZZER_OFF, 0);
sleep(2);
ioctl(fd, IOCTL_CMD_BUZZER_ON, 0);
sleep(2);
ioctl(fd, IOCTL_CMD_BUZZER_OFF, 0);
sleep(2);
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