Commit d3c2c1c0 authored by Pavel Vainerman's avatar Pavel Vainerman

Сконвертировал из koi8-r в utf8

parent dc5d9687
/*
* charbridge.h - ioctl.
* charbridge.h - определения ioctl.
*
* , , ,
* (charbridge.c),
* (ioctl.c)
* Определения, которые здесь находятся, должны помещаться в заголовочный файл потому,
* что они потребуются как модулю ядра (charbridge.c), так и
* вызывающему процессу (ioctl.c)
*/
#ifndef CHARBRIDGE_H
......@@ -12,63 +12,63 @@
#include <linux/ioctl.h>
/*
* . ioctl,
* ,
* .
* Старший номер устройства. В случае использования ioctl,
* мы уже лишены возможности воспользоваться динамическим номером,
* поскольку он должен быть известен заранее.
*/
#define MAJOR_NUM 255
/*
* ""
* ( )
* .. , sideA
* 0..99, sideB 100...199
* "" 100!
* Количество "пар" устройств
* (миноров получается в два раза больше)
* Т.к. логика построена на том, чтобы для sideA
* использовать номера от 0..99, а для sideB 100...199
* ТО "ПАР" УСТРОЙСТВ НЕ МОЖЕТ БЫТЬ БОЛЬШЕ 100!
*/
#define MAX_DEV 10
#define MAX_PAIR 100
// 0..99 - sideA0...sideA99
// 100..199 - sideB0...sideB99
// Миноры от 0..99 - для sideA0...sideA99
// Миноры от 100..199 - для sideB0...sideB99
/*
*
* Операция передачи сообщения драйверу устройства
*/
#define IOCTL_SET_MSG _IOR(MAJOR_NUM, 0, char *)
/*
* _IOR ,
*
* _IOR означает, что команда передает данные
* от пользовательского процесса к модулю ядра
*
* , MAJOR_NUM -- .
* Первый аргумент, MAJOR_NUM -- старший номер устройства.
*
* --
* ( ).
* Второй аргумент -- код команды
* (можно указать иное значение).
*
* -- ,
* Третий аргумент -- тип данных, передаваемых в ядро
*/
/*
*
* Операция получения сообщения от драйвера устройства
*/
#define IOCTL_GET_MSG _IOR(MAJOR_NUM, 1, char *)
/*
* IOCTL .
* ,
* , .
* Эта команда IOCTL используется для вывода данных.
* Нам по прежнему нужен буфер, размещенный в адресном пространстве
* вызывающего процесса, куда это сообщение должно быть переписано.
*/
/*
* n-
* Команда получения n-ного байта сообщения
*/
#define IOCTL_GET_NTH_BYTE _IOWR(MAJOR_NUM, 2, int)
/*
* IOCTL , .
* (n),
* n- (Message[n]).
* Здесь команда IOCTL работает как на ввод, так и на вывод.
* Она принимает от пользователя номер байта (n),
* и возвращает n-ный байт сообщения (Message[n]).
*/
/*
*
* Имя файла устройства
*/
#define DEVICE_FILE_NAME "cbside"
//#define DEV1_NAME "/dev/cbsideA"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment