Api ядра: API ядра — KolibriOS wiki

API ядра — KolibriOS wiki

СИСТЕМНЫЕ ФУНКЦИИ KolibriOS

Номер функции помещается в регистр eax.
Вызов системной функции осуществляется командой «int 0x40».
Все регистры, кроме явно указанных в возвращаемом значении, включая регистр флагов eflags, сохраняются.

Перечень функций

Функция 0 — определить и нарисовать окно.

Функция 1 — поставить точку в окне.

Функция 2 — получить код нажатой клавиши.

Функция 3 — получить системное время.

Функция 4 — вывести строку текста в окно.

Функция 5 — пауза.

Функция 7 — вывести изображение в окно.

Функция 8 — определить/удалить кнопку.

Функция 9 — информация о потоке выполнения.

Функция 10 — ожидать события.

Функция 11 — проверить, есть ли событие, без ожидания.

Функция 12 — начать/закончить перерисовку окна.

  • Подфункция 1 — начать перерисовку окна.
  • Подфункция 2 — закончить перерисовку окна.

Функция 13 — нарисовать прямоугольник в окне.

Функция 14 — получить размеры экрана.

Функция 15 — работа с фоновой графикой

  • Подфункция 1 — установить размер фонового изображения.
  • Подфункция 2 — поставить точку на фоновом изображении.
  • Подфункция 3 — перерисовать фон.
  • Подфункция 4 — установить режим отрисовки фона.
  • Подфункция 5 — поместить блок пикселей на фон.
  • Подфункция 6 — спроецировать данные фона на адресное пространство процесса.
  • Подфункция 7 — закрыть проекцию данных фона на адресное пространство процесса.
  • Подфункция 8 — получить координаты последней отрисовки фона.
  • Подфункция 9 — перерисовать прямоугольную часть фона.

Функция 16 — сохранить рамдиск на дискету.

Функция 17 — получить код нажатой кнопки.

Функция 18 — системные настройки и информация

  • Подфункция 1 — сделать неактивным окно потока
  • Подфункция 2 — завершить процесс/поток по слоту.
  • Подфункция 3 — сделать активным окно заданного потока.
  • Подфункция 4 — получить счётчик пустых тактов в секунду.
  • Подфункция 5 — получить тактовую частоту.
  • Подфункция 6 — сохранить рамдиск в файл на жёстком диске.
  • Подфункция 7 — получить номер активного окна.
  • Подфункция 8 — отключить/разрешить звук спикера.
  • Подфункция 9 — завершение работы системы с параметром.
  • Подфункция 10 — свернуть окно приложения.
  • Подфункция 11 — получить информацию о дисковой подсистеме.
  • Подфункция 13 — получить версию ядра.
  • Подфункция 14 — ожидать начала обратного хода луча развёртки монитора.
  • Подфункция 15 — поместить курсор мыши в центр экрана.
  • Подфункция 16 — Получить размер свободной оперативной памяти.
  • Подфункция 17 — получить размер имеющейся оперативной памяти.
  • Подфункция 18 — завершить процесс/поток по идентификатору.
  • Подфункция 19 — получить/установить настройки мыши.
  • Подфункция 20 — получить информацию об оперативной памяти.
  • Подфункция 21 — получить номер слота процесса/потока по идентификатору.
  • Подфункция 22 — операции с окном другого процесса/потока.
  • Подфункция 23 — минимизировать все окна.
  • Подфункция 24 — установить пределы отрисовки.
  • Подфункция 25 — управление положением окна относительно других окон.

Функция 20 — интерфейс MIDI.

  • Подфункция 1 — сброс
  • Подфункция 2 — вывести байт

Функция 21 — установка системных параметров

  • Подфункция 1 — установить базовый порт MPU MIDI.
  • Подфункция 2 — установить раскладку клавиатуры.
  • Подфункция 5 — установить язык системы.
  • Подфункция 11 — разрешить/запретить низкоуровневый доступ к HD.
  • Подфункция 12 — разрешить/запретить низкоуровневый доступ к PCI.

Функция 22 — установить системную дату/время.

Функция 23 — ожидать события с таймаутом.

Функция 24 — работа с проигрывателем компакт-дисков.

  • Подфункция 4 — извлечь лоток привода диска.
  • Подфункция 5 — загрузить лоток привода диска.

Функция 25 — записать область на слой фона.

Функция 26 — аппаратный сервис.

  • Подфункция 1 — получить базовый порт MPU MIDI.
  • Подфункция 2 — получить раскладку клавиатуры.
  • Подфункция 5 — получить язык системы.
  • Подфункция 9 — получить значение счётчика времени.
  • Подфункция 10 — получить значение высокоточного счётчика времени.
  • Подфункция 11 — узнать, разрешён ли низкоуровневый доступ к HD.
  • Подфункция 12 — узнать, разрешён ли низкоуровневый доступ к PCI.

Функция 29 — получить системную дату.

Функция 30 — работа с текущей папкой.

  • Подфункция 1 — установить текущую папку для потока.
  • Подфункция 2 — получить активную папку для потока.
  • Подфункция 3 — установить доп. системную директорию для ядра.
  • Подфункция 4 — установить текущую папку с указанием кодировки.
  • Подфункция 5 — получить текущую папку с указанием кодировки.

Функция 34 — узнать кому принадлежит точка экрана.

Функция 35 — прочитать цвет точки на экране.

Функция 36 — прочитать область экрана.

Функция 37 — работа с мышью.

  • Подфункция 0 — экранные координаты мыши
  • Подфункция 1 — координаты мыши относительно окна
  • Подфункция 2 — состояния кнопок мыши
  • Подфункция 3 — состояния и события кнопок мыши
  • Подфункция 4 — загрузить курсор
  • Подфункция 5 — установить курсор
  • Подфункция 6 — удалить курсор
  • Подфункция 7 — данные прокрутки
  • Подфункция 8 — загрузить курсор с указанием кодировки

Функция 38 — нарисовать отрезок.

Функция 39 — чтение фона.

  • Подфункция 1 — получить размер фонового изображения.
  • Подфункция 2 — прочитать точку с фонового изображения.
  • Подфункция 4 — получить режим отрисовки фона.

Функция 40 — установить маску для ожидаемых событий.

Функция 43 — ввод/вывод в порт.

Функция 46 — зарезервировать/освободить группу портов ввода/вывода.

Функция 47 — вывести число в окно.

Функция 48 — стили отображения окон

  • Подфункция 0 — применить настройки экрана.
  • Подфункция 1 — установить стиль кнопок.
  • Подфункция 2 — установить стандартные цвета окон.
  • Подфункция 3 — получить стандартные цвета окон.
  • Подфункция 4 — получить высоту скина.
  • Подфункция 5 — получить рабочую область экрана.
  • Подфункция 6 — установить рабочую область экрана.
  • Подфункция 7 — получить область скина для текста заголовка.
  • Подфункция 8 — установить используемый скин окон.
  • Подфункция 9 — получить настройку сглаживания шрифтов.
  • Подфункция 10 — настроить сглаживание шрифтов.
  • Подфункция 11 — получить размер шрифтов.
  • Подфункция 12 — установить размер шрифтов.
  • Подфункция 13 — установить скин с указанием кодировки.

Функция 49 — Advanced Power Management (APM).

Функция 50 — установка формы окна.

Функция 51 — создать поток.

Функция 54 — работа с буфером обмена

  • Подфункция 0 — узнать количество слотов в буфере обмена.
  • Подфункция 1 — считать данные из буфера обмена.
  • Подфункция 2 — записать данные в буфер обмена.
  • Подфункция 3 — удалить последний слот с данными в буфере обмена
  • Подфункция 4 — аварийный сброс блокировки буфера

Функция 55 — встроенный спикер.

Функция 57 — PCI BIOS.

Функция 60 — Inter Process Communication (IPC).

  • Подфункция 1 — установить область для получения IPC
  • Подфункция 2 — послать сообщение IPC

Функция 61 — получить параметры для прямого доступа к графике.

  • Подфункция 1 — разрешение экрана
  • Подфункция 2 — число бит на пиксель
  • Подфункция 3 — число байт на строку

Функция 62 — пользовательский доступ к PCI.

  • Подфункция 0 — получить версию PCI-интерфейса.
  • Подфункция 1 — получить номер последней PCI-шины.
  • Подфункция 2 — Получить механизм обращения к конфигурационному пространству PCI.
  • подфункции 4,5,6 — прочитать PCI-регистр.
  • подфункции 8,9,10 — записать в PCI-регистр.

Функция 63 — работа с доской отладки.

  • Подфункция 1 — запись байта
  • Подфункция 2 — чтение байта

Функция 64 — перераспределить память приложения.

Функция 65 — вывести изображение с палитрой в окно.

Функция 66 — работа с клавиатурой.

  • Подфункция 1 — установить режим ввода с клавиатуры.
  • Подфункция 2 — получить режим ввода с клавиатуры.
  • Подфункция 3 — получить состояние управляющих клавиш.
  • Подфункция 4 — установить общесистемную «горячую клавишу».
  • Подфункция 5 — удалить установленную «горячую клавишу».
  • Подфункция 6 — заблокировать обычный ввод.
  • Подфункция 7 — разблокировать обычный ввод.

Функция 67 — изменить положение/размеры окна.

Функция 68 — внутренние системные службы.

  • Подфункция 0 — получить счётчик переключений задач.
  • Подфункция 1 — переключиться на следующий поток выполнения.
  • Подфункция 2 — кэш + rdpmc.
  • Подфункция 3 — прочитать MSR-регистр.
  • Подфункция 4 — записать в MSR-регистр.
  • Подфункция 11 — инициализировать кучу процесса.
  • Подфункция 12 — выделить блок памяти.
  • Подфункция 13 — освободить блок памяти.
  • Подфункция 14 — ожидать извещения от драйвера.
  • Подфункция 16 — загрузить драйвер.
  • Подфункция 17 — управление драйвером.
  • Подфункция 18 — загрузить DLL с указанием кодировки.
  • Подфункция 19 — загрузить DLL.
  • Подфункция 20 — перераспределить блок памяти.
  • Подфункция 22 — открыть именованую область памяти.
  • Подфункция 23 — закрыть именованую область памяти.
  • Подфункция 24 — установить обработчик исключений
  • Подфункция 25 — изменить состояние активности сигнала
  • Подфункция 26 — освободить страницы памяти
  • Подфункция 27 — загузить файл
  • Подфункция 28 — загрузить файл с указанием кодировки
  • Подфункция 31 — получить данные драйвера

Функция 69 — отладка.

  • Подфункция 0 — определить область данных для отладочных сообщений.
  • Подфункция 1 — получить состояние регистров отлаживаемого потока.
  • Подфункция 2 — установить состояние регистров отлаживаемого потока.
  • Подфункция 3 — отключиться от отлаживаемого процесса.
  • Подфункция 4 — приостановить поток.
  • Подфункция 5 — возобновить выполнение потока.
  • Подфункция 6 — прочитать из памяти отлаживаемого процесса.
  • Подфункция 7 — записать в память отлаживаемого процесса.
  • Подфункция 8 — завершить отлаживаемый поток.
  • Подфункция 9 — установить/снять аппаратную точку останова.

Функция 70 — работа с файловой системой с поддержкой длинных имён.

  • Подфункция 0 — чтение файла с поддержкой длинных имён.
  • Подфункция 1 — чтение папки с поддержкой длинных имён.
  • Подфункция 2 — создание/перезапись файла с поддержкой длинных имён.
  • Подфункция 3 — запись в существующий файл с поддержкой длинных имён.
  • Подфункция 4 — установка размера файла.
  • Подфункция 5 — получение информации о файле/папке.
  • Подфункция 6 — установка атрибутов файла/папки.
  • Подфункция 7 — запуск программы.
  • Подфункция 8 — удаление файла/папки.
  • Подфункция 9 — создание папки.

Функция 71 — параметры окна.

Функция 72 — послать сообщение окну.

Функция 73 — программный блиттер.

Функция 74 — работа с сетевыми устройствами.

  • Подфункция -1 — получить количество активных сетевых устройств.
  • Подфункция 0 — получить тип сетевого устройства.
  • Подфункция 1 — получить имя сетевого устройства.
  • Подфункция 2 — сброс сетевого устройства.
  • Подфункция 3 — остановить сетевое устройство.
  • Подфункция 4 — получить указатель на устройство.
  • Подфункция 6 — получить количество посланых пакетов.
  • Подфункция 7 — получить количество принятых пакетов.
  • Подфункция 8 — получить количество посланых байт.
  • Подфункция 9 — получить количество принятых байт.
  • Подфункция 10 — получить статус соединения.

Функция 75 — работа с сетевым сокетами.

  • Подфункция 0 — Open socket (Открыть сокет).
  • Подфункция 1 — Close socket (Закрыть сокет).
  • Подфункция 2 — Bind (Привязка).
  • Подфункция 3 — Listen (Слушать).
  • Подфункция 4 — Connect (Соединение).
  • Подфункция 5 — Accept (Соглашение).
  • Подфункция 6 — Send (Послать).
  • Подфункция 7 — Receive (Получить).
  • Подфункция 8 — Set socket options (Задать опции сокета)
  • Подфункция 9 — Get socket options (Получить опции сокета)
  • Подфункция 10 — Get socketpair (Получить парный сокет).

Функция 76 — сетевые опции и статистика.

Функция 77 — подсистема POSIX.

  • Подфункция 0 — Создать фьютекс
  • Подфункция 1 — Удалить фьютекс
  • Подфункция 2 — Ожидать
  • Подфункция 3 — Разбудить
  • Подфункция 4 — Зарезервирована
  • Подфункция 5 — Зарезервирована
  • Подфункция 6 — Зарезервирована
  • Подфункция 7 — Зарезервирована
  • Подфункция 8 — open(), пока не реализована
  • Подфункция 9 — close(), пока не реализована
  • Подфункция 10 — read(), чтение из файла в буфер
  • Подфункция 11 — write(), запись данных из буфера в файл
  • Подфункция 12 — dup3(), пока не реализована
  • Подфункция 13 — pipe2(), создание канала

Функция 80 — работа с файловой системой с указанием кодировки.

Функция -1 — завершить выполнение потока/процесса.

Список событий

Очередное событие можно получить вызовом одной из функций 10
(ожидать события), 11 (проверить без ожидания), 23
(ожидать в течение заданного времени).
Эти функции возвращают только те события, которые входят в маску,
устанавливаемую функцией 40. По умолчанию это первые три, чего
вполне достаточно для многих приложений.
Коды событий:

  • 1 = сообщение о перерисовке (сбрасывается при вызове функции 0)
  • 2 = нажата клавиша на клавиатуре (поступает, только когда окно активно) или нажата «горячая клавиша»;
    • сбрасывается, когда все клавиши из буфера считаны функцией 2
  • 3 = нажата кнопка, определённая ранее функцией 8 (или кнопка закрытия, созданная неявно функцией 0; кнопка минимизации обрабатывается системой и о ней сообщения не приходит;
    • поступает, только когда окно активно;
    • сбрасывается, когда все кнопки из буфера считаны функцией 17)
  • 4 = зарезервировано (в текущей реализации никогда не приходит даже при размаскировке функцией 40)
  • 5 = перерисовывается фон рабочего стола (сбрасывается автоматически после перерисовки, так что если во время перерисовки фона программа не ждёт и не проверяет события, то этого события она не заметит)
  • 6 = событие от мыши (что-то случилось — нажатие на кнопку мыши или перемещение; сбрасывается при прочтении)
  • 7 = произошло событие IPC (смотри функцию 60 — Inter Process Communication; сбрасывается при прочтении)
  • 8 = произошло сетевое событие (сбрасывается при прочтении; смотри работу с сетью)
  • 9 = произошло отладочное событие (сбрасывается при прочтении; смотри отладочную подсистему)
  • 16. .31 — ранее использовались для проверки соответствующих IRQ (16=IRQ0, 31=IRQ15) (на новых версиях ядра не генерируются)

Коды ошибок файловой системы

  • 0 = успешно
  • 2 = функция не поддерживается для данной файловой системы
  • 3 = неизвестная файловая система
  • 5 = файл не найден
  • 6 = файл закончился
  • 7 = указатель вне памяти приложения
  • 8 = диск заполнен
  • 9 = ошибка файловой системы
  • 10 = доступ запрещён
  • 11 = ошибка устройства
  • 12 = файловой системе недостаточно оперативной памяти

При запуске программы возможны также следующие коды ошибок:

  • 30 = 0x1E = недостаточно памяти
  • 31 = 0x1F = файл не является исполнимым
  • 32 = 0x20 = слишком много процессов

Справочник по API управления трассировкой ядра





Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья


Этот API позволяет собирать трассировки стека ядра, объединять несколько файлов трассировки для анализа, трассировки кучи и включать сведения о системе в Объединенные файлы.

API управления трассировкой ядра стал доступен в Windows Vista.

в Windows 7 и Windows Vista для стакквалкинг на системах x64 необходимо задать значение реестра дисаблепагинжексекутиве в HKLM\SYSTEM\CurrentControlSet\Control\Session манажер\мемори Management. Дополнительные сведения см. в разделе дисаблепагинжексекутиве.

Примечание . в системах с Windows 8 и выше это изменение реестра не требуется.

В следующем примере показано, как запросить это значение реестра.

@REG QUERY "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" -v DisablePagingExecutive

В следующем примере показано, как включить стакквалкинг.

@REG ADD "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" -v DisablePagingExecutive -d 0x1 -t REG_DWORD -f
@IF NOT %ERRORLEVEL% == 0 echo error: Could not configure system for 64-bit stackwalking. Please run this script from an elevated administrator console. 

Примечание . Чтобы эти изменения вступили в силу, необходимо перезагрузить систему.

В следующем примере показано, как отключить стакквалкинг.

@REG ADD "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" -v DisablePagingExecutive -d 0x0 -t REG_DWORD -f
@IF NOT %ERRORLEVEL% == 0 echo error: Could not remove 64-bit stackwalking configuration. Please run this script from an elevated administrator console.

Примечание . Чтобы эти изменения вступили в силу, необходимо перезагрузить систему.

Функции

Структуры

Флаги управления трассировкой

Типы событий трассировки элементов управления

пользовательское внедрение Сведения о системе

технический справочник по набор средств производительности Windows






Справочник по драйверу режима ядра — приложения Win32

Редактировать

Твиттер

LinkedIn

Фейсбук

Электронная почта

  • Статья

Обзор технологии справочника драйверов режима ядра.

Для разработки справочника драйверов режима ядра вам потребуются следующие заголовки:

  • ntdef.h

Руководство по программированию для этой технологии см.:

  • Справочник по драйверу режима ядра

Перечисления

 
COMPARTMENT_ID

Перечисление COMPARTMENT_ID указывает идентификатор сегмента сетевой маршрутизации.

Функции

 
FIELD_OFFSET

Макрос FIELD_OFFSET возвращает смещение в байтах именованного поля в известном типе структуры. (макрос FIELD_OFFSET)

FIELD_OFFSET

Макрос FIELD_OFFSET возвращает смещение в байтах именованного поля в известном типе структуры. (макрос FIELD_OFFSET)

InitializeObjectAttributes

Макрос InitializeObjectAttributes инициализирует непрозрачную структуру OBJECT_ATTRIBUTES, которая определяет свойства дескриптора объекта для подпрограмм, открывающих дескрипторы.

NtCurrentTeb

Подпрограмма NtCurrentTeb возвращает указатель на блок среды потока (TEB) текущего потока.

RtlIsEcCode

Возвращает значение, указывающее, является ли код, на который указывает предоставленный указатель, совместимым с эмуляцией ARM (ARM64EC).

Конструкции

 
LIST_ENTRY

Структура LIST_ENTRY описывает запись в двусвязном списке или служит заголовком для такого списка.

LUID

Структура LUID — это непрозрачная структура, задающая идентификатор, который гарантированно будет уникальным на локальном компьютере. Дополнительные сведения см. на справочной странице по LUID в документации Microsoft Windows SDK.

OBJECT_ATTRIBUTES

Структура OBJECT_ATTRIBUTES определяет атрибуты, которые могут применяться к объектам или дескрипторам объектов подпрограммами, создающими объекты и/или возвращающими дескрипторы объектов.

SINGLE_LIST_ENTRY

Структура SINGLE_LIST_ENTRY описывает запись в односвязном списке или служит заголовком для такого списка.

STRING

Структура ANSI_STRING определяет счетную строку, используемую для строк ANSI.

UNICODE_STRING

Структура UNICODE_STRING используется для определения строк Unicode.

The Linux Kernel API

Linux Kernel API

Официальное уведомление


Содержание
1. Linux VFS
Кэш каталога 9014 19 _

5

5

аннулировать — аннулировать dentry
d_find_alias — получить хешированный псевдоним inode
prune_dcache — сжать dcache
reject_dcache_sb — сжать dcache для суперблока
have_submounts — проверить наличие креплений над дентри
shrink_dcache_parent — обрезать dcache
d_alloc — выделить запись dcache
d_instantiate — заполнить информацию об иноде для dentry
d_alloc_root — выделить корневой dentry
d_lookup — поиск дентри
d_validate — проверить данные, предоставленные из небезопасного источника
d_delete — удалить дентри
d_rehash — добавить запись обратно в хэш
d_move — переместить зубной камень
__d_path — вернуть путь дентри
is_subdir — новый dentry является подкаталогом old_dentry
find_inode_number — проверить наличие dentry с именем
d_drop — бросить зубной камень
d_add — добавить dentry в хеш-очереди
dget — получить ссылку на дентри
d_unhashed — это хеширование dentry
Обработка инодов
__mark_inode_dirty — внутренняя функция
write_inode_now — записать индекс на диск
clear_inode — очистить индекс
invalidate_inodes — удалить иноды на устройстве
get_empty_inode — получить индекс
iunique — получить уникальный номер инода
insert_inode_hash — хешировать индексный дескриптор
remove_inode_hash — удалить индекс из хеша
iput — поставить инод
bmap — найти номер блока в файле
update_atime — обновить время доступа
make_bad_inode — пометить индекс как плохой из-за ошибки ввода/вывода
is_bad_inode — ошибка в индексе
Registration and Superblocks
register_filesystem — зарегистрировать новую файловую систему
unregister_filesystem — отменить регистрацию файловой системы
__wait_on_super — ожидание суперблока
get_super — получить суперблок устройства
get_empty_super — найти пустые суперблоки
2. Сеть Linux
Функции буфера сокета
skb_queue_empty — проверить, пуста ли очередь
skb_get — буфер ссылок
kfree_skb — освободить sk_buff
skb_cloned — является ли буфер клоном
skb_shared — общий буфер
skb_unshare — сделать копию общего буфера
skb_peek —
skb_peek_tail —
skb_queue_len — получить длину очереди
__skb_queue_head — поставить буфер в начало списка
skb_queue_head — поставить буфер в начало списка
__skb_queue_tail — поставить в очередь буфер в хвосте списка
skb_queue_tail — поставить в очередь буфер в хвосте списка
__skb_dequeue — удалить из головы очереди
skb_dequeue — удалить из головы очереди
skb_insert — вставить буфер
skb_append — добавить буфер
skb_unlink — удалить буфер из списка
__skb_dequeue_tail — удалить из хвоста очереди
skb_dequeue_tail — удалить из головы очереди
skb_put — добавить данные в буфер
skb_push — добавить данные в начало буфера
skb_pull — удалить данные из начала буфера
skb_headroom — байт в заголовке буфера
skb_tailroom — количество байтов в конце буфера
skb_reserve — отрегулировать запас
skb_trim — удалить конец из буфера
skb_orphan — потерянный буфер
skb_queue_purge — очистить список
__skb_queue_purge — очистить список
dev_alloc_skb — выделить скбафф для отправки
skb_cow — скопировать буфер, если нужно
skb_over_panic — приватная функция
skb_under_panic — приватная функция
alloc_skb — выделить сетевой буфер
__kfree_skb — приватная функция
skb_clone — дублировать sk_buff
skb_copy — скопировать sk_buff
skb_copy_expand — скопировать и развернуть sk_buff
Socket Filter
sk_run_filter — запустить фильтр на сокете
3. Поддержка сетевых устройств
Поддержка драйверов
init_etherdev — регистрация Ethernet-устройства
dev_add_pack — добавить обработчик пакетов
dev_remove_pack — удалить обработчик пакетов
__dev_get_by_name — найти устройство по его имени
dev_get_by_name — найти устройство по его имени
dev_get — проверить, существует ли устройство
__dev_get_by_index — найти устройство по его ifindex
dev_get_by_index — найти устройство по его ifindex
dev_alloc_name — выделить имя для устройства
dev_alloc — выделить сетевое устройство и имя
netdev_state_change — устройство меняет состояние
dev_load — загрузить сетевой модуль
dev_open — подготовить интерфейс к использованию.
dev_close — отключить интерфейс.
register_netdevice_notifier — зарегистрировать блок сетевых уведомлений
unregister_netdevice_notifier — отменить регистрацию блока сетевых уведомлений
dev_queue_xmit — передать буфер
netif_rx — пост буфер в сетевой код
net_call_rx_atomic —
register_gifconf — зарегистрировать обработчик SIOCGIF
netdev_set_master — установить пару master/slave
dev_set_promiscuity — обновить счетчик распущенности на устройстве
dev_set_allmulti — обновить счетчик allmulti на устройстве
dev_ioctl — ioctl сетевого устройства
dev_new_index — выделить ifindex
register_netdevice — зарегистрировать сетевое устройство
netdev_finish_unregister — полная отмена регистрации
unregister_netdevice — удалить устройство из ядра
8390 Сетевые карты на базе
ei_open — открыть/инициализировать плату.
ei_close — выключить сетевое устройство
ei_interrupt — обрабатывать прерывания от 8390
ethdev_init — инициализация остальной части структуры устройства 8390
NS8390_init — инициализировать оборудование 8390
Synchronous PPP
sppp_input — получение и обработка фрейма WAN PPP
sppp_close — закрыть синхронный канал PPP или Cisco HDLC.
sppp_open — открыть синхронный канал PPP или Cisco HDLC
sppp_reopen — уведомлять о потере физического соединения
sppp_change_mtu — Изменить MTU ссылки
sppp_do_ioctl — Обработчик ввода-вывода для ppp/hdlc
sppp_attach — подключить синхронный PPP/HDLC к устройству
sppp_detach — освободить ресурсы PPP с устройства
4. Загрузка модуля
request_module — попытаться загрузить модуль ядра
5. Аппаратные интерфейсы
Обработка прерываний
disable_irq_nosync — отключить прерывание без ожидания
disable_irq — отключить прерывание и дождаться завершения
enable_irq — включить обработку прерывания на irq
probe_irq_mask — сканировать битовую карту линий прерывания
Обработка MTRR
mtrr_add — Добавить регион типа памяти
mtrr_del — удалить регион типа памяти
Библиотека поддержки PCI
pci_find_slot — найти устройство PCI из заданного слота PCI
pci_find_device — начать или продолжить поиск устройства PCI по идентификатору поставщика/устройства
pci_find_class — начать или продолжить поиск PCI-устройства по классу
pci_find_parent_resource — вернуть область ресурсов родительской шины данного региона
pci_set_power_state — Установить состояние управления питанием устройства.
pci_enable_device — Инициализировать устройство до того, как оно будет использовано драйвером.
Архитектура MCA
Функции устройства MCA
Шина MCA DMA
6. Файловая система устройства
devfs_register — Регистрация записи устройства.
devfs_unregister — Отменить регистрацию записи устройства.
devfs_mk_symlink —
devfs_mk_dir — Создать каталог в пространстве имен devfs.
devfs_find_handle — Найти дескриптор записи devfs.
devfs_get_flags — Получить флаги для записи devfs.
devfs_get_maj_min — Получить старший и младший номера для записи devfs.
devfs_get_handle_from_inode — Получить дескриптор devfs для индексного дескриптора VFS.
devfs_generate_path — Создать путь для записи относительно корня devfs.
devfs_get_ops — Получить операции устройства для записи devfs.
devfs_set_file_size — Установить размер файла для обычного файла devfs.
devfs_get_info — Получить информационный указатель, записанный в private_data @de при открытии.
devfs_set_info — Установить информационный указатель, записываемый в private_data при открытии.
devfs_get_parent — Получить запись родительского устройства.
devfs_get_first_child — Получить первый конечный узел в каталоге.
devfs_get_next_sibling — Получить следующий одноуровневый конечный узел. для записи устройства.
devfs_auto_unregister — Настройка записи devfs для автоматической отмены регистрации.
devfs_get_unregister_slave — Получить подчиненную запись, регистрация которой будет автоматически отменена.
devfs_register_chrdev — Дополнительно зарегистрируйте обычный драйвер персонажа.
devfs_register_blkdev — При необходимости зарегистрируйте обычный блочный драйвер.
devfs_unregister_chrdev — Необязательно отменить регистрацию обычного драйвера персонажа.
devfs_unregister_blkdev — Необязательно отменить регистрацию обычного блочного драйвера.
7. Управление питанием
pm_register — регистрация устройства с управлением питанием
pm_unregister — отменить регистрацию устройства с управлением питанием
pm_unregister_all — отменить регистрацию всех устройств с соответствующим обратным вызовом
pm_send — отправить запрос на одно устройство
pm_send_all — отправить запрос на все управляемые устройства
pm_find — найти устройство
8. Разные устройства
misc_register — регистрация разных устройств
misc_deregister — отменить регистрацию различного устройства
9. Video4Linux
video_register_device — регистрация устройств video4linux
video_unregister_device — отменить регистрацию устройства video4linux
10. Звуковые устройства
register_sound_special — регистрация специального звукового узла
register_sound_mixer — зарегистрировать микшер
register_sound_midi — зарегистрировать миди-устройство
register_sound_dsp — зарегистрировать DSP-устройство
register_sound_synth — зарегистрировать синтезатор
unregister_sound_special — отменить регистрацию специального звукового устройства
unregister_sound_mixer — отменить регистрацию микшера
unregister_sound_midi — отменить регистрацию миди-устройства
unregister_sound_dsp — отменить регистрацию DSP-устройства
unregister_sound_synth — отменить регистрацию синтезатора
11. Драйвер UART 16×50
register_serial — настройка последовательного порта 16×50 во время выполнения
unregister_serial — удалить последовательный порт 16×50
12. Библиотека поддержки Z85230
z8530_interrupt — Обработка прерывания от Z8530
z8530_sync_open — Открытие канала Z8530 для PIO
z8530_sync_close — Закрыть канал PIO Z8530
z8530_sync_dma_open — Открытие Z8530 для ввода/вывода DMA
z8530_sync_dma_close — Закрыть ввод-вывод DMA
z8530_sync_txdma_open — Открытие Z8530 для прямого доступа к памяти, управляемого TX
z8530_sync_txdma_close — Закрытие канала DMA, управляемого TX
z8530_describe — Единообразное описание порта Z8530.

This entry was posted in Популярное