Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
#include<linux/kernel.h>
#include<linux/fs.h> // регистрация устройств
#include<linux/ioport.h> // работа с портами ввода/вывода
#include<linux/sched.h> // резервирование прерывания
// Имя нашего устройства
#define DEV_NAME "device"
// Порты ввода-вывода нашего устройства
#define PORT_START 0x2000
#define PORT_QTY 10
// Память нашего устройства
#define MEM_START 0x20000000
#define MEM_QTY 0x20
// Номер прерывания для нашего устройства
#define IRQ_NUM 9
MODULE_AUTHOR("Denis Kolisnichenko dhsilabs@mail.ru");
MODULE_DESCRIPTION("Linux kernel module");
// Старший номер файла устройства
static int Major;
// Структура file_operations – пока пустая, но вскоре
// мы ее напишем
struct file_operations FO
{
open: device_open,
release: device_close
};
// Структура для хранения состояния устройства
struct device_state
{
// 1 – устройство открыто, 0 - закрыто
int dev_open;
// Количество прочитанных байтов из устройства
ssize_t byte_read;
// Количество записанных байтов
ssize_t byte_write;