/
MaestroN
/
Eltex_Homework
Обзор
Документация
Войти
/
MaestroN
/
Eltex_Homework
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Task_13/test_ioctl.c
43 строки
1 KB
nikita_shub
Добавление задания 13
11 фев 2025, 17:46
11 фев 2025, 17:46
937b1c8
Код
Авторство
О чём код?
#include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> #include <sys/ioctl.h> #define CUSTOM_IOC_MAGIC 'k' #define CUSTOM_SET_STATE _IOW(CUSTOM_IOC_MAGIC, 1, int) #define CUSTOM_GET_STATE _IOR(CUSTOM_IOC_MAGIC, 2, int) int main(void) { int fd, ret, state; /* Открываем устройство */ fd = open("/dev/custom_device", O_RDWR); if (fd < 0) { perror("open"); return EXIT_FAILURE; } /* Устанавливаем состояние устройства равным 42 */ state = 42; ret = ioctl(fd, CUSTOM_SET_STATE, &state); if (ret < 0) { perror("ioctl set"); close(fd); return EXIT_FAILURE; } /* Получаем состояние устройства */ state = 0; ret = ioctl(fd, CUSTOM_GET_STATE, &state); if (ret < 0) { perror("ioctl get"); close(fd); return EXIT_FAILURE; } printf("Device state is %d\n", state); close(fd); return EXIT_SUCCESS; }