Ссылка 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 и позже.
-