Содержание
Функции 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’ (Моя таблица) Сведения об использовании результирующих наборов, содержащих массивы в качестве формальных параметров, см. в разделе «Возврат параметров массива из хранимых процедур». |
SQLRowCount | Oracle не предоставляет способ определения количества строк в результирующем наборе до тех пор, пока вы не получите после получения последней строки, поэтому она возвращает значение -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
Редактировать
Твиттер
Фейсбук
Эл. адрес
- Статья
- 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.