Commit d3c2c1c0 authored by Pavel Vainerman's avatar Pavel Vainerman

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

parent dc5d9687
/* /*
* charbridge.h - ioctl. * charbridge.h - определения ioctl.
* *
* , , , * Определения, которые здесь находятся, должны помещаться в заголовочный файл потому,
* (charbridge.c), * что они потребуются как модулю ядра (charbridge.c), так и
* (ioctl.c) * вызывающему процессу (ioctl.c)
*/ */
#ifndef CHARBRIDGE_H #ifndef CHARBRIDGE_H
...@@ -12,63 +12,63 @@ ...@@ -12,63 +12,63 @@
#include <linux/ioctl.h> #include <linux/ioctl.h>
/* /*
* . ioctl, * Старший номер устройства. В случае использования ioctl,
* , * мы уже лишены возможности воспользоваться динамическим номером,
* . * поскольку он должен быть известен заранее.
*/ */
#define MAJOR_NUM 255 #define MAJOR_NUM 255
/* /*
* "" * Количество "пар" устройств
* ( ) * (миноров получается в два раза больше)
* .. , sideA * Т.к. логика построена на том, чтобы для sideA
* 0..99, sideB 100...199 * использовать номера от 0..99, а для sideB 100...199
* "" 100! * ТО "ПАР" УСТРОЙСТВ НЕ МОЖЕТ БЫТЬ БОЛЬШЕ 100!
*/ */
#define MAX_DEV 10 #define MAX_DEV 10
#define MAX_PAIR 100 #define MAX_PAIR 100
// 0..99 - sideA0...sideA99 // Миноры от 0..99 - для sideA0...sideA99
// 100..199 - sideB0...sideB99 // Миноры от 100..199 - для sideB0...sideB99
/* /*
* * Операция передачи сообщения драйверу устройства
*/ */
#define IOCTL_SET_MSG _IOR(MAJOR_NUM, 0, char *) #define IOCTL_SET_MSG _IOR(MAJOR_NUM, 0, char *)
/* /*
* _IOR , * _IOR означает, что команда передает данные
* * от пользовательского процесса к модулю ядра
* *
* , MAJOR_NUM -- . * Первый аргумент, MAJOR_NUM -- старший номер устройства.
* *
* -- * Второй аргумент -- код команды
* ( ). * (можно указать иное значение).
* *
* -- , * Третий аргумент -- тип данных, передаваемых в ядро
*/ */
/* /*
* * Операция получения сообщения от драйвера устройства
*/ */
#define IOCTL_GET_MSG _IOR(MAJOR_NUM, 1, char *) #define IOCTL_GET_MSG _IOR(MAJOR_NUM, 1, char *)
/* /*
* IOCTL . * Эта команда IOCTL используется для вывода данных.
* , * Нам по прежнему нужен буфер, размещенный в адресном пространстве
* , . * вызывающего процесса, куда это сообщение должно быть переписано.
*/ */
/* /*
* n- * Команда получения n-ного байта сообщения
*/ */
#define IOCTL_GET_NTH_BYTE _IOWR(MAJOR_NUM, 2, int) #define IOCTL_GET_NTH_BYTE _IOWR(MAJOR_NUM, 2, int)
/* /*
* IOCTL , . * Здесь команда IOCTL работает как на ввод, так и на вывод.
* (n), * Она принимает от пользователя номер байта (n),
* n- (Message[n]). * и возвращает n-ный байт сообщения (Message[n]).
*/ */
/* /*
* * Имя файла устройства
*/ */
#define DEVICE_FILE_NAME "cbside" #define DEVICE_FILE_NAME "cbside"
//#define DEV1_NAME "/dev/cbsideA" //#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