Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка IOLib.h

Опции
Развертывание Target:

На этой странице

Ссылка IOLib.h

Включенные заголовки

  • <stdarg.h>

  • <sys/cdefs.h>

  • <sys/appleapiopts.h>

  • <IOKit/system.h>

  • <IOKit/IOReturn.h>

  • <IOKit/IOTypes.h>

  • <IOKit/IOLocks.h>

  • <libkern/OSAtomic.h>

  • <kern/thread_call.h>

  • <kern/clock.h>

Функции

  • Возвращает osfmk идентификатор для в настоящее время рабочего потока.

    Объявление

    Objective C

    #define IOThreadSelf() (current_thread())

    Обсуждение

    Эта функция возвращает текущий поток (указатель на в настоящее время активный osfmk thread_shuttle).

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Введите отладчик ядра.

    Объявление

    Objective C

    void Debugger ( void );

    Параметры

    reason

    Струна до для описания, почему вводится отладчик.

    Обсуждение

    Эта функция замораживает ядро и вводит встроенный отладчик. Может не быть возможно выйти из отладчика без второй машины.

    Оператор импорта

    Objective C

    #include <MacTypes.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.8.

  • Осуждаемая функция - использует kernel_thread_start (). Создайте поток ядра.

    Объявление

    Objective C

    IOThread IOCreateThread ( IOThreadFunc function, void *argument );

    Параметры

    function

    C-указатель-функции, где поток начнет выполнение.

    argument

    Вызывающая сторона указала данные, которые будут переданы новому потоку.

    Возвращаемое значение

    Идентификатор IOThread для нового потока, эквивалентного osfmk thread_t.

    Обсуждение

    Эта функция создает поток ядра и передает переданный аргумент вызывающей стороны новому потоку. Предупреждение: значение, возвращенное этой функцией, не на 100% надежно. Существует состояние состязания, где возможно, что новый поток уже завершился перед этим вызовом возвраты. При том обстоятельстве возвратился IOThread, будет недопустимо. В целом существует мало, который может быть сделан с этим значением кроме, сравнивают его с 0. Сам поток может вызвать IOThreadSelf () 100% надежно, и это - предпочтенный механизм для управления состоянием IOThreads.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.6.

  • Задержка вращения в течение многих микросекунд.

    Объявление

    Objective C

    void IODelay ( unsigned int microseconds );

    Параметры

    microseconds

    Целое число микросекунд для вращения ожидает.

    Обсуждение

    Эта функция вращается для задержки для, по крайней мере, числа указанных микросекунд. Так как CPU занят, не вращая времени, сделан доступным для других процессов; этот метод задержки должен использоваться только в течение коротких периодов. Кроме того, AbsoluteTime базировался, APIs kern/clock.h обеспечивает более прекрасные задержки гранулярной и более низкой цены.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • IOExitThread IOExitThread (OS X v10.6)

    Осуждаемая функция - использует thread_terminate (). Оконечное выполнение текущего потока.

    Объявление

    Objective C

    void IOExitThread ( void );

    Обсуждение

    Эта функция уничтожает в настоящее время рабочий поток и не возвращается.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.6.

  • Сбрасывает кэш процессора для расширенной памяти.

    Объявление

    Objective C

    IOReturn IOFlushProcessorCache ( task_t task, IOVirtualAddress address, IOByteCount length );

    Параметры

    task

    Задача память отображается в.

    address

    Виртуальный адрес памяти.

    length

    Длина диапазона для установки.

    Возвращаемое значение

    Код IOReturn.

    Обсуждение

    Эта функция сбрасывает кэш процессора уже диапазона расширенной памяти. Отметьте в большинстве случаев, что предпочтительно использовать IOMemoryDescriptor:: подготовитесь и завершитесь для управления когерентностью кэш-памяти, так как они знают о требованиях архитектуры. Сбрасывание кэша процессора не требуется для когерентности в большинстве ситуаций.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Освобождает память, выделенную с IOMalloc.

    Объявление

    Objective C

    void IOFree ( void *address, vm_size_t size );

    Параметры

    address

    Указатель на выделенную память. Должно быть идентично результату @of предшествующий IOMalloc.

    size

    Размер памяти выделяется. Должно быть идентично размеру @the соответствующего IOMalloc

    Обсуждение

    Эта функция освобождает память, выделенную с IOMalloc, это может блокировать и так не должно быть вызвано от уровня прерывания или в то время как сохранена простая блокировка.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Освобождает память, выделенную с IOMallocAligned.

    Объявление

    Objective C

    void IOFreeAligned ( void *address, vm_size_t size );

    Параметры

    address

    Указатель на выделенную память.

    size

    Размер памяти выделяется.

    Обсуждение

    Эта функция освобождает память, выделенную с IOMallocAligned, это может блокировать и так не должно быть вызвано от уровня прерывания или в то время как сохранена простая блокировка.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Осуждаемый - используют IOBufferMemoryDescriptor. Освобождает память, выделенную с IOMallocContiguous.

    Объявление

    Objective C

    void IOFreeContiguous ( void *address, vm_size_t size );

    Параметры

    address

    Виртуальный адрес выделенной памяти.

    size

    Размер памяти выделяется.

    Обсуждение

    Эта функция освобождает память, выделенную с IOMallocContiguous, это может блокировать и так не должно быть вызвано от уровня прерывания или в то время как сохранена простая блокировка.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.6.

  • Освобождает память, выделенную с IOMallocPageable.

    Объявление

    Objective C

    void IOFreePageable ( void *address, vm_size_t size );

    Параметры

    address

    Виртуальный адрес выделенной памяти.

    size

    Размер памяти выделяется.

    Обсуждение

    Эта функция освобождает память, выделенную с IOMallocPageable, это может блокировать и так не должно быть вызвано от уровня прерывания или в то время как сохранена простая блокировка.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Зарегистрируйте сообщение к консоли в текстовом режиме и/var/log/system.log.

    Объявление

    Objective C

    void IOLog ( const char *format, ... );

    Параметры

    format

    printf () разрабатывает строку формата (см. printf (3) документация).

    other

    параметры описаны строкой формата.

    Обсуждение

    Эта функция позволяет драйверу регистрировать диагностическую информацию на экран во время многословных начальных загрузок, и к файлу журнала, найденному в/var/log/system.log. IOLog нельзя вызвать от контекста прерывания.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Зарегистрируйте сообщение к консоли в текстовом режиме и/var/log/system.log.

    Объявление

    Objective C

    void IOLogv ( const char *format, va_list ap );

    Параметры

    format

    printf () разрабатывает строку формата (см. printf (3) документация).

    ap

    stdarg (3) аргументы переменной стиля.

    Обсуждение

    Эта функция позволяет драйверу регистрировать диагностическую информацию на экран во время многословных начальных загрузок, и к файлу журнала, найденному в/var/log/system.log. IOLogv нельзя вызвать от контекста прерывания.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.6 и позже.

  • Выделяет общую цель, соединенную проводом память в карте ядра.

    Объявление

    Objective C

    void * IOMalloc ( vm_size_t size );

    Параметры

    size

    Размер памяти требуют.

    Возвращаемое значение

    Указатель на выделенную память или нуль при отказе.

    Обсуждение

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

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

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

    Объявление

    Objective C

    void * IOMallocAligned ( vm_size_t size, vm_offset_t alignment );

    Параметры

    size

    Размер памяти требуют.

    alignment

    Количество байта выравнивания для памяти. Например, передайте 256 для выделения памяти в адресе с разрядным нулем 0-7.

    Возвращаемое значение

    Указатель на выделенную память или нуль при отказе.

    Обсуждение

    Это - утилита для выделения памяти в ядре с ограничением выравнивания, указанным как количество байта. В то время как простая блокировка сохранена, эта функция может блокировать и так не должна быть вызвана от уровня прерывания или.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Осуждаемый - используют IOBufferMemoryDescriptor. Выделяет соединенную проводом память в карте ядра, с ограничением выравнивания и физически непрерывный.

    Объявление

    Objective C

    void * IOMallocContiguous ( vm_size_t size, vm_size_t alignment, IOPhysicalAddress *physicalAddress );

    Параметры

    size

    Размер памяти требуют.

    alignment

    Количество байта выравнивания для памяти. Например, передайте 256 для выделения памяти в адресе с битами нуль 0-7.

    physicalAddress

    Если physicalAddress является ненулевым указателем, IOMallocContiguous возвращает физический адрес выделенной памяти сюда. physicalAddress параметр осуждается и должен быть передан как NULL. Для получения физического адреса для буфера памяти используйте класс IODMACommand в сочетании с классами IOMemoryDescriptor или IOBufferMemoryDescriptor.

    Возвращаемое значение

    Виртуальный адрес выделенной памяти или нуль при отказе.

    Обсуждение

    Это - утилита для выделения памяти в ядре с ограничением выравнивания, которое указано как количество байта и выделит только физически непрерывную память. Если память фрагментируется и может вызвать большие суммы действия разбивки на страницы, запрос может перестать работать. В то время как простая блокировка сохранена, эта функция может блокировать и так не должна быть вызвана от уровня прерывания или.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.6.

  • Выделяет листаемую память в карте ядра.

    Объявление

    Objective C

    void * IOMallocPageable ( vm_size_t size, vm_size_t alignment );

    Параметры

    size

    Размер памяти требуют.

    alignment

    Количество байта выравнивания для памяти. Например, передайте 256 для выделения памяти в адресе с битами нуль 0-7.

    Возвращаемое значение

    Указатель на выделенную память или нуль при отказе.

    Обсуждение

    Это - утилита для выделения листаемой памяти в ядре. В то время как простая блокировка сохранена, эта функция может блокировать и так не должна быть вызвана от уровня прерывания или.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Считайте два байта из желаемого «Физического» адреса IOSpace.

    Объявление

    Objective C

    UInt16 IOMappedRead16 ( IOPhysicalAddress address );

    Параметры

    address

    Желаемый адрес, как возвращено IOMemoryDescriptor:: getPhysicalSegment.

    Возвращаемое значение

    Данные содержатся в том расположении

    Обсуждение

    Считайте два байта из желаемого «Физического» адреса IOSpace. Эта функция позволяет разработчику читать, адрес возвратился из getPhysicalSegment подпрограммы дескриптора любой памяти. Это может тогда использоваться путем сегментации физической страницы немного для тегирования физической страницы с ее виртуальным адресом пространства ядра.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.2 и позже.

  • Считайте четыре байта из желаемого «Физического» адреса IOSpace.

    Объявление

    Objective C

    UInt32 IOMappedRead32 ( IOPhysicalAddress address );

    Параметры

    address

    Желаемый адрес, как возвращено IOMemoryDescriptor:: getPhysicalSegment.

    Возвращаемое значение

    Данные содержатся в том расположении

    Обсуждение

    Считайте четыре байта из желаемого «Физического» адреса IOSpace. Эта функция позволяет разработчику читать, адрес возвратился из getPhysicalSegment подпрограммы дескриптора любой памяти. Это может тогда использоваться путем сегментации физической страницы немного для тегирования физической страницы с ее виртуальным адресом пространства ядра.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.2 и позже.

  • Считайте восемь байтов из желаемого «Физического» адреса IOSpace.

    Объявление

    Objective C

    UInt64 IOMappedRead64 ( IOPhysicalAddress address );

    Параметры

    address

    Желаемый адрес, как возвращено IOMemoryDescriptor:: getPhysicalSegment.

    Возвращаемое значение

    Данные содержатся в том расположении

    Обсуждение

    Считайте восемь байтов из желаемого «Физического» адреса IOSpace. Эта функция позволяет разработчику читать, адрес возвратился из getPhysicalSegment подпрограммы дескриптора любой памяти. Это может тогда использоваться путем сегментации физической страницы немного для тегирования физической страницы с ее виртуальным адресом пространства ядра.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.2 и позже.

  • Считайте один байт из желаемого «Физического» адреса IOSpace.

    Объявление

    Objective C

    UInt8 IOMappedRead8 ( IOPhysicalAddress address );

    Параметры

    address

    Желаемый адрес, как возвращено IOMemoryDescriptor:: getPhysicalSegment.

    Возвращаемое значение

    Данные содержатся в том расположении

    Обсуждение

    Считайте один байт из желаемого «Физического» адреса IOSpace. Эта функция позволяет разработчику читать, адрес возвратился из getPhysicalSegment подпрограммы дескриптора любой памяти. Это может тогда использоваться путем сегментации физической страницы немного для тегирования физической страницы с ее виртуальным адресом пространства ядра.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.2 и позже.

  • Запишите два байта в желаемый «Физический» адрес IOSpace.

    Объявление

    Objective C

    void IOMappedWrite16 ( IOPhysicalAddress address, UInt16 value );

    Параметры

    address

    Желаемый адрес, как возвращено IOMemoryDescriptor:: getPhysicalSegment.

    value

    Данные, которые будут записаны в желаемое расположение

    Обсуждение

    Запишите два байта в желаемый «Физический» адрес IOSpace. Эта функция позволяет разработчику писать в адрес, возвращенный из getPhysicalSegment подпрограммы дескриптора любой памяти.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.2 и позже.

  • Запишите четыре байта в желаемый «Физический» адрес IOSpace.

    Объявление

    Objective C

    void IOMappedWrite32 ( IOPhysicalAddress address, UInt32 value );

    Параметры

    address

    Желаемый адрес, как возвращено IOMemoryDescriptor:: getPhysicalSegment.

    value

    Данные, которые будут записаны в желаемое расположение

    Обсуждение

    Запишите четыре байта в желаемый «Физический» адрес IOSpace. Эта функция позволяет разработчику писать в адрес, возвращенный из getPhysicalSegment подпрограммы дескриптора любой памяти.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.2 и позже.

  • Запишите восемь байтов в желаемый «Физический» адрес IOSpace.

    Объявление

    Objective C

    void IOMappedWrite64 ( IOPhysicalAddress address, UInt64 value );

    Параметры

    address

    Желаемый адрес, как возвращено IOMemoryDescriptor:: getPhysicalSegment.

    value

    Данные, которые будут записаны в желаемое расположение

    Обсуждение

    Запишите восемь байтов в желаемый «Физический» адрес IOSpace. Эта функция позволяет разработчику писать в адрес, возвращенный из getPhysicalSegment подпрограммы дескриптора любой памяти.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.2 и позже.

  • Запишите один байт в желаемый «Физический» адрес IOSpace.

    Объявление

    Objective C

    void IOMappedWrite8 ( IOPhysicalAddress address, UInt8 value );

    Параметры

    address

    Желаемый адрес, как возвращено IOMemoryDescriptor:: getPhysicalSegment.

    value

    Данные, которые будут записаны в желаемое расположение

    Обсуждение

    Запишите один байт в желаемый «Физический» адрес IOSpace. Эта функция позволяет разработчику писать в адрес, возвращенный из getPhysicalSegment подпрограммы дескриптора любой памяти.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.2 и позже.

  • Задержка вращения в течение многих наносекунд.

    Объявление

    Objective C

    void IOPause ( unsigned int nanoseconds );

    Параметры

    microseconds

    Целое число наносекунд для вращения ожидает.

    Обсуждение

    Эта функция вращается для задержки для, по крайней мере, числа указанных наносекунд. Так как CPU занят, не вращая времени, сделан доступным для других процессов; этот метод задержки должен использоваться только в течение коротких периодов.

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.5 и позже.

  • Сон вызывающий поток для многих миллисекунд.

    Объявление

    Objective C

    void IOSleep ( unsigned int milliseconds );

    Параметры

    milliseconds

    Целое число миллисекунд для ожидания.

    Обсуждение

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

    Оператор импорта

    Objective C

    #include <IOLib.h>;

    Доступность

    Доступный в OS X v10.0 и позже.