Api ядра: Использование API ядра отладчика — Windows drivers

Функции API уровня ядра (драйвер ODBC для Oracle) — Open Database Connectivity (ODBC)





Twitter




LinkedIn




Facebook




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










  • Статья

  • Чтение занимает 3 мин

Важно!

Эта функция будет удалена в будущей версии Windows. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте драйвер ODBC, предоставляемый Oracle.

Функции на этом уровне составляют минимальный уровень соответствия интерфейса для драйверов ODBC.

Функция APIПримечания
SQLAllocConnectВыделяет память для дескриптора подключения hdbc в среде, определяемой henv. Диспетчер драйверов обрабатывает этот вызов и вызывает функцию SQLAllocConnect драйвера при каждом вызове SQLConnect, SQLBrowseConnect или SQLDriverConnect .
SQLAllocEnvОтображает диалоговое окно с указанием требования к программному обеспечению Oracle Client, а затем возвращает SQL_NULL_HANDLE. Если программное обеспечение Oracle Client не установлено, эта функция выделяет память для дескриптора среды, henv и инициализирует интерфейс уровня вызова ODBC для использования приложением.
SQLAllocStmtВыделяет память для дескриптора инструкции и связывает дескриптор инструкции с соединением, указанным hdbc. Диспетчер драйверов передает этот вызов драйверу, который выделяет память для структуры hstmt.
SQLBindColНазначает место хранения для результирующих столбцов и указывает тип результата.
SQLCancelОтменяет обработку дескриптора инструкции, hstmt. В некоторых случаях Oracle не разрешает отмену запущенной инструкции. Это означает, что выполняющаяся инструкция будет продолжаться, пока Oracle не завершит процесс, в то время как результаты инструкций будут отменены драйвером ODBC для Oracle.
SQLColAttributesВозвращает сведения о дескрипторе для столбца в результирующем наборе. Сведения дескриптора возвращаются в виде символьной строки, 32-разрядного дескриптора или целочисленного значения.
SQLConnectПодключается к источнику данных. Чтобы использовать проверку подлинности операционной системы Oracle, укажите «/» в качестве параметра szUID и «» в качестве параметра szAuthStr .
SQLDescribeColВозвращает имя, тип, точность, масштаб и допустимость значений NULL для заданного столбца результата. Примечание. SQLDescribeCol сообщает вычисляемые столбцы как SQL_VARCHAR.
SQLDisconnectЗакрывает соединение. Если пул подключений включен для общей среды, а приложение вызывает SQLDisconnect для подключения в этой среде, подключение возвращается в пул подключений и по-прежнему доступно другим компонентам, использующим ту же общую среду.
SqlerrorВозвращает сведения об ошибке или состоянии о последней ошибке. Драйвер поддерживает стек или список ошибок, которые могут быть возвращены для аргументов hstmt, hdbc и henv в зависимости от того, как выполняется вызов SQLError . Очередь ошибок очищается после каждой инструкции. Обычно извлекает сообщение об ошибке Oracle и в противном случае пуст.
SQLExecDirectВыполняет новую неподготовленную инструкцию SQL. Драйвер использует текущие значения переменных маркера параметра, если в инструкции существуют какие-либо параметры. Если имена таблиц, представлений или полей содержат пробелы, заключите их в кавычки. Например, если база данных содержит таблицу с именем «Моя таблица » и поле «Мое поле«, заключите каждый элемент идентификатора следующим образом:

SELECT ‘Моя таблица’. «Мое поле1»; ‘Моя таблица’.’My Field2′ FROM ‘Моя таблица’

SQLExecuteВыполняет подготовленную инструкцию SQL (инструкцию, уже подготовленную SQLPrepare). Драйвер использует текущие значения переменных маркера параметра, если в инструкции существуют какие-либо параметры.
SQLFetchИзвлекает одну строку из результирующий набор в расположения, указанные предыдущими вызовами SQLBindCol. Подготавливает драйвер для вызова SQLGetData для несвязанных столбцов.
SQLFreeConnectОсвобождает дескриптор подключения и освобождает всю память, выделенную для дескриптора.
SQLFreeEnvЗакрывает драйвер ODBC для Oracle и освобождает всю память, связанную с драйвером.
Функция SQLFreeStmtОстанавливает обработку, связанную с определенным hstmt, закрывает все открытые курсоры, связанные с hstmt, отменяет ожидающие результаты и при необходимости освобождает все ресурсы, связанные с дескриптором инструкции.
SQLGetCursorNameВозвращает имя курсора, связанного с заданным hstmt.
SQLNumResultColsВозвращает количество столбцов в курсоре результирующего набора.
SQLPrepareПодготавливает инструкцию SQL путем планирования оптимизации и выполнения инструкции. Инструкция SQL компилируется для выполнения SQLExecDirect.

Если имена таблиц, представлений или полей содержат пробелы, заключите их в кавычки. Например, если база данных содержит таблицу с именем «Моя таблица » и поле «Мое поле«, заключите каждый элемент идентификатора следующим образом:

SELECT ‘My Table».’My Field’ FROM ‘My Table’ (Моя таблица)

Сведения об использовании результирующих наборов, содержащих массивы в качестве формальных параметров, см. в разделе «Возврат параметров массива из хранимых процедур».

SQLRowCountOracle не предоставляет способ определения количества строк в результирующем наборе до тех пор, пока вы не получите после получения последней строки, поэтому она возвращает значение -1.
SQLSetCursorNameСвязывает имя курсора с активным дескриптором инструкции hstmt.
SQLSetParamЗаменен SQLBindParameter в ODBC 2. x.
SQLTransactЗапрашивает операцию фиксации или отката для всех активных операций со всеми дескрипторами инструкций (hstmts), связанными с соединением, или для всех подключений, связанных с дескриптором среды, henv. Если фиксация завершается сбоем в ручном режиме, транзакция остается активной; Вы можете выполнить откат транзакции или повторить операцию фиксации. Если операция фиксации завершается сбоем в режиме автоматической транзакции, транзакция выполняется автоматически; Транзакция не может быть неактивной.









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 = слишком много процессов

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

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

Твиттер

LinkedIn

Фейсбук

Эл. адрес

  • Статья
  • 2 минуты на чтение

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

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

  • 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) текущего потока.

Конструкции

 
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.

Linux Kernel API

API Linux API


СОДЕРЖАНИЕ
1. Директор Linux
Директор CACHE
.
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. Miscellaneous Devices
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
z8530_init — Инициализировать устройство Z8530
z8530_shutdown — Завершение работы устройства Z8530.

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