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

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

Разработчик

Ссылка OSKextLib.h

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

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

Ссылка OSKextLib.h

Объявляет функции, основные возвращаемые значения и другие константы, связанные с расширениями ядра (kexts).

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

  • <sys/cdefs.h>

  • <stdint.h>

  • <mach/kmod.h>

  • <mach/vm_types.h>

  • <libkern/OSTypes.h>

  • <libkern/OSReturn.h>

Функции

Поддержка слабых ссылок на символы в kexts.

  • Проверки, был ли разрешен слабо ссылаемый символ.

    Объявление

    Objective C

    #define OSKextSymbolIsResolved(weak_sym) \ (&(weak_sym) != gOSKextUnresolved)

    Параметры

    weak_sym

    Слабый символ, который будет протестирован на разрешение.

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

    TRUE если weak_sym разрешен, или FALSE если не разрешен weak_sym.

    Обсуждение

    Если слабые символы разрешены, это - макрос удобства для тестирования.

    Пример для слабого символа называют foo:

    • if (OSKextSymbolIsResolved(foo)) {
    • foo();
    • } else {
    • printf("foo() is not resolved\n");
    • }

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

    Objective C

    #include <OSKextLib.h>;

    Доступность

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

Функции для подачи с запросами к kextd в пространстве пользователя.

  • Отменяет незаконченное пространство пользователя kext запрос, не вызывая обратный вызов.

    Объявление

    Objective C

    OSReturn OSKextCancelRequest ( OSKextRequestTag requestTag, void **contextOut );

    Параметры

    requestTag

    Тег, идентифицирующий незаконченный запрос.

    contextOut

    Если не -NULL, заполненный указателем контекста, первоначально переданным с запросом.

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

    kOSReturnSuccess если успешно отменяется запрос. kOSKextReturnNotFound если requestTag не идентифицирует незаконченного запроса.Прочее. OSKextReturn... ошибки возможны.

    Обсуждение

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

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

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

    Objective C

    #include <OSKextLib.h>;

    Доступность

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

  • Запрашивает данные от нелокализованного файла ресурсов в пакете kext на диске.

    Объявление

    Objective C

    OSReturn OSKextRequestResource ( const char *kextIdentifier, const char *resourceName, OSKextRequestResourceCallback callback, void *context, OSKextRequestTag *requestTagOut );

    Параметры

    kextIdentifier

    CFBundleIdentifier kext, из которого можно считать файл.

    resourceName

    Имя файла ресурсов для чтения.

    callback

    Указатель на функцию обратного вызова; адрес должен быть в загруженном в настоящее время kext.

    context

    Указатель на произвольные данные во время выполнения, которые будут переданы обратному вызову, когда это будет вызвано. Может быть NULL.

    requestTagOut

    Если не -NULL, заполненный на успехе тегом, идентифицирующим незаконченный запрос (или при отказе с kOSKextRequestTagInvalid; может использоваться с OSKextCancelRequest.

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

    kOSReturnSuccess если запрос успешно ставится в очередь. kOSKextReturnInvalidArgument если kextIdentifier или resourceName или если callback не адрес в загруженной kext исполнимой программе. kOSKextReturnStopping если разгрузить попытка предпринимается на kext, содержащем callback.Прочее. OSKextReturn... ошибки возможны.

    Обсуждение

    Этот функциональные очереди асинхронный запрос к пространству пользователя kext демон kextd(8); запросы на ресурсы рано в системном запуске не будут обработаны, пока не запустит тот демон. Запросы, сделанные kext, в то время как это kext загружается (в частности в модуле kext запускают подпрограмму), не будут обработаны до окончания возвратов подпрограммы запуска и kext полностью загружается. Kexts, запрашивающий ресурсы, несомненно, должен будет выполнить надлежащую блокировку в функции обратного вызова.

    Ресурсы Kext сохранены в дисковом пакете kext под подкаталогом Ресурсов. См. Руководство по программированию Пакета для обзора структуры пакета. Контекст локализации kext демона (а именно, тот из суперпользователя) будет использоваться в получении ресурсов; ресурсы kext, предназначенные для использования в ядре, не должны обычно локализоваться.

    callback как гарантируют, будет вызван кроме тех случаев, когда:

    • OSKextCancelRequest используется для отмены запроса. В этом случае kext добирается context указатель и может очистить его.

    • Запрос выполнен во время модуля kext, запускают подпрограмму, и подпрограмма запуска возвращает ошибку. В этом случае обратные вызовы не могут быть безопасно вызваны, таким образом, kext должен очистить все контексты запроса при возврате ошибки из подпрограммы запуска.

    Kexts с незаконченными запросами не подвергаются для авторазгружений, но запросы подвергаются тайм-ауту после нескольких минут. Если то количество времени передает без ответа от пространства пользователя, callback вызывается с результатом. kOSKextReturnTimeout.

    Явно разгруженные Kexts имеют все незаконченные обратные вызовы запроса, вызванные с результатом kOSKextReturnStopping. Даже если его подпрограмма остановки предотвратит разгрузку, kext должен обработать эти обратные вызовы. Если kext действительно предотвращает разгрузку, он может переиздать запросы ресурса за пределами функции остановки.

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

    Objective C

    #include <OSKextLib.h>;

    Доступность

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

Функции для загрузки и отслеживания kexts в ядре.

  • Запросите, чтобы был загружен kext.

    Объявление

    Objective C

    OSReturn OSKextLoadKextWithIdentifier ( const char *kextIdentifier );

    Параметры

    kextIdentifier

    Идентификатор пакета kext, который будет загружен.

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

    kOSReturnSuccess если kext был загружен (или был уже загружен). kOSKextReturnDeferred если kext не был найден, и запрос был поставлен в очередь к kextd(8). Другие возвращаемые значения указывают отказ загрузить kext.

    Обсуждение

    Если kext уже находится в ядре, но не загружен, это сразу загружается. Если это не найдено, асинхронный запрос загрузки выполнен, чтобы kextd(8) и kOSKextReturnDeferred возвращается. Нет никакого общего механизма уведомления или обратного вызова для запросов загрузки.

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

    Objective C

    #include <OSKextLib.h>;

    Доступность

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

  • Выпустите загруженный kext на основе его тега загрузки.

    Объявление

    Objective C

    OSReturn OSKextReleaseKextWithLoadTag ( OSKextLoadTag loadTag );

    Параметры

    loadTag

    Тег загрузки kext, который будет выпущен. Посмотрите OSKextGetCurrentLoadTag.

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

    kOSReturnSuccess если был выпущен kext. kOSKextReturnNotFound если не был найден kext. kOSKextReturnInvalidArgument если loadTag kOSKextInvalidLoadTag.

    Обсуждение

    kext должен был быть сохранен ранее через OSKextRetainKextWithLoadTag.

    Эта функция планирует авторазгрузить сканирование для всего kexts. То, когда то сканирование происходит, если kext имеет, авторазгружаются, включило, это будет разгружено, если не будет никаких выдающихся ссылок на него и нет никаких экземпляров его классов C++ Libkern (если таковые имеются).

    Kexts, определяющие подклассы IOService имейте авторазгружаются, включил автоматически. Другой kexts может использовать подсчет ссылок для управления автоматический, разгружаются, не имея необходимость определять и создавать объекты C++ Libkern. Например, файловая система kext может быть сохранена каждый раз, когда новое монтирование создано и выпущено, когда удалено монтирование. Когда последнее монтирование будет удалено, kext будет разгружен после краткой задержки.

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

    kext может получить свой собственный тег загрузки с помощью OSKextGetCurrentLoadTag.

    Kexts не должен сохранять и выпускать другой kexts; ссылки связи составлены внутренне.

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

    Objective C

    #include <OSKextLib.h>;

    Доступность

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

  • Сохраните загруженный kext на основе его тега загрузки и включите, авторазгружают для этого kext.

    Объявление

    Objective C

    OSReturn OSKextRetainKextWithLoadTag ( OSKextLoadTag loadTag );

    Параметры

    loadTag

    Тег загрузки kext, который будет сохранен. Посмотрите OSKextGetCurrentLoadTag.

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

    kOSReturnSuccess если был сохранен kext. kOSKextReturnNotFound если не был найден kext. kOSKextReturnInvalidArgument если loadTag kOSKextInvalidLoadTag.

    Обсуждение

    Сохранение kext препятствует тому, чтобы он был разгружен, или явно или автоматически, и включает, авторазгружаются для kext. То, когда авторазгружаются, включено, затем вскоре после того, как последняя ссылка kext отбрасывается, она будет разгружена, если не будет никаких выдающихся ссылок на нее и нет никаких экземпляров его подклассов C++ Libkern (если таковые имеются).

    Kexts, определяющие подклассы IOService имейте авторазгружаются, включил автоматически. Другой kexts может использовать подсчет ссылок для управления автоматический, разгружаются, не имея необходимость определять и создавать объекты C++ Libkern. Например, файловая система kext может сохранить себя каждый раз, когда новое монтирование создается, и выпустите себя, когда удалено монтирование. Когда последнее монтирование будет удалено, kext будет разгружен после краткой задержки.

    kext может получить свой собственный тег загрузки с помощью OSKextGetCurrentLoadTag.

    Kexts не должен сохранять и выпускать другой kexts; ссылки связи составлены внутренне.

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

    Objective C

    #include <OSKextLib.h>;

    Доступность

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

Типы, константы и макросы, предоставляющие kext информацию о себе.

  • Возвращает CFBundleIdentifier для вызова kext как струна до.

    Объявление

    Objective C

    const char * OSKextGetCurrentIdentifier ( void );

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

    CFBundleIdentifier для вызова kext как струна до.

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

    Objective C

    #include <OSKextLib.h>;

    Доступность

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

  • Возвращает тег загрузки во время выполнения для вызова kext как OSKextLoadTag.

    Объявление

    Objective C

    OSKextLoadTag OSKextGetCurrentLoadTag ( void );

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

    Загрузка во время выполнения тегирует для вызова kext как OSKextLoadTag.

    Обсуждение

    Тег загрузки идентифицирует этот загруженный экземпляр kext к ядру и к функциям ядра, воздействующим на kexts.

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

    Objective C

    #include <OSKextLib.h>;

    Доступность

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

  • Возвращает CFBundleVersion для вызова kext как струна до.

    Объявление

    Objective C

    const char * OSKextGetCurrentVersionString ( void );

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

    CFBundleVersion для вызова kext как струна до.

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

    Objective C

    #include <OSKextLib.h>;

    Доступность

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

Обратные вызовы

Функции для подачи с запросами к kextd в пространстве пользователя.

  • Вызванный для обеспечения результатов для kext запроса ресурса.

    Объявление

    Objective C

    typedef void ( *OSKextRequestResourceCallback)( OSKextRequestTag requestTag, OSReturn result, const void *resourceData, uint32_t resourceDataLength, void *context);

    Параметры

    requestTag

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

    result

    Результат запроса: kOSReturnSuccess если был обработан запрос; kOSKextReturnTimeout если запрос испытал таймаут; kOSKextReturnStopping если разгружается kext, содержащий адрес обратного вызова для kext; или другие значения на ошибке.

    resourceData

    Указатель на требуемые данные ресурсов. Принадлежавший системе; kext должен сделать копию, если он должен сохранить данные мимо обратного вызова.

    resourceDataLength

    Длина resourceData.

    context

    Указатель контекста первоначально передал OSKextRequestResource.

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

    Objective C

    #include <OSKextLib.h>;

    Доступность

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

Типы данных

Посмотрите раздел Overview выше для документации уровня заголовка.

  • Уникальный идентификатор присвоился к загруженному instanace kext.

    Объявление

    Objective C

    typedef uint32_t OSKextLoadTag;

    Обсуждение

    Если kext разгружен и позже перезагружен, новый экземпляр имеет различный тег загрузки.

    kext может вложить свой собственный тег загрузки kmod_info_t структура, переданная в ее модуль, запускает подпрограмму, как id поле (бросок к этому типу). Можно использовать тег загрузки с функциями OSKextRetainKextWithLoadTag и OSKextReleaseKextWithLoadTag.

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

    Objective C

    #include <OSKextLib.h>;

    Доступность

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

  • Идентифицирует запрос kext, выполненный для пространства пользователя.

    Объявление

    Objective C

    typedef uint32_t OSKextRequestTag;

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

    Objective C

    #include <OSKextLib.h>;

    Доступность

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

Константы

Посмотрите раздел Overview выше для документации уровня заголовка.

  • Объявление

    Objective C

    #define kIOKitPersonalitiesKey "IOKitPersonalities" #define kOSBundleAllowUserLoadKey "OSBundleAllowUserLoad" #define kOSBundleCompatibleVersionKey "OSBundleCompatibleVersion" #define kOSBundleEnableKextLoggingKey "OSBundleEnableKextLogging" #define kOSBundleIsInterfaceKey "OSBundleIsInterface" #define kOSBundleLibrariesKey "OSBundleLibraries" #define kOSBundleRequiredConsole "Console" #define kOSBundleRequiredKey "OSBundleRequired" #define kOSBundleRequiredLocalRoot "Local-Root" #define kOSBundleRequiredNetworkRoot "Network-Root" #define kOSBundleRequiredRoot "Root" #define kOSBundleRequiredSafeBoot "Safe Boot" #define kOSBundleSharedExecutableIdentifierKey "OSBundleSharedExecutableIdentifier" #define kOSKernelResourceKey "OSKernelResource" #define kOSKextInvalidLoadTag ((OSKextLoadTag)(-1)) #define kOSKextKernelIdentifier "__kernel__" #define kOSKextRequestTagInvalid ((OSKextRequestTag)-1) #define kOSKextReturnArchNotFound libkern_kext_err(0xf) #define kOSKextReturnAuthentication libkern_kext_err(0xd) #define kOSKextReturnBadData libkern_kext_err(0x7) #define kOSKextReturnBootLevel libkern_kext_err(0x12) #define kOSKextReturnCache libkern_kext_err(0x10) #define kOSKextReturnDeferred libkern_kext_err(0x11) #define kOSKextReturnDependencies libkern_kext_err(0xe) #define kOSKextReturnDependencyLoadError libkern_kext_err(0x15) #define kOSKextReturnDisabled libkern_kext_err(0xa) #define kOSKextReturnInternalError libkern_kext_err(0x1) #define kOSKextReturnInUse libkern_kext_err(0x18) #define kOSKextReturnInvalidArgument libkern_kext_err(0x5) #define kOSKextReturnLinkError libkern_kext_err(0x16) #define kOSKextReturnLoadedVersionDiffers libkern_kext_err(0x14) #define kOSKextReturnNoMemory libkern_kext_err(0x2) #define kOSKextReturnNoResources libkern_kext_err(0x3) #define kOSKextReturnNotAKext libkern_kext_err(0xb) #define kOSKextReturnNotFound libkern_kext_err(0x6) #define kOSKextReturnNotLoadable libkern_kext_err(0x13) #define kOSKextReturnNotPrivileged libkern_kext_err(0x4) #define kOSKextReturnSerialization libkern_kext_err(0x8) #define kOSKextReturnStartStopError libkern_kext_err(0x17) #define kOSKextReturnStopping libkern_kext_err(0x1a) #define kOSKextReturnTimeout libkern_kext_err(0x19) #define kOSKextReturnUnsupported libkern_kext_err(0x9) #define kOSKextReturnValidation libkern_kext_err(0xc)

    Константы

    • kIOKitPersonalitiesKey

      kIOKitPersonalitiesKey

      Словарь словарей используется в соответствии для драйверов Набора I/O.

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

    • kOSBundleAllowUserLoadKey

      kOSBundleAllowUserLoadKey

      Булево значение, указывающее, ли kextcache(8) удостоит чести запрос некорневого процесса загружать kext.

      Посмотрите KextManagerLoadKextWithURL и KextManagerLoadKextWithIdentifier.

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

    • kOSBundleCompatibleVersionKey

      kOSBundleCompatibleVersionKey

      Строка, дающая назад-совместимую-версию библиотеки kext в расширенном Mac OS 'vers' формат (####.##.##s {1-255}, где' этап сборки 'd', 'b', 'f' или 'ФК').

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

    • kOSBundleEnableKextLoggingKey

      kOSBundleEnableKextLoggingKey

      Набор к истине для имения ядра kext журналирование спецификации применился к kext. Посмотрите OSKextLogSpec.

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

    • kOSBundleIsInterfaceKey

      kOSBundleIsInterfaceKey

      Булево значение, указывающее, содержит ли kext исполнимая программа только ссылки символа.

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

    • kOSBundleLibrariesKey

      kOSBundleLibrariesKey

      Перечисление словаря соединяет зависимости для этого kext. Ключи являются идентификаторами пакета, значения являются строками версии.

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

    • kOSBundleRequiredConsole

      kOSBundleRequiredConsole

      Это OSBundleRequired значение указывает, что kext может быть необходим для консольного доступа (в частности в однопользовательском запуске, когда kextd(8). не работает), и должен быть загружен во время раннего запуска.

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

    • kOSBundleRequiredKey

      kOSBundleRequiredKey

      Строка, указывающая, в которых видах запуска этот kext, возможно, должен загрузиться во время раннего запуска (прежде чем kextcache(8)).

      Значение является одним из:

      Используйте это свойство рассудительно. Каждый kext, объявляющий значение кроме времени запуска увеличений «OSBundleRequiredSafeBoot» как футболист, должен считать его в память или запуститься, kext кэши должны включать его.

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

    • kOSBundleRequiredLocalRoot

      kOSBundleRequiredLocalRoot

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

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

    • kOSBundleRequiredNetworkRoot

      kOSBundleRequiredNetworkRoot

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

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

    • kOSBundleRequiredRoot

      kOSBundleRequiredRoot

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

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

    • kOSBundleRequiredSafeBoot

      kOSBundleRequiredSafeBoot

      Это OSBundleRequired значение указывает, что kext может быть загружен во время безопасного запуска. Это значение обычно не заставляет kext быть считанным футболистом или включенным в запуск kext кэши.

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

    • kOSBundleSharedExecutableIdentifierKey

      kOSBundleSharedExecutableIdentifierKey

      Осуждаемый (используемый на некоторых выпусках Mac OS X до 10,6 Snow Leopard). Значение является идентификатором пакета pseudokext, содержащего исполнимую программу, совместно использованную этим kext.

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

    • kOSKernelResourceKey

      kOSKernelResourceKey

      Булево значение, указывающее, представляет ли kext встроенный компонент ядра.

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

    • kOSKextInvalidLoadTag

      kOSKextInvalidLoadTag

      Значение тега загрузки, которое никогда не будет использоваться для загруженного kext; указывает kext, не найденный.

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

    • kOSKextKernelIdentifier

      kOSKextKernelIdentifier

      Это - пользователь CFBundleIdentifier для самого ядра.

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

    • kOSKextRequestTagInvalid

      kOSKextRequestTagInvalid

      Значение тега запроса, которое никогда не будет использоваться для запроса kext; указывает отказ создавать/ставить запрос в очередь.

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

    • kOSKextReturnArchNotFound

      kOSKextReturnArchNotFound

      Kext не содержит код для требуемой архитектуры.

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

    • kOSKextReturnAuthentication

      kOSKextReturnAuthentication

      Отказы Authetication встретились; проверьте диагностику на подробные данные.

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

    • kOSKextReturnBadData

      kOSKextReturnBadData

      Некорректные данные (не используемый для XML).

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

    • kOSKextReturnBootLevel

      kOSKextReturnBootLevel

      Kext, не загружаемый или работа, не позволенная на текущем уровне начальной загрузки.

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

    • kOSKextReturnCache

      kOSKextReturnCache

      Ошибка произошла, обработав систему kext кэш.

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

    • kOSKextReturnDeferred

      kOSKextReturnDeferred

      Работа была отправлена асинхронно на пространство пользователя (только ядро).

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

    • kOSKextReturnDependencies

      kOSKextReturnDependencies

      Отказы разрешения зависимости встретились; проверьте диагностику на подробные данные.

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

    • kOSKextReturnDependencyLoadError

      kOSKextReturnDependencyLoadError

      Ошибка загрузки произошла на зависимости kext быть загруженным.

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

    • kOSKextReturnDisabled

      kOSKextReturnDisabled

      Работа в настоящее время отключается.

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

    • kOSKextReturnInternalError

      kOSKextReturnInternalError

      Внутренняя ошибка в kext библиотеке. Контраст с OSReturnError.

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

    • kOSKextReturnInUse

      kOSKextReturnInUse

      kext используется в настоящее время или имеет выдающиеся ссылки и не может быть разгружен.

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

    • kOSKextReturnInvalidArgument

      kOSKextReturnInvalidArgument

      Недействительный аргумент.

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

    • kOSKextReturnLinkError

      kOSKextReturnLinkError

      Отказ канала произошел с этим kext или зависимостью.

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

    • kOSKextReturnLoadedVersionDiffers

      kOSKextReturnLoadedVersionDiffers

      Различная версия (или исполнимый UUID или исполнимая программа контрольной суммой) требуемого kext уже загружается.

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

    • kOSKextReturnNoMemory

      kOSKextReturnNoMemory

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

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

    • kOSKextReturnNoResources

      kOSKextReturnNoResources

      Некоторый ресурс кроме памяти (такой как доступные теги загрузки) исчерпывается.

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

    • kOSKextReturnNotAKext

      kOSKextReturnNotAKext

      Пакет не является расширением ядра.

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

    • kOSKextReturnNotFound

      kOSKextReturnNotFound

      Поисковый элемент, не найденный.

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

    • kOSKextReturnNotLoadable

      kOSKextReturnNotLoadable

      Kext не может быть загружен; проверьте диагностику на подробные данные.

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

    • kOSKextReturnNotPrivileged

      kOSKextReturnNotPrivileged

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

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

    • kOSKextReturnSerialization

      kOSKextReturnSerialization

      Ошибочное преобразование или (ООН), сериализирующая URL, строку или XML.

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

    • kOSKextReturnStartStopError

      kOSKextReturnStartStopError

      kext запускаются или останавливаются, подпрограмма возвратила ошибку.

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

    • kOSKextReturnStopping

      kOSKextReturnStopping

      kext находится в процессе остановки; запросы не могут быть выполнены.

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

    • kOSKextReturnTimeout

      kOSKextReturnTimeout

      Запрос kext испытал таймаут.

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

    • kOSKextReturnUnsupported

      kOSKextReturnUnsupported

      Работа или еще больше не поддерживается.

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

    • kOSKextReturnValidation

      kOSKextReturnValidation

      Отказы проверки встретились; проверьте диагностику на подробные данные.

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

  • Объявление

    Objective C

    extern const void * gOSKextUnresolved;

    Константы

    • gOSKextUnresolved

      gOSKextUnresolved

      Значение, с которым связываются неразрешенные, слабо ссылаемые символы kext.

      kext должен протестировать слабый символ перед использованием его. Слабый символ только безопасно использовать, если это не равно gOSKextUnresolved.

      Пример для слабого символа называют foo:

      • if (&foo != gOSKextUnresolved) {
      • foo();
      • } else {
      • printf("foo() is not supported\n");
      • }

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