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

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

Разработчик

Ссылка mac_policy.h

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

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

Ссылка mac_policy.h

Интерфейсы ядра для модулей политики MAC

Этот заголовок определяет список операций, определяющихся TrustedBSD MAC Framwork на Дарвине. Модули Политики MAC регистрируются в платформе для объявления интереса к определенному набору операций. Если интерес к точке входа не будет объявлен, то политика будет проигнорирована, когда Платформа оценит ту точку входа.

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

  • <security/_label.h>

Функции

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

Большинство политик (что использование маркирует) инициализирует метки путем выделения площади для специфичных для политики данных. В большинстве случаев разрешено спать во время операций инициализации метки; будет отмечено, когда это не будет разрешено.

Инициализация обычно не будет требовать выполнения больше, чем выделение универсальной метки для данного объекта. Что следует, инициализация является созданием, где метка сделана определенной для объекта, это связано с. Уничтожение происходит, когда метка больше не необходима, такой как тогда, когда уничтожается соответствующий объект. Вся необходимая очистка должна быть выполнена в метке, уничтожают операции.

Где возможно, точки входа метки имеют идентичные параметры. Если модуль политики не запрашивает специфичную для структуры информацию метки, та же функция может быть зарегистрирована в векторе работы политики. Много политик реализуют два таких универсальных вызова выделения: один для обрабатывания sleepable запросов, и один для обработки потенциально non-sleepable запросов.

  • mac_policy_register mac_policy_register Доступный в OS X v10.5 через OS X v10.5

    Процедура регистрации модуля политики MAC

    Объявление

    Objective C

    int mac_policy_register ( struct mac_policy_conf *mpc, mac_policy_handle_t *handlep, void *xd );

    Обсуждение

    Эта функция вызвана для регистрации политики в платформе MAC. Модуль политики будет обычно вызывать это от Дарвина процедура регистрации KEXT.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • mac_policy_unregister mac_policy_unregister Доступный в OS X v10.5 через OS X v10.5

    De-процедура-регистрации модуля политики MAC

    Объявление

    Objective C

    int mac_policy_unregister ( mac_policy_handle_t handle );

    Обсуждение

    Эта функция вызвана для вычеркивания из списка политики с платформой theD MAC. Модуль политики будет обычно вызывать это от Дарвина de-процедура-регистрации KEXT.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

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

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

Большинство политик (что использование маркирует) инициализирует метки путем выделения площади для специфичных для политики данных. В большинстве случаев разрешено спать во время операций инициализации метки; будет отмечено, когда это не будет разрешено.

Инициализация обычно не будет требовать выполнения больше, чем выделение универсальной метки для данного объекта. Что следует, инициализация является созданием, где метка сделана определенной для объекта, это связано с. Уничтожение происходит, когда метка больше не необходима, такой как тогда, когда уничтожается соответствующий объект. Вся необходимая очистка должна быть выполнена в метке, уничтожают операции.

Где возможно, точки входа метки имеют идентичные параметры. Если модуль политики не запрашивает специфичную для структуры информацию метки, та же функция может быть зарегистрирована в векторе работы политики. Много политик реализуют два таких универсальных вызова выделения: один для обрабатывания sleepable запросов, и один для обработки потенциально non-sleepable запросов.

  • Поствыбор события аудита

    Объявление

    Objective C

    typedef int mpo_audit_check_postselect_t( kauth_cred_t cred, unsigned short syscode, void *args, int error, int retval );

    Параметры

    cred

    Подчиненные учетные данные

    syscode

    Номер Syscall

    args

    Параметры Syscall

    error

    Syscall errno

    retval

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

    Это - поствыбор аудита Платформы MAC, который вызывают прежде, чем выйти из syscall, чтобы определить, должно ли фиксироваться событие аудита. Возвращаемое значение MAC_AUDIT_NO вынуждает запись аудита быть подавленной. Любое другое возвращаемое значение приводит к фиксировавшей записи аудита.

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

    Возвратите MAC_AUDIT_NO для принуждения утаивания записи аудита. Любое другое значение приводит к фиксировавшей записи аудита.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Предварительный выбор события аудита

    Объявление

    Objective C

    typedef int mpo_audit_check_preselect_t( kauth_cred_t cred, unsigned short syscode, void *args );

    Параметры

    cred

    Подчиненные учетные данные

    syscode

    Номер Syscall

    args

    Параметры Syscall

    Это - аудит Платформы MAC, предварительно выбираются, который вызывают, прежде чем syscall вводится, чтобы определить, должно ли быть создано событие аудита. Если политика MAC вынуждает syscall контролироваться, MAC_AUDIT_YES должен быть возвращен. Возвращаемое значение MAC_AUDIT_NO заставляет запись аудита быть подавленной. MAC_POLICY_DEFAULT возврата указывает, что политика хочет подчиниться существующему механизму предварительного выбора системы.

    Когда политики возвращают различные предпочтения, Платформа решает что действие взять на основе следующей политики. Если какая-либо политика возвращает MAC_AUDIT_YES, то создайте запись аудита, еще если какая-либо политика возвращает MAC_AUDIT_NO, то подавите создания записи аудита, еще подчинитесь существующему механизму предварительного выбора системы.

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

    Возвратите MAC_AUDIT_YES, чтобы вынудить контроль syscall, MAC_AUDIT_NO не вынудить контроль syscall, MAC_AUDIT_DEFAULT позволить контролировать механизмы, чтобы определить, контролируется ли syscall.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверьте, может ли BPF читать из сетевого интерфейса

    Объявление

    Objective C

    typedef int mpo_bpfdesc_check_receive_t( struct bpf_d *bpf_d, struct label *bpflabel, struct ifnet *ifp, struct label *ifnetlabel );

    Параметры

    bpf_d

    Предмет; дескриптор BPF

    bpflabel

    Метка политики для bpf_d

    ifp

    Объект; сетевой интерфейс

    ifnetlabel

    Метка политики для ifp

    Определите, должна ли платформа MAC разрешить дейтаграммам от переданного сетевого интерфейса быть поставленными буферам переданного дескриптора BPF. Возвратитесь (0) для успеха или значения errno для отказа. Предложенный отказ: EACCES для несоответствий метки, EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Свяжите дескриптор BPF с меткой

    Объявление

    Objective C

    typedef void mpo_bpfdesc_label_associate_t( kauth_cred_t cred, struct bpf_d *bpf_d, struct label *bpflabel );

    Параметры

    cred

    Пользовательские учетные данные, создающие дескриптор BPF

    bpf_d

    Дескриптор BPF

    bpflabel

    Новая метка

    Установите метку на недавно создаваемом дескрипторе BPF от переданных подчиненных учетных данных. Когда узел устройства BPF будет открыт процессом с переданными подчиненными учетными данными, этот вызов будет выполнен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку дескриптора BPF

    Объявление

    Objective C

    typedef void mpo_bpfdesc_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку дескриптора BPF. Так как дескриптор BPF выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку дескриптора BPF

    Объявление

    Objective C

    typedef void mpo_bpfdesc_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте метку для недавно инстанцированного дескриптора BPF. Сон разрешен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Укажите желание изменить метку процесса в исполнительное время

    Объявление

    Objective C

    typedef int mpo_cred_check_label_update_execve_t( kauth_cred_t old, struct vnode *vp, struct vnode *scriptvp, struct label *vnodelabel, struct label *scriptvnodelabel, struct label *execlabel, struct proc *p, void *macpolicyattr, size_t macpolicyattrlen );

    Параметры

    old

    Существующие подчиненные учетные данные

    vp

    Выполняемый файл

    vnodelabel

    Метка, соответствующая vp

    scriptvnodelabel

    Сценарий vnode метка

    execlabel

    Пространство пользователя обеспечило метку выполнения

    proc

    Объектный процесс

    macpolicyattr

    MAC специфичные для политики данные атрибута икры

    macpolicyattrlen

    Длина специфичной для политики икры приписывает данные

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

    Ненулевой, если переход требуется, 0 иначе.

    Обсуждение

    Укажите, намеревается ли эта политика обновить метку недавно создаваемых учетных данных от существующих подчиненных (старых) учетных данных. Когда процесс выполняет переданный vnode, этот вызов происходит. Если политика возвратит успех из этой точки входа, то mpo_cred_label_update_execve точку входа позже вызовут с теми же параметрами. Доступ был уже проверен через mpo_vnode_check_exec точку входа, эта точка входа необходима для сохранения ограничений блокировки ядра во время реализации программы.

    Предоставленный vnode и vnodelabel соответствуют файлу, фактически выполняемому; в случае, что файл интерпретируется (например, сценарий), метка исходного разового руководителем vnode была сохранена в scriptvnodelabel.

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

    Блокировка vnode сохранена во время этой работы. Никакие изменения не должны быть внесены в старую учетную структуру.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mac_execve
    mpo_cred_label_update_execve_t
    mpo_vnode_check_exec_t

  • Проверка управления доступом на перемаркировку процессов

    Объявление

    Objective C

    typedef int mpo_cred_check_label_update_t( kauth_cred_t cred, struct label *newlabel );

    Параметры

    cred

    Подчиненные учетные данные

    newlabel

    Новая метка для применения к пользовательским учетным данным

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

    Обсуждение

    Определите, может ли предмет, идентифицированный учетными данными, повторно маркировать себя к предоставленной новой метке (newlabel). Когда mac_set_proc системный вызов вызывается, эту проверку управления доступом вызывают. Приложение пространства пользователя предоставит новое значение, значение будет усвоено и предоставлено в newlabel.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_cred_label_update_t
    mac_set_proc

  • Проверка управления доступом на видимость других предметов

    Объявление

    Objective C

    typedef int mpo_cred_check_visible_t( kauth_cred_t u1, kauth_cred_t u2 );

    Параметры

    u1

    Подчиненные учетные данные

    u2

    Объектные учетные данные

    Определите, может ли предмет, идентифицированный учетными данными u1, «видеть» другие предметы с переданными подчиненными учетными данными u2. Этот вызов может быть выполнен во многих ситуациях, включая межпроцессное состояние sysctls используемый PS, и в procfs поисках.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки, EPERM из-за отсутствия полномочия или ESRCH для сокрытия видимости.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Свяжите учетные данные с новым процессом при ветвлении

    Объявление

    Objective C

    typedef void mpo_cred_label_associate_fork_t( kauth_cred_t cred, proc_t proc );

    Параметры

    cred

    учетные данные к наследованному новым процессом

    proc

    новый процесс

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте первый процесс

    Объявление

    Objective C

    typedef void mpo_cred_label_associate_kernel_t( kauth_cred_t cred );

    Параметры

    cred

    Подчиненные учетные данные, которые будут маркированы

    Создайте подчиненные учетные данные процесса 0, родителя всех процессов ядра BSD. Политики должны обновить метку в ранее инициализированной учетной структуре.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте учетную метку

    Объявление

    Objective C

    typedef void mpo_cred_label_associate_t( kauth_cred_t parent_cred, kauth_cred_t child_cred );

    Параметры

    parent_cred

    Родительские учетные данные

    child_cred

    Дочерние учетные данные

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте первый процесс

    Объявление

    Objective C

    typedef void mpo_cred_label_associate_user_t( kauth_cred_t cred );

    Параметры

    cred

    Подчиненные учетные данные, которые будут маркированы

    Создайте подчиненные учетные данные процесса 1, родитель всех пользовательских процессов BSD. Политики должны обновить метку в ранее инициализированной учетной структуре. Это - процесс 'init'.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте учетную метку

    Объявление

    Objective C

    typedef void mpo_cred_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте пользовательскую учетную метку. Так как пользовательские учетные данные выходят из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

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

    Объявление

    Objective C

    typedef int mpo_cred_label_externalize_audit_t( struct label *label, char *element_name, struct sbuf *sb );

    Параметры

    label

    Метка, которая будет воплощена

    element_name

    Имя пространства имен метки, для которого должны быть воплощены метки

    sb

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

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

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Воплотите пользовательскую учетную метку

    Объявление

    Objective C

    typedef int mpo_cred_label_externalize_t( struct label *label, char *element_name, struct sbuf *sb );

    Параметры

    label

    Метка, которая будет воплощена

    element_name

    Имя пространства имен метки, для которого должны быть воплощены метки

    sb

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

    Произведите внешнее представление метки на пользовательских учетных данных. Воплощенная метка состоит из текстового представления содержания метки, которое может использоваться с пользовательскими приложениями. Агностические политикой инструменты пространства пользователя выведут на экран эту воплощенную версию.

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте пользовательскую учетную метку

    Объявление

    Objective C

    typedef void mpo_cred_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте метку для недавно инстанцированных пользовательских учетных данных. Сон разрешен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Усвойте пользовательскую учетную метку

    Объявление

    Objective C

    typedef int mpo_cred_label_internalize_t( struct label *label, char *element_name, char *element_data );

    Параметры

    label

    Метка, которая будет усвоена

    element_name

    Имя пространства имен метки, для которого должна быть усвоена метка

    element_data

    Текстовые данные, которые будут усвоены

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

    Политика усваивает точки входа, будет вызван, только если политика зарегистрировала интерес к пространству имен метки.

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Учетные данные обновления в исполнительное время

    Объявление

    Objective C

    typedef void mpo_cred_label_update_execve_t( kauth_cred_t old_cred, kauth_cred_t new_cred, struct proc *p, struct vnode *vp, struct vnode *scriptvp, struct label *vnodelabel, struct label *scriptvnodelabel, struct label *execlabel, void *macpolicyattr, size_t macpolicyattrlen, int *disjointp );

    Параметры

    old_cred

    Существующие подчиненные учетные данные

    new_cred

    Новые подчиненные учетные данные, которые будут маркированы

    p

    Объектный процесс.

    vp

    Выполняемый файл

    vnodelabel

    Метка, соответствующая vp

    scriptvnodelabel

    Сценарий vnode метка

    execlabel

    Пространство пользователя обеспечило метку выполнения

    macpolicyattr

    MAC специфичные для политики данные атрибута икры.

    macpolicyattrlen

    Длина специфичной для политики икры приписывает данные.

    Обсуждение

    Обновите метку недавно создаваемых учетных данных (новых) от существующих подчиненных (старых) учетных данных. Этот вызов происходит, когда процесс выполняет переданный vnode, и один из загруженных модулей политики возвратил успех из mpo_cred_check_label_update_execve точки входа. Доступ был уже проверен через mpo_vnode_check_exec точку входа, эта точка входа только используется для обновления любого состояния политики.

    Предоставленный vnode и vnodelabel соответствуют файлу, фактически выполняемому; в случае, что файл интерпретируется (например, сценарий), метка исходного разового руководителем vnode была сохранена в scriptvnodelabel.

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

    Если не-NULL, значение, на которое указывает disjointp, будет установлен в 0 указать, что старые и новые учетные данные не являются непересекающимися, или 1, чтобы указать, что они.

    Блокировка vnode сохранена во время этой работы. Никакие изменения не должны быть внесены в старую учетную структуру.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mac_execve
    mpo_cred_check_label_update_execve_t
    mpo_vnode_check_exec_t

  • Обновите учетную метку

    Объявление

    Objective C

    typedef void mpo_cred_label_update_t( kauth_cred_t cred, struct label *newlabel );

    Параметры

    cred

    Существующие учетные данные

    newlabel

    Новая метка для применения к учетным данным

    Обсуждение

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_cred_check_label_update_t
    mac_set_proc

  • Создайте новое devfs устройство

    Объявление

    Objective C

    typedef void mpo_devfs_label_associate_device_t( dev_t dev, struct devnode *de, struct label *label, const char *fullpath );

    Параметры

    dev

    Главные и незначительные числа специального файла

    de

    «inode» нового файла устройств

    label

    Целевая метка

    fullpath

    Путь относительно монтирования (например,/dev) нового файла устройств

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте новый devfs каталог

    Объявление

    Objective C

    typedef void mpo_devfs_label_associate_directory_t( const char *dirname, int dirnamelen, struct devnode *de, struct label *label, const char *fullpath );

    Параметры

    dirname

    Имя нового каталога

    dirnamelen

    Длина 'dirname'

    de

    «inode» нового каталога

    label

    Целевая метка

    fullpath

    Путь относительно монтирования (например,/dev) нового каталога

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Скопируйте метку devfs

    Объявление

    Objective C

    typedef void mpo_devfs_label_copy_t( struct label *src, struct label *dest );

    Параметры

    src

    Источник devfs метка

    dest

    Целевая метка devfs

    Скопируйте информацию о метке от src до dest. devfs файловая система часто копирует (разделяет) существующие узлы устройства вместо того, чтобы создать новые.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку devfs

    Объявление

    Objective C

    typedef void mpo_devfs_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте devfs имя точки входа. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку devfs

    Объявление

    Objective C

    typedef void mpo_devfs_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте метку для недавно инстанцированной devfs записи. Сон разрешен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Обновите метку devfs после перемаркировки ее vnode

    Объявление

    Objective C

    typedef void mpo_devfs_label_update_t( struct mount *mp, struct devnode *de, struct label *delabel, struct vnode *vp, struct label *vnodelabel );

    Параметры

    mp

    Точка монтирования Devfs

    de

    Затронутая devfs запись каталога

    delabel

    Метка devfs записи каталога

    vp

    Vnode связался с de

    vnodelabel

    Новая метка vnode

    Обновите метку devfs, когда ее vnode будет вручную повторно маркирован, например с setfmac (1). Как правило, это просто скопирует метку vnode в метку devfs.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Управление доступом для изменения смещения дескриптора файла

    Объявление

    Objective C

    typedef int mpo_file_check_change_offset_t( kauth_cred_t cred, struct fileglob *fg, struct label *label );

    Параметры

    cred

    Подчиненные учетные данные

    fg

    Структура Fileglob

    label

    Метка политики для fg

    Определите, может ли предмет, идентифицированный учетными данными, изменить смещение файла, представленного fg.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Управление доступом для создания дескриптора файла

    Объявление

    Objective C

    typedef int mpo_file_check_create_t( kauth_cred_t cred );

    Параметры

    cred

    Подчиненные учетные данные

    Определите, может ли предмет, идентифицированный учетными данными, выделить новый дескриптор файла.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Управление доступом для дублирования дескриптора файла

    Объявление

    Objective C

    typedef int mpo_file_check_dup_t( kauth_cred_t cred, struct fileglob *fg, struct label *label, int newfd );

    Параметры

    cred

    Подчиненные учетные данные

    fg

    Структура Fileglob

    label

    Метка политики для fg

    newfd

    Новое число дескриптора файла

    Определите, может ли предмет, идентифицированный учетными данными, копировать fileglob структуру, представленную fg и как число дескриптора файла newfd.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на fcntl

    Объявление

    Objective C

    typedef int mpo_file_check_fcntl_t( kauth_cred_t cred, struct fileglob *fg, struct label *label, int cmd, user_long_t arg );

    Параметры

    cred

    Подчиненные учетные данные

    fg

    Структура Fileglob

    label

    Метка политики для fg

    cmd

    Работа управления, которая будет выполняться; см. fcntl (2)

    arg

    параметры fcnt; см. fcntl (2)

    Определите, может ли предмет, идентифицированный учетными данными, выполнить работу управления файлом, обозначенную cmd.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Управление доступом для получения смещения дескриптора файла

    Объявление

    Objective C

    typedef int mpo_file_check_get_offset_t( kauth_cred_t cred, struct fileglob *fg, struct label *label );

    Параметры

    cred

    Подчиненные учетные данные

    fg

    Структура Fileglob

    label

    Метка политики для fg

    Определите, может ли предмет, идентифицированный учетными данными, получить смещение файла, представленного fg.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на mac_get_fd

    Объявление

    Objective C

    typedef int mpo_file_check_get_t( kauth_cred_t cred, struct fileglob *fg, char *elements, int len );

    Параметры

    cred

    Подчиненные учетные данные

    fg

    Структура Fileglob

    elements

    Буфер элемента

    len

    Длина буфера

    Определите, нужно ли предмету, идентифицированному учетными данными, позволить получить воплощенную версию метки на объекте, обозначенном fd.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Управление доступом для наследования дескриптора файла

    Объявление

    Objective C

    typedef int mpo_file_check_inherit_t( kauth_cred_t cred, struct fileglob *fg, struct label *label );

    Параметры

    cred

    Подчиненные учетные данные

    fg

    Структура Fileglob

    label

    Метка политики для fg

    Определите, может ли предмет, идентифицированный учетными данными, наследовать fileglob структуру, представленную fg.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на файл ioctl

    Объявление

    Objective C

    typedef int mpo_file_check_ioctl_t( kauth_cred_t cred, struct fileglob *fg, struct label *label, unsigned int cmd );

    Параметры

    cred

    Подчиненные учетные данные

    fg

    Структура Fileglob

    label

    Метка политики для fg

    cmd

    ioctl команда; см. ioctl (2)

    Определите, может ли предмет, идентифицированный учетными данными, выполнить ioctl работу, обозначенную cmd.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на захват файла

    Объявление

    Objective C

    typedef int mpo_file_check_lock_t( kauth_cred_t cred, struct fileglob *fg, struct label *label, int op, struct flock *fl );

    Параметры

    cred

    Подчиненные учетные данные

    fg

    Структура Fileglob

    label

    Метка политики для fg

    op

    Работа блокировки (F_GETLK, F_SETLK, F_UNLK)

    fl

    Структура скопления

    Определите, может ли предмет, идентифицированный учетными данными, выполнить работу блокировки, обозначенную op и fl на файле, представленном fg.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Понизьте mmap меры защиты

    Объявление

    Objective C

    typedef void mpo_file_check_mmap_downgrade_t( kauth_cred_t cred, struct fileglob *fg, struct label *label, int *prot );

    Параметры

    cred

    Подчиненные учетные данные

    fg

    файл для отображения

    label

    Метка политики связалась с vp

    prot

    меры защиты mmap, которые будут понижены

    Понизьте mmap меры защиты на основе подчиненных и меток объектов.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на отображение файла

    Объявление

    Objective C

    typedef int mpo_file_check_mmap_t( kauth_cred_t cred, struct fileglob *fg, struct label *label, int prot, int flags, int *maxprot );

    Параметры

    cred

    Подчиненные учетные данные

    fg

    fileglob представление файла для отображения

    label

    Метка политики связалась с vp

    prot

    меры защиты mmap; см. mmap (2)

    flags

    Тип отображенного объекта; см. mmap (2)

    maxprot

    Максимальные права

    Определите, нужно ли предмету, идентифицированному учетными данными, позволить отобразить файл, представленный fg с мерами защиты, указанными в протестанте, maxprot поле содержит максимальные полномочия на новом отображении, комбинации VM_PROT_READ, VM_PROT_WRITE и VM_PROT_EXECUTE. Чтобы избежать переопределять предшествующие проверки управления доступом, политика должна только удалить флаги из maxprot.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Управление доступом для получения дескриптора файла

    Объявление

    Objective C

    typedef int mpo_file_check_receive_t( kauth_cred_t cred, struct fileglob *fg, struct label *label );

    Параметры

    cred

    Подчиненные учетные данные

    fg

    Структура Fileglob

    label

    Метка политики для fg

    Определите, может ли предмет, идентифицированный учетными данными, получить fileglob структуру, представленную fg.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на mac_set_fd

    Объявление

    Objective C

    typedef int mpo_file_check_set_t( kauth_cred_t cred, struct fileglob *fg, char *elements, int len );

    Параметры

    cred

    Подчиненные учетные данные

    fg

    Структура Fileglob

    elements

    Буфер элементов

    len

    Длина буфера элементов

    Определите, может ли предмет, идентифицированный учетными данными, выполнить mac_set_fd работу. mac_set_fd работа используется для соединения метки MAC с файлом.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте метку файла

    Объявление

    Objective C

    typedef void mpo_file_label_associate_t( kauth_cred_t cred, struct fileglob *fg, struct label *label );

    Параметры

    cred

    Подчиненные учетные данные

    fg

    Структура Fileglob

    label

    Метка политики для fg

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку файла

    Объявление

    Objective C

    typedef void mpo_file_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку файла

    Объявление

    Objective C

    typedef void mpo_file_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на перемаркировку сетевых интерфейсов

    Объявление

    Objective C

    typedef int mpo_ifnet_check_label_update_t( kauth_cred_t cred, struct ifnet *ifp, struct label *ifnetlabel, struct label *newlabel );

    Параметры

    cred

    Подчиненные учетные данные

    ifp

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

    ifnetlabel

    Текущая метка сетевых интерфейсов

    newlabel

    Новая метка для применения к сетевым интерфейсам

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

    Обсуждение

    Определите, может ли предмет, идентифицированный учетными данными, повторно маркировать сетевой интерфейс представленным ifp предоставленной новой метке (newlabel).

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_ifnet_label_update_t

  • Проверка управления доступом на перемаркировку сетевых интерфейсов

    Объявление

    Objective C

    typedef int mpo_ifnet_check_transmit_t( struct ifnet *ifp, struct label *ifnetlabel, struct mbuf *m, struct label *mbuflabel, int family, int type );

    Параметры

    ifp

    Сетевой интерфейс mbuf будет передан через

    ifnetlabel

    Метка сетевых интерфейсов

    m

    mbuf, который будет передан

    mbuflabel

    Метка mbuf, который будет передан

    family

    Семейство адресов, AF_*

    type

    Тип сокета, SOCK_ {STREAM, DGRAM, RAW}

    Определите, может ли mbuf с меткой mbuflabel быть передан через сетевой интерфейс, представленный ifp, имеющим метку ifnetlabel.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте метку сетевого интерфейса

    Объявление

    Objective C

    typedef void mpo_ifnet_label_associate_t( struct ifnet *ifp, struct label *ifnetlabel );

    Параметры

    ifp

    Сетевой интерфейс маркируется

    ifnetlabel

    Метка для сетевого интерфейса

    Установите метку недавно создаваемого сетевого интерфейса, наиболее вероятное использование информации в предоставленной структуре сетевого интерфейса.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Скопируйте метку ifnet

    Объявление

    Objective C

    typedef void mpo_ifnet_label_copy_t( struct label *src, struct label *dest );

    Параметры

    src

    Источник ifnet метка

    dest

    Целевая метка ifnet

    Скопируйте информацию о метке от src до dest.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку ifnet

    Объявление

    Objective C

    typedef void mpo_ifnet_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Воплотите метку ifnet

    Объявление

    Objective C

    typedef int mpo_ifnet_label_externalize_t( struct label *label, char *element_name, struct sbuf *sb );

    Параметры

    label

    Метка, которая будет воплощена

    element_name

    Имя пространства имен метки, для которого должны быть воплощены метки

    sb

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

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

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку ifnet

    Объявление

    Objective C

    typedef void mpo_ifnet_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Усвойте интерфейсную метку

    Объявление

    Objective C

    typedef int mpo_ifnet_label_internalize_t( struct label *label, char *element_name, char *element_data );

    Параметры

    label

    Метка, которая будет усвоена

    element_name

    Имя пространства имен метки, для которого должна быть усвоена метка

    element_data

    Текстовые данные, которые будут усвоены

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

    Политика усваивает точки входа, будет вызван, только если политика зарегистрировала интерес к пространству имен метки.

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Переработайте метку сетевого интерфейса

    Объявление

    Objective C

    typedef void mpo_ifnet_label_recycle_t( struct label *label );

    Параметры

    label

    Метка, которая будет переработана

    Переработайте метку сетевого интерфейса. Дарвин кэширует структуру ifnet отдельного ifnets в «свободном пуле». Прежде чем ifnets возвращаются к «свободному пулу», политики могут очистка или перезаписывать любое информационное настоящее в метке.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Обновите метку сетевого интерфейса

    Объявление

    Objective C

    typedef void mpo_ifnet_label_update_t( kauth_cred_t cred, struct ifnet *ifp, struct label *ifnetlabel, struct label *newlabel );

    Параметры

    cred

    Подчиненные учетные данные

    ifp

    Сетевой интерфейс, который будет повторно маркирован

    ifnetlabel

    Текущая метка сетевого интерфейса

    newlabel

    Новая метка для применения к сетевому интерфейсу

    Обсуждение

    Обновите метку на сетевом интерфейсе, с помощью предоставленной новой метки.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_ifnet_check_label_update_t

  • Проверка управления доступом на поставку пакета к сокету

    Объявление

    Objective C

    typedef int mpo_inpcb_check_deliver_t( struct inpcb *inp, struct label *inplabel, struct mbuf *m, struct label *mbuflabel, int family, int type );

    Параметры

    inp

    inpcb сокет связан с

    inplabel

    Метка inpcb

    m

    mbuf быть полученным

    mbuflabel

    Метка mbuf быть полученным

    family

    Семейство адресов, AF_*

    type

    Тип сокета, SOCK_ {STREAM, DGRAM, RAW}

    Определите, может ли mbuf с меткой mbuflabel быть получен сокетом, связанным с inpcb, имеющим метку inplabel.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте метку inpcb

    Объявление

    Objective C

    typedef void mpo_inpcb_label_associate_t( struct socket *so, struct label *solabel, struct inpcb *inp, struct label *inplabel );

    Параметры

    so

    Сокет, содержащий inpcb, который будет маркирован

    solabel

    Метка сокета

    inp

    inpcb, который будет маркирован

    inplabel

    Метка для inpcb

    Установите метку недавно создаваемого inpcb, наиболее вероятное использование информации в сокете и/или снабдите метку сокетом.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку inpcb

    Объявление

    Objective C

    typedef void mpo_inpcb_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку inpcb

    Объявление

    Objective C

    typedef int mpo_inpcb_label_init_t( struct label *label, int flag );

    Параметры

    label

    Новая метка для инициализации

    flag

    M_WAITOK или M_NOWAIT

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Переработайте метку inpcb

    Объявление

    Objective C

    typedef void mpo_inpcb_label_recycle_t( struct label *label );

    Параметры

    label

    Метка, которая будет переработана

    Переработайте метку inpcb. Дарвин выделяет inpcb как часть структуры сокета в некоторых случаях. Для этого случая мы должны переработать, а не уничтожить inpcb, поскольку это будет снова использовано позже.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Обновите метку inpcb от метки сокета

    Объявление

    Objective C

    typedef void mpo_inpcb_label_update_t( struct socket *so, struct label *solabel, struct inpcb *inp, struct label *inplabel );

    Параметры

    so

    Сокет, содержащий inpcb, который будет повторно маркирован

    solabel

    Новая метка сокета

    inp

    inpcb, который будет маркирован

    inplabel

    Метка для inpcb

    Установите метку недавно создаваемого inpcb вследствие изменения в базовой метке сокета.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Управление доступом оборудования устройства

    Объявление

    Objective C

    typedef int mpo_iokit_check_device_t( char *devtype, struct mac_module_data *mdata );

    Параметры

    devtype

    Тип устройства соединился

    properties

    XML-отформатированный список свойств

    proplen

    Длина списка свойств

    Это - управление доступом к устройствам Платформы MAC, которое вызывает Набор I/O, когда новое устройство подключено к системе, чтобы определить, нужно ли доверять тому устройству. Список свойств, связанных с устройством, передается как СТРОКА ФОРМАТА XML. Подпрограмма должна исследовать эти свойства для определения степени доверия устройства. Возвращаемое значение EPERM вынуждает устройство требоваться драйвером специального устройства, который предотвратит его работу.

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте метку очереди повторной сборки IP

    Объявление

    Objective C

    typedef void mpo_ipq_label_associate_t( struct mbuf *fragment, struct label *fragmentlabel, struct ipq *ipq, struct label *ipqlabel );

    Параметры

    fragment

    Сначала полученный фрагмент IP

    fragmentlabel

    Метка политики для фрагмента

    ipq

    Очередь повторной сборки IP, которая будет маркирована

    ipqlabel

    Метка политики, чтобы быть заполненным в для ipq

    Установите метку на недавно создаваемой очереди повторной сборки IP от mbuf заголовка первого полученного фрагмента.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Сравните mbuf начальную метку с меткой ipq

    Объявление

    Objective C

    typedef int mpo_ipq_label_compare_t( struct mbuf *fragment, struct label *fragmentlabel, struct ipq *ipq, struct label *ipqlabel );

    Параметры

    fragment

    Фрагмент дейтаграммы IP

    fragmentlabel

    Метка политики для фрагмента

    ipq

    Очередь повторной сборки фрагмента IP

    ipqlabel

    Метка политики для ipq

    Сравните метку mbuf заголовка, содержащего дейтаграмму IP (фрагмент) фрагмент с меткой переданной очереди повторной сборки фрагмента IP (ipq). Возвратитесь (1) для успешного соответствия, или (0) ни для какого соответствия. Когда стек IP пытается найти существующую очередь повторной сборки фрагмента для недавно полученного фрагмента, этот вызов выполняется; если это перестало работать, новая очередь повторной сборки фрагмента можно инстанцировать для фрагмента. Политики могут использовать эту точку входа для предотвращения повторной сборки иначе соответствия фрагментов IP, если политика не разрешает им быть повторно собранными на основе метки или другой информации.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку очереди повторной сборки IP

    Объявление

    Objective C

    typedef void mpo_ipq_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку очереди повторной сборки IP

    Объявление

    Objective C

    typedef int mpo_ipq_label_init_t( struct label *label, int flag );

    Параметры

    label

    Новая метка для инициализации

    flag

    M_WAITOK или M_NOWAIT

    Инициализируйте метку на недавно инстанцированной очереди повторной сборки фрагмента IP. Поле признака может быть одним из M_WAITOK и M_NOWAIT, и должно использоваться, чтобы избежать выполнять сон malloc (9) во время этого вызова инициализации. Выделение очереди повторной сборки фрагмента IP часто происходит в производительности чувствительные среды, и реализация должна стараться избежать спать или долгосрочные операции. Этой точке входа разрешают перестать работать получающийся в отказе выделить очередь повторной сборки фрагмента IP.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Обновите метку на очереди повторной сборки фрагмента IP

    Объявление

    Objective C

    typedef void mpo_ipq_label_update_t( struct mbuf *fragment, struct label *fragmentlabel, struct ipq *ipq, struct label *ipqlabel );

    Параметры

    fragment

    Фрагмент IP

    fragmentlabel

    Метка политики для фрагмента

    ipq

    Очередь повторной сборки фрагмента IP

    ipqlabel

    Метка политики, которая будет обновлена для ipq

    Обновите метку на очереди повторной сборки фрагмента IP (ipq) на основе принятия переданного фрагмента IP mbuf заголовок (фрагмент).

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на перемаркировку Контекста Входа в систему

    Объявление

    Objective C

    typedef int mpo_lctx_check_label_update_t( struct lctx *l, struct label *newlabel );

    Параметры

    l

    Подчиненные учетные данные

    newlabel

    Новая метка для применения к Контексту Входа в систему

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

    Обсуждение

    Определите, может ли предмет, идентифицированный учетными данными, повторно маркировать себя к предоставленной новой метке (newlabel). Когда mac_set_lctx/lcid системный вызов вызывается, эту проверку управления доступом вызывают. Приложение пространства пользователя предоставит новое значение, значение будет усвоено и предоставлено в newlabel.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_lctx_label_update_t
    mac_set_lcid
    mac_set_lctx

  • Уничтожьте метку Контекста Входа в систему

    Объявление

    Objective C

    typedef void mpo_lctx_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Воплотите метку Контекста Входа в систему

    Объявление

    Objective C

    typedef int mpo_lctx_label_externalize_t( struct label *label, char *element_name, struct sbuf *sb );

    Параметры

    label

    Метка, которая будет воплощена

    element_name

    Имя пространства имен метки, для которого должны быть воплощены метки

    sb

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

    Произведите внешнее представление метки на Контексте Входа в систему. Воплощенная метка состоит из текстового представления содержания метки, которое может использоваться с пользовательскими приложениями. Агностические политикой инструменты пространства пользователя выведут на экран эту воплощенную версию.

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку Контекста Входа в систему

    Объявление

    Objective C

    typedef void mpo_lctx_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Усвойте метку Контекста Входа в систему

    Объявление

    Objective C

    typedef int mpo_lctx_label_internalize_t( struct label *label, char *element_name, char *element_data );

    Параметры

    label

    Метка, которая будет усвоена

    element_name

    Имя пространства имен метки, для которого должна быть усвоена метка

    element_data

    Текстовые данные, которые будут усвоены

    Произведите метку Контекста Входа в систему из внешнего представления. Воплощенная метка состоит из текстового представления содержания метки, которое может использоваться с пользовательскими приложениями. Агностические политикой инструменты пространства пользователя передадут текстовую версию ядру для обработки отдельными модулями политики.

    Политика усваивает точки входа, будет вызван, только если политика зарегистрировала интерес к пространству имен метки.

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Обновите метку Контекста Входа в систему

    Объявление

    Objective C

    typedef void mpo_lctx_label_update_t( struct lctx *l, struct label *newlabel );

    Параметры

    l
    newlabel

    Новая метка для применения к Контексту Входа в систему

    Обсуждение

    Обновите метку на контексте входа в систему, с помощью предоставленной новой метки. Это вызывают в результате работы переметки контекста входа в систему. Управление доступом было уже подтверждено mpo_lctx_check_label_update.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_lctx_check_label_update_t
    mac_set_lcid
    mac_set_lctx

  • Процесс создал контекст входа в систему

    Объявление

    Objective C

    typedef void mpo_lctx_notify_create_t( struct proc *p, struct lctx *l );

    Параметры

    p

    Предмет

    l

    Контекст входа в систему

    Когда процесс создает контекст входа в систему (через setlcid ()), этот entrypoint вызывают для уведомления политики, что процесс 'p' создал контекст входа в систему 'l'.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Процесс присоединился к контексту входа в систему

    Объявление

    Objective C

    typedef void mpo_lctx_notify_join_t( struct proc *p, struct lctx *l );

    Параметры

    p

    Предмет

    l

    Контекст входа в систему

    То, когда процесс присоединяется к контексту входа в систему, любому через setlcid () или через ветвление (), этот entrypoint вызывают для уведомления политики, которые обрабатывают 'p', является теперь элементом контекста входа в систему 'l'.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Процесс оставил контекст входа в систему

    Объявление

    Objective C

    typedef void mpo_lctx_notify_leave_t( struct proc *p, struct lctx *l );

    Параметры

    p

    Предмет

    l

    Контекст входа в систему

    Когда процесс оставляет контекст входа в систему, любого через setlcid () или в результате процесса, выходящего из этого entrypoint, вызывают для уведомления политики, что процесс 'p' больше не является элементом контекста входа в систему 'l'.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Присвойте метку новому mbuf

    Объявление

    Objective C

    typedef void mpo_mbuf_label_associate_bpfdesc_t( struct bpf_d *bpf_d, struct label *b_label, struct mbuf *m, struct label *m_label );

    Параметры

    bpf_d

    Дескриптор BPF

    b_label

    Метка политики для bpf_d

    m

    Объект; mbuf

    m_label

    Метка политики для заполнения для m

    Установите метку на mbuf заголовке недавно создаваемой дейтаграммы, сгенерированной с помощью переданного дескриптора BPF. Когда запись выполняется к устройству BPF, связанному с переданным дескриптором BPF, этот вызов выполняется.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Присвойте метку новому mbuf

    Объявление

    Objective C

    typedef void mpo_mbuf_label_associate_ifnet_t( struct ifnet *ifp, struct label *i_label, struct mbuf *m, struct label *m_label );

    Параметры

    ifp

    Интерфейсный дескриптор

    i_label

    Существующая метка ifp

    m

    Объект; mbuf

    m_label

    Метка политики для заполнения для m

    Маркируйте mbuf на основе интерфейса, из которого он был получен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Присвойте метку новому mbuf

    Объявление

    Objective C

    typedef void mpo_mbuf_label_associate_inpcb_t( struct inpcb *inp, struct label *i_label, struct mbuf *m, struct label *m_label );

    Параметры

    inp

    структура inpcb

    i_label

    Существующая метка inp

    m

    Объект; mbuf

    m_label

    Метка политики для заполнения для m

    Маркируйте mbuf на основе inpcb, из которого он был получен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Установите метку на недавно повторно собранной дейтаграмме IP

    Объявление

    Objective C

    typedef void mpo_mbuf_label_associate_ipq_t( struct ipq *ipq, struct label *ipqlabel, struct mbuf *mbuf, struct label *mbuflabel );

    Параметры

    ipq

    Очередь повторной сборки фрагмента IP

    ipqlabel

    Метка политики для ipq

    mbuf

    Дейтаграмма IP, которая будет маркирована

    mbuflabel

    Метка политики, чтобы быть заполненным в для mbuf

    Установите метку на недавно повторно собранной дейтаграмме IP (mbuf) от очереди повторной сборки фрагмента IP (ipq), от которого это было сгенерировано.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Присвойте метку новому mbuf

    Объявление

    Objective C

    typedef void mpo_mbuf_label_associate_linklayer_t( struct ifnet *ifp, struct label *i_label, struct mbuf *m, struct label *m_label );

    Параметры

    ifp

    Предмет; сетевой интерфейс

    i_label

    Существующая метка ifp

    m

    Объект; mbuf

    m_label

    Метка политики для заполнения для m

    Установите метку на mbuf заголовке недавно создаваемой дейтаграммы, сгенерированной в целях ответа канального уровня для переданного интерфейса. Этот вызов может быть выполнен во многих ситуациях, включая для ARP или ответов ND6 в штабелях IPv6 и IPv4.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Присвойте метку новому mbuf

    Объявление

    Objective C

    typedef void mpo_mbuf_label_associate_multicast_encap_t( struct mbuf *oldmbuf, struct label *oldmbuflabel, struct ifnet *ifp, struct label *ifplabel, struct mbuf *newmbuf, struct label *newmbuflabel );

    Параметры

    oldmbuf

    mbuf headerder для существующей дейтаграммы для существующей дейтаграммы

    oldmbuflabel

    Метка политики для oldmbuf

    ifp

    Сетевой интерфейс

    ifplabel

    Метка политики для ifp

    newmbuf

    заголовок mbuf, который будет маркирован для новой дейтаграммы

    newmbuflabel

    Метка политики для newmbuf

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Присвойте метку новому mbuf

    Объявление

    Objective C

    typedef void mpo_mbuf_label_associate_netlayer_t( struct mbuf *oldmbuf, struct label *oldmbuflabel, struct mbuf *newmbuf, struct label *newmbuflabel );

    Параметры

    oldmbuf

    Полученная дейтаграмма

    oldmbuflabel

    Метка политики для oldmbuf

    newmbuf

    Недавно создаваемая дейтаграмма

    newmbuflabel

    Метка политики для newmbuf

    Установите метку на mbuf заголовке недавно создаваемой дейтаграммы, сгенерированной стеком IP в ответ на существующую полученную дейтаграмму (oldmbuf). Этот вызов может быть выполнен во многих ситуациях, включая при ответе на дейтаграммы запроса ICMP.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Присвойте метку новому mbuf

    Объявление

    Objective C

    typedef void mpo_mbuf_label_associate_socket_t( socket_t so, struct label *so_label, struct mbuf *m, struct label *m_label );

    Параметры

    so

    Сокет для маркировки

    so_label

    Метка политики для сокета

    m

    Объект; mbuf

    m_label

    Метка политики для заполнения для m

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

    Только маркированный MBUFs будет представлен политике через этот entrypoint.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Скопируйте метку mbuf

    Объявление

    Objective C

    typedef void mpo_mbuf_label_copy_t( struct label *src, struct label *dest );

    Параметры

    src

    Исходная метка

    dest

    Целевая метка

    Скопируйте информацию о метке mbuf в src в dest.

    Только вызванный, когда и источник и целевой mbufs имеют метки.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку mbuf

    Объявление

    Objective C

    typedef void mpo_mbuf_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку mbuf. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку mbuf

    Объявление

    Objective C

    typedef int mpo_mbuf_label_init_t( struct label *label, int flag );

    Параметры

    label

    Новая метка для инициализации

    flag

    Флаги Malloc

    Инициализируйте метку для недавно инстанцированного mbuf.

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

    На успехе, 0, иначе, надлежащем errno возвращаемом значении.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на fsctl

    Объявление

    Objective C

    typedef int mpo_mount_check_fsctl_t( kauth_cred_t cred, struct mount *mp, struct label *label, unsigned int cmd );

    Параметры

    cred

    Подчиненные учетные данные

    mp

    Точка монтирования

    label

    Метка связалась с точкой монтирования

    com

    Зависимый от файловой системы код запроса; см. fsctl (2)

    Определите, может ли предмет, идентифицированный учетными данными, выполнить работу объема, обозначенную com.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на извлечение атрибутов файловой системы

    Объявление

    Objective C

    typedef int mpo_mount_check_getattr_t( kauth_cred_t cred, struct mount *mp, struct label *mp_label, struct vfs_attr *vfa );

    Параметры

    cred

    Подчиненные учетные данные

    mp

    Структура монтирования файловой системы

    vfa

    Атрибуты требуют

    Эта точка входа определяет, может ли данная тема получить информацию о данной файловой системе. Эта проверка происходит во время statfs () syscalls, но также используется другими частями в ядре, такими как система аудитов.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на перемаркировку точки монтирования

    Объявление

    Objective C

    typedef int mpo_mount_check_label_update_t( kauth_cred_t cred, struct mount *mp, struct label *mntlabel );

    Параметры

    cred

    Подчиненные учетные данные

    mp

    Точка монтирования объектной файловой системы

    mntlabel

    Метка политики для fle системной точки монтирования

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

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на монтирование файловой системы

    Объявление

    Objective C

    typedef int mpo_mount_check_mount_t( kauth_cred_t cred, struct vnode *vp, struct label *vlabel, struct componentname *cnp, const char *vfc_name );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Vnode, который должен быть точкой монтирования

    vlabel

    Метка связалась с vnode

    cnp

    Имя компонента для vp

    vfc_name

    Имя типа файловой системы

    Определите, может ли предмет, идентифицированный учетными данными, выполнить работу монтирования на цели vnode.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом, повторно монтирующая файловую систему

    Объявление

    Objective C

    typedef int mpo_mount_check_remount_t( kauth_cred_t cred, struct mount *mp, struct label *mlabel );

    Параметры

    cred

    Подчиненные учетные данные

    mp

    Точка монтирования

    mlabel

    Метка в настоящее время связывалась с точкой монтирования

    Определите, может ли предмет, идентифицированный учетными данными, выполнить работу перемонтирования на цели vnode.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на установку атрибутов файловой системы

    Объявление

    Objective C

    typedef int mpo_mount_check_setattr_t( kauth_cred_t cred, struct mount *mp, struct label *mp_label, struct vfs_attr *vfa );

    Параметры

    cred

    Подчиненные учетные данные

    mp

    Структура монтирования файловой системы

    vfa

    Атрибуты требуют

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

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на статистику файловой системы

    Объявление

    Objective C

    typedef int mpo_mount_check_stat_t( kauth_cred_t cred, struct mount *mp, struct label *mntlabel );

    Параметры

    cred

    Подчиненные учетные данные

    mp

    Объектная файловая система монтируется

    mntlabel

    Метка политики для члена парламента

    Определите, видит ли предмет, идентифицированный учетными данными, результаты statfs, выполняемого в файловой системе. Этот вызов может быть выполнен во многих ситуациях, включая во время вызовов statfs (2) и связал вызовы, а также определить, какие файловые системы исключить из списков файловых систем, такой как тогда, когда вызывается getfsstat (2).

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на размонтирование файловой системы

    Объявление

    Objective C

    typedef int mpo_mount_check_umount_t( kauth_cred_t cred, struct mount *mp, struct label *mlabel );

    Параметры

    cred

    Подчиненные учетные данные

    mp

    Точка монтирования

    mlabel

    Метка связалась с точкой монтирования

    Определите, может ли предмет, идентифицированный учетными данными, выполнить работу размонтирования на цели vnode.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте монтируют метки

    Объявление

    Objective C

    typedef void mpo_mount_label_associate_t( kauth_cred_t cred, struct mount *mp, struct label *mntlabel );

    Параметры

    cred

    Подчиненные учетные данные

    mp

    Точка монтирования смонтированной файловой системы

    mntlabel

    Метка для соединения с новой точкой монтирования

    Обсуждение

    Заполните метки на точке монтирования, создаваемой предоставленными пользовательскими учетными данными. Когда файловые системы сначала смонтированы, этот вызов выполняется.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_mount_label_init_t

  • Уничтожьте монтируют метку

    Объявление

    Objective C

    typedef void mpo_mount_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте файловую систему, монтируют метку. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Воплотите метку точки монтирования

    Объявление

    Objective C

    typedef int mpo_mount_label_externalize_t( struct label *label, char *element_name, struct sbuf *sb );

    Параметры

    label

    Метка, которая будет воплощена

    element_name

    Имя пространства имен метки, для которого должны быть воплощены метки

    sb

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

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

    Политика воплощает точки входа, будет вызван, только если политика зарегистрировала интерес к пространству имен метки.

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку точки монтирования

    Объявление

    Objective C

    typedef void mpo_mount_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте метку для недавно инстанцированный, монтируют структуру. Эта метка обычно используется для хранения метки по умолчанию в случае, что файловая система была смонтирована singlelabel. Так как некоторые файловые системы не поддерживают персистентные метки (расширенные атрибуты) или только для чтения (такие как CDROMS), часто необходимо сохранить метку по умолчанию отдельно от метки самой точки монтирования. Сон разрешен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Усвойте метку точки монтирования

    Объявление

    Objective C

    typedef int mpo_mount_label_internalize_t( struct label *label, char *element_name, char *element_data );

    Параметры

    label

    Метка, которая будет усвоена

    element_name

    Имя пространства имен метки, для которого должна быть усвоена метка

    element_data

    Текстовые данные, которые будут усвоены

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

    Политика усваивает точки входа, будет вызван, только если политика зарегистрировала интерес к пространству имен метки.

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Установите метку на фрагменте дейтаграммы IPv4

    Объявление

    Objective C

    typedef void mpo_netinet_fragment_t( struct mbuf *datagram, struct label *datagramlabel, struct mbuf *fragment, struct label *fragmentlabel );

    Параметры

    datagram

    Фрагментируемая дейтаграмма

    datagramlabel

    Метка политики для дейтаграммы

    fragment

    Новый фрагмент

    fragmentlabel

    Метка политики для фрагмента

    Вызванный, когда дейтаграмма IPv4 фрагментируется в несколько меньших дейтаграмм. Политики реализовывая mbuf метки будут обычно копировать метку от исходной дейтаграммы до нового фрагмента.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Установите метку на ответе ICMP

    Объявление

    Objective C

    typedef void mpo_netinet_icmp_reply_t( struct mbuf *m, struct label *mlabel );

    Параметры

    m

    mbuf, содержащий ответ ICMP

    mlabel

    Метка политики для m

    Политика может хотеть обновить метку mbuf, относящегося к пакету ICMP, отправляемому в ответ на пакет IP. Это можно вызвать в ответ на недопустимый пакет или запрос ICMP.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Установите метку на ответе TCP

    Объявление

    Objective C

    typedef void mpo_netinet_tcp_reply_t( struct mbuf *m, struct label *mlabel );

    Параметры

    m

    mbuf, содержащий ответ TCP

    mlabel

    Метка политики для m

    Требовавшийся исходящие пакеты TCP, не связанные с фактическим сокетом.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на канал ioctl

    Объявление

    Objective C

    typedef int mpo_pipe_check_ioctl_t( kauth_cred_t cred, struct pipe *cpipe, struct label *pipelabel, unsigned int cmd );

    Параметры

    cred

    Подчиненные учетные данные

    cpipe

    Объект, к которому получат доступ

    pipelabel

    Метка на канале

    cmd

    ioctl команда; см. ioctl (2)

    Определите, может ли предмет, идентифицированный учетными данными, выполнить ioctl работу, обозначенную cmd.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на канал kqfilter

    Объявление

    Objective C

    typedef int mpo_pipe_check_kqfilter_t( kauth_cred_t cred, struct knote *kn, struct pipe *cpipe, struct label *pipelabel );

    Параметры

    cred

    Подчиненные учетные данные

    kn

    Объект knote

    cpipe

    Объект, к которому получат доступ

    pipelabel

    Метка политики для канала

    Определите, может ли предмет, идентифицированный учетными данными, получить knote на переданном канале.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на переметку канала

    Объявление

    Objective C

    typedef int mpo_pipe_check_label_update_t( kauth_cred_t cred, struct pipe *cpipe, struct label *pipelabel, struct label *newlabel );

    Параметры

    cred

    Подчиненные учетные данные

    cpipe

    Объект, к которому получат доступ

    pipelabel

    Текущая метка на канале

    newlabel

    Новая метка, которая будет использоваться

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

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на канал читала

    Объявление

    Objective C

    typedef int mpo_pipe_check_read_t( kauth_cred_t cred, struct pipe *cpipe, struct label *pipelabel );

    Параметры

    cred

    Подчиненные учетные данные

    cpipe

    Объект, к которому получат доступ

    pipelabel

    Метка на канале

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

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на выбор канала

    Объявление

    Objective C

    typedef int mpo_pipe_check_select_t( kauth_cred_t cred, struct pipe *cpipe, struct label *pipelabel, int which );

    Параметры

    cred

    Подчиненные учетные данные

    cpipe

    Объект, к которому получат доступ

    pipelabel

    Метка на канале

    which

    Работа, выбранная на: FREAD или FWRITE

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

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на статистику канала

    Объявление

    Objective C

    typedef int mpo_pipe_check_stat_t( kauth_cred_t cred, struct pipe *cpipe, struct label *pipelabel );

    Параметры

    cred

    Подчиненные учетные данные

    cpipe

    Объект, к которому получат доступ

    pipelabel

    Метка на канале

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

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на запись канала

    Объявление

    Objective C

    typedef int mpo_pipe_check_write_t( kauth_cred_t cred, struct pipe *cpipe, struct label *pipelabel );

    Параметры

    cred

    Подчиненные учетные данные

    cpipe

    Объект, к которому получат доступ

    pipelabel

    Метка на канале

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

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте метку канала

    Объявление

    Objective C

    typedef void mpo_pipe_label_associate_t( kauth_cred_t cred, struct pipe *cpipe, struct label *pipelabel );

    Параметры

    cred

    Подчиненные учетные данные

    cpipe

    объект, который будет маркирован

    label

    Метка для объекта канала

    Создайте метку для объекта канала, создаваемого предоставленными пользовательскими учетными данными. Этот вызов выполняется, когда канал создается XXXPIPE (для одного или обеих сторон канала?).

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Скопируйте метку канала

    Объявление

    Objective C

    typedef void mpo_pipe_label_copy_t( struct label *src, struct label *dest );

    Параметры

    src

    Исходная метка канала

    dest

    Целевая метка канала

    Скопируйте метку канала, связанную с src к dest. XXXPIPE Описывают, когда это используется: наиболее вероятно во время создания канала для копирования от rpipe до wpipe.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку канала

    Объявление

    Objective C

    typedef void mpo_pipe_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку канала. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Воплотите метку канала

    Объявление

    Objective C

    typedef int mpo_pipe_label_externalize_t( struct label *label, char *element_name, struct sbuf *sb );

    Параметры

    label

    Метка, которая будет воплощена

    element_name

    Имя пространства имен метки, для которого должны быть воплощены метки

    sb

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

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

    Политика воплощает точки входа, будет вызван, только если политика зарегистрировала интерес к пространству имен метки.

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку канала

    Объявление

    Objective C

    typedef void mpo_pipe_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте хранение метки для использования с недавно инстанцированным объектом канала. Сон разрешен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Усвойте метку канала

    Объявление

    Objective C

    typedef int mpo_pipe_label_internalize_t( struct label *label, char *element_name, char *element_data );

    Параметры

    label

    Метка, которая будет усвоена

    element_name

    Имя пространства имен метки, для которого должна быть усвоена метка

    element_data

    Текстовые данные, которые будут усвоены

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

    Политика усваивает точки входа, будет вызван, только если политика зарегистрировала интерес к пространству имен метки.

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Обновите метку канала

    Объявление

    Objective C

    typedef void mpo_pipe_label_update_t( kauth_cred_t cred, struct pipe *cpipe, struct label *oldlabel, struct label *newlabel );

    Параметры

    cred

    Подчиненные учетные данные

    cpipe

    Объект, который будет маркирован

    oldlabel

    Существующая метка канала

    newlabel

    Новая метка для замены существующей метки

    Обсуждение

    Предмет, идентифицированный учетными данными, ранее запросил и был разрешен повторно маркировать канал; эта точка входа позволяет политикам выполнить фактическую работу переметки. Политики должны обновить oldlabel использование метки, сохраненной в newlabel параметре.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_pipe_check_label_update_t

  • Политика разгружает событие

    Объявление

    Objective C

    typedef void mpo_policy_destroy_t( struct mac_policy_conf *mpc );

    Параметры

    mpc

    Конфигурация политики MAC

    Это - политика Платформы MAC, разгружают событие. Эту точку входа только вызовут, если конфигурация политики модуля позволит, разгружаются (если MPC_LOADTIME_FLAG_UNLOADOK установлен). Большая часть политики безопасности не захочет быть разгруженной; они должны установить свои флаги, чтобы препятствовать тому, чтобы была вызвана эта точка входа.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    MPC_LOADTIME_FLAG_UNLOADOK

  • Событие инициализации политики

    Объявление

    Objective C

    typedef void mpo_policy_init_t( struct mac_policy_conf *mpc );

    Параметры

    mpc

    Конфигурация политики MAC

    Обсуждение

    Это - событие инициализации политики Платформы MAC. Когда модуль политики сначала регистрируется в Платформе MAC, эту точку входа вызывают во время mac_policy_register. Это часто делается очень рано в процессе начальной загрузки после ядра, подсистема Маха была инициализирована, но до инициализируемой подсистемы BSD. Так как службы BSD ядра еще не доступны, возможно, что некоторая инициализация должна произойти позже, возможно в mpo_policy_initbsd_t точке входа политики, такой как регистрация системных средств управления BSD (sysctls). Модули политики, загруженные во время начальной загрузки, будут зарегистрированы и инициализированы, прежде чем маркированный Мах возражает, создаются.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mac_policy_register
    mpo_policy_initbsd_t

  • Политика событие инициализации BSD

    Объявление

    Objective C

    typedef void mpo_policy_initbsd_t( struct mac_policy_conf *mpc );

    Параметры

    mpc

    Конфигурация политики MAC

    Обсуждение

    Эту точку входа вызывают после ядра была инициализирована подсистема BSD. Этой точкой модуль должен уже быть загружен, зарегистрирован и инициализирован. Так как модули политики инициализируются, прежде чем службы BSD ядра доступны, эта вторая фаза инициализации необходима. В этой точке службы BSD (управление памятью, примитивы синхронизации, vfs, и т.д.) доступны, но еще не был создан первый процесс. Связанные с Махом объекты и задачи будут уже полностью инициализированы и могут использоваться - политики, требующие, чтобы повсеместная маркировка могла также хотеть реализовать mpo_policy_init_t.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_policy_init_t

  • Служба распространения знаний политики

    Объявление

    Objective C

    typedef int mpo_policy_syscall_t( struct proc *p, int call, user_addr_t arg );

    Параметры

    p

    Обработка вызовов

    call

    Специфичное для политики syscall число

    arg

    Указатель на syscall параметры

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

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

    В случае ошибки надлежащее значение для errno должно быть возвращено, иначе возврат 0 на успех.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на копирование отправить права на другую задачу

    Объявление

    Objective C

    typedef int mpo_port_check_copy_send_t( struct label *task, struct label *port );

    Параметры

    task

    Метка задачи отправителя

    port

    Метка затронутого порта

    Проверка управления доступом на копирование отправляет права на порт от указанной задачи. Дополнительная точка входа, mpo_port_check_hold_send, обрабатывает задачу получения. когда сообщения с правами порта отправляются, port_check_copy_send вызывают как часть группы вызовов политики. Все проверки управления доступом, сделанные для определенного сообщения, должны быть успешными для сообщения, которое будет отправлено.

    Метка задачи и порт заблокированы. Сон разрешен.

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

    Возвратитесь 0, если доступ предоставляется, ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение получить права

    Объявление

    Objective C

    typedef int mpo_port_check_hold_receive_t( struct label *task, struct label *port );

    Параметры

    task

    Метка задачи получения

    port

    Метка затронутого порта

    Проверка управления доступом на получение задачи получает права на порт. Обычно, это права порта, полученные с вызовом к mach_port_allocate. Когда сообщения с правами порта получены, эту точку входа вызывают как часть группы вызовов политики. Все эти проверки управления доступом должны успешно выполниться для получения сообщения.

    Метка задачи и порт заблокированы. Сон разрешен.

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

    Возвратитесь 0, если доступ предоставляется, ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение отправления один раз права

    Объявление

    Objective C

    typedef int mpo_port_check_hold_send_once_t( struct label *task, struct label *port );

    Параметры

    task

    Метка задачи получения

    port

    Метка затронутого порта

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

    Метка задачи и порт заблокированы. Сон разрешен.

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

    Возвратитесь 0, если доступ предоставляется, ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение отправить права

    Объявление

    Objective C

    typedef int mpo_port_check_hold_send_t( struct label *task, struct label *port );

    Параметры

    task

    Метка задачи получения

    port

    Метка затронутого порта

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

    Метка задачи и порт заблокированы. Сон разрешен.

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

    Возвратитесь 0, если доступ предоставляется, ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на перемаркировку портов

    Объявление

    Objective C

    typedef int mpo_port_check_label_update_t( struct label *task, struct label *oldlabel, struct label *newlabel );

    Параметры

    task

    Метка задачи предмета

    oldlabel

    Исходная метка порта

    newlabel

    Новая метка для порта

    Проверка управления доступом на перемаркировку портов. Политика должна указать, разрешают ли предмету изменить метку порта от oldlabel до newlabel. Порт заблокирован, но не заблокирована метка задачи предмета.

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

    Возвратитесь 0, если доступ предоставляется, ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на создание отправления один раз прямо от получить права

    Объявление

    Objective C

    typedef int mpo_port_check_make_send_once_t( struct label *task, struct label *port );

    Параметры

    task

    Метка задачи отправителя

    port

    Метка затронутого порта

    Проверка управления доступом на получение отправляет, как только права от получают права. Новые отправляют, как только право может быть предназначено для задачи вызова или различной задачи. В любом случае mpo_port_check_hold_send_once точка входа обрабатывает задачу получения. когда сообщения с правами порта отправляются, port_check_make_send_once можно вызвать как часть группы вызовов политики. Все проверки управления доступом, сделанные для определенного сообщения, должны быть успешными для сообщения, которое будет отправлено.

    Метка задачи и порт заблокированы. Сон разрешен.

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

    Возвратитесь 0, если доступ предоставляется, ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на создание отправить права от получить права

    Объявление

    Objective C

    typedef int mpo_port_check_make_send_t( struct label *task, struct label *port );

    Параметры

    task

    Метка задачи отправителя

    port

    Метка затронутого порта

    Проверка управления доступом на получение отправляет, права от получают права. Новые отправляют, право может быть предназначено для задачи вызова или различной задачи. В любом случае mpo_port_check_hold_send точка входа обрабатывает задачу получения. когда сообщения с правами порта отправляются, port_check_make_send можно вызвать как часть группы вызовов политики. Все проверки управления доступом, сделанные для определенного сообщения, должны быть успешными для сообщения, которое будет отправлено.

    Метка задачи и порт заблокированы. Сон разрешен.

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

    Возвратитесь 0, если доступ предоставляется, ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Вычислите проверку управления доступом на Маха основанная на сообщении служба

    Объявление

    Objective C

    typedef int mpo_port_check_method_t( struct proc *proc, struct label *task, struct label *port, int msgid );

    Параметры

    proc

    Структура процесса отправителя (может быть NULL),

    task

    Метка задачи отправителя

    port

    Метка целевого порта

    msgid

    Идентификатор сообщения

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

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

    0 для доступа, предоставленного, ненулевого для доступа запрещен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на передачу получить права

    Объявление

    Objective C

    typedef int mpo_port_check_move_receive_t( struct label *task, struct label *port );

    Параметры

    task

    Метка задачи отправителя

    port

    Метка затронутого порта

    Проверка управления доступом на передачу получить права на порт из указанной задачи. Дополнительная точка входа, mpo_port_check_hold_receive, обрабатывает задачу получения. когда сообщения с правами порта отправляются, port_check_move_receive вызывают как часть группы вызовов политики. Все проверки управления доступом, сделанные для определенного сообщения, должны быть успешными для сообщения, которое будет отправлено.

    Метка задачи и порт заблокированы. Сон разрешен.

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

    Возвратитесь 0, если доступ предоставляется, ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на передачу отправления один раз права

    Объявление

    Objective C

    typedef int mpo_port_check_move_send_once_t( struct label *task, struct label *port );

    Параметры

    task

    Метка задачи отправителя

    port

    Метка затронутого порта

    Проверка управления доступом на передачу отправления один раз прямо от одной задачи до задачи, слушающей указанный порт. Дополнительная точка входа, mpo_port_check_hold_send_once, обрабатывает задачу получения. когда сообщения с правами порта отправляются, port_check_move_send_once вызывают как часть группы вызовов политики. Все проверки управления доступом, сделанные для определенного сообщения, должны быть успешными для сообщения, которое будет отправлено.

    Метка задачи и порт заблокированы. Сон разрешен.

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

    Возвратитесь 0, если доступ предоставляется, ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на передачу отправить права

    Объявление

    Objective C

    typedef int mpo_port_check_move_send_t( struct label *task, struct label *port );

    Параметры

    task

    Метка задачи отправителя

    port

    Метка затронутого порта

    Проверка управления доступом на передачу отправить права от одной задачи до задачи, слушающей указанный порт. Дополнительная точка входа, mpo_port_check_hold_send, обрабатывает задачу получения. когда сообщения с правами порта отправляются, port_check_move_send вызывают как часть группы вызовов политики. Все проверки управления доступом, сделанные для определенного сообщения, должны быть успешными для сообщения, которое будет отправлено.

    Метка задачи и порт заблокированы. Сон разрешен.

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

    Возвратитесь 0, если доступ предоставляется, ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение сообщений Маха

    Объявление

    Objective C

    typedef int mpo_port_check_receive_t( struct label *task, struct label *sender );

    Параметры

    task

    Метка задачи получения

    sender

    Метка передающей задачи

    Проверка управления доступом на получение сообщений. Две метки заблокированы.

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

    Возвратитесь 0, если доступ предоставляется, ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на отправку сообщений Маха

    Объявление

    Objective C

    typedef int mpo_port_check_send_t( struct label *task, struct label *port );

    Параметры

    task

    Метка задачи отправителя

    port

    Метка целевого порта

    Проверка управления доступом на отправку сообщений. Метка задачи и порт заблокированы.

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

    Возвратитесь 0, если доступ предоставляется, ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Универсальная проверка управления доступом

    Объявление

    Objective C

    typedef int mpo_port_check_service_t( struct label *subj, struct label *obj, const char *serv, const char *perm );

    Параметры

    subj

    Предоставленная вызывающей стороной подчиненная метка

    obj

    Предоставленная вызывающей стороной метка объектов

    serv

    Класс обслуживания или имя класса объекта

    perm

    Разрешение или метод, в указанной службе

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

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

    Возвратитесь 0, если доступ предоставляется, ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Присвойте метку новому порту Маха, создаваемому ядром

    Объявление

    Objective C

    typedef void mpo_port_label_associate_kernel_t( struct label *portlabel, int isreply );

    Параметры

    portlabel

    Метка для нового порта

    isreply

    Истина, если порт для ответного сообщения от ядра

    Присвойте метку новому порту, создаваемому ядром. Если порт используется для ответа на сообщение, isreply равняется 1 (0 иначе). Порт заблокирован.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Присвойте метку новому порту Маха

    Объявление

    Objective C

    typedef void mpo_port_label_associate_t( struct label *it, struct label *st, struct label *portlabel );

    Параметры

    it

    Метка задачи эмитента

    st

    Метка задачи цели

    portlabel

    Метка для нового порта

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Метка запроса для нового (пространство пользователя) объект

    Объявление

    Objective C

    typedef int mpo_port_label_compute_t( struct label *subj, struct label *obj, const char *serv, struct label *out );

    Параметры

    subj

    Подчиненная метка

    obj

    Родительская или существующая метка объектов

    serv

    Имя службы

    out

    Вычисленная метка

    Спросите загруженные политики вычислить метку на основе двух входных меток и имени службы. В настоящее время нет никакого стандарта для имени службы, или даже что входные метки представляют (Подчиненный и родительский объект только предложение). Если успешный, вычисленная метка сохранена в. Все метки должны быть портом (или задача) метки. Интерфейсы пространства пользователя к этой точке входа позволяют (порты) дескрипторов метки быть предоставленными.

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

    0 на успехе или errno оценивают за отказ.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Скопируйте метку порта Маха

    Объявление

    Objective C

    typedef void mpo_port_label_copy_t( struct label *src, struct label *dest );

    Параметры

    src

    Метка исходного порта

    dest

    Метка целевого порта

    Скопируйте информацию о метке порта Маха от src до dest. Это используется для копирования пользовательских-suplied меток в существующий порт.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку порта Маха

    Объявление

    Objective C

    typedef void mpo_port_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку порта Маха. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку порта Маха

    Объявление

    Objective C

    typedef void mpo_port_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте метку для недавно инстанцированного порта Маха. Сон разрешен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Обновите метку порта задачи Маха

    Объявление

    Objective C

    typedef void mpo_port_label_update_cred_t( struct label *cred, struct label *task );

    Параметры

    cred

    Пользовательские учетные данные маркируют, чтобы использоваться в качестве источника

    task

    Метка порта Маха, которая будет использоваться в качестве места назначения

    Обсуждение

    Обновите метку на порту задачи Маха, с помощью предоставленной пользовательской учетной метки. Когда mac_cred_label_update_execve или mac_cred_label_update работа заставляют метку на пользовательских учетных данных изменяться, метка порта задачи Маха также должна быть обновлена для отражения изменения. Обе метки уже допустимы (инициализированный и создаваемый).

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_cred_label_update_t
    mpo_cred_label_update_execve_t

  • Присвойте метку порту Маха, подключенному к объекту ядра

    Объявление

    Objective C

    typedef void mpo_port_label_update_kobject_t( struct label *portlabel, int kotype );

    Параметры

    portlabel

    Метка для порта

    kotype

    Тип объекта ядра

    Маркируйте порт ядра на основе типа объекта позади него. kotype параметр является одной из констант IKOT в <kern/ipc_kobject.h>. Порт уже имеет допустимую метку или от mpo_port_label_associate_kernel, или от потому что это - порт задачи и получило метку из меток задачи и процесса. Порт заблокирован.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на семафор POSIX создает

    Объявление

    Objective C

    typedef int mpo_posixsem_check_create_t( kauth_cred_t cred, const char *name );

    Параметры

    cred

    Подчиненные учетные данные

    name

    Имя строки семафора

    Определите, может ли предмет, идентифицированный учетными данными, создать семафор POSIX, указанный по имени.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на открытый семафор POSIX

    Объявление

    Objective C

    typedef int mpo_posixsem_check_open_t( kauth_cred_t cred, struct pseminfo *ps, struct label *semlabel );

    Параметры

    cred

    Подчиненные учетные данные

    ps

    Указатель на семафорную информационную структуру

    semlabel

    Метка связалась с семафором

    Определите, может ли предмет, идентифицированный учетными данными, открыть именованный семафор POSIX с меткой semlabel.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на сообщение семафора POSIX

    Объявление

    Objective C

    typedef int mpo_posixsem_check_post_t( kauth_cred_t cred, struct pseminfo *ps, struct label *semlabel );

    Параметры

    cred

    Подчиненные учетные данные

    ps

    Указатель на семафорную информационную структуру

    semlabel

    Метка связалась с семафором

    Определите, может ли предмет, идентифицированный учетными данными, разблокировать именованный семафор POSIX с меткой semlabel.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на семафор POSIX расцепляет

    Объявление

    Objective C

    typedef int mpo_posixsem_check_unlink_t( kauth_cred_t cred, struct pseminfo *ps, struct label *semlabel, const char *name );

    Параметры

    cred

    Подчиненные учетные данные

    ps

    Указатель на семафорную информационную структуру

    semlabel

    Метка связалась с семафором

    name

    Имя строки семафора

    Определите, может ли предмет, идентифицированный учетными данными, удалить именованный семафор POSIX с меткой semlabel.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на POSIX семафорное ожидание

    Объявление

    Objective C

    typedef int mpo_posixsem_check_wait_t( kauth_cred_t cred, struct pseminfo *ps, struct label *semlabel );

    Параметры

    cred

    Подчиненные учетные данные

    ps

    Указатель на семафорную информационную структуру

    semlabel

    Метка связалась с семафором

    Определите, может ли предмет, идентифицированный учетными данными, заблокировать именованный семафор POSIX с меткой semlabel.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте метку семафора POSIX

    Объявление

    Objective C

    typedef void mpo_posixsem_label_associate_t( kauth_cred_t cred, struct pseminfo *ps, struct label *semlabel, const char *name );

    Параметры

    cred

    Подчиненные учетные данные

    ps

    Указатель на семафорную информационную структуру

    semlabel

    Метка для соединения с новым семафором

    name

    Имя строки семафора

    Маркируйте новый семафор POSIX. Метка была ранее инициализирована и связана с семафором. В это время надлежащее начальное значение метки должно быть присвоено объекту и сохранено в semalabel.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку семафора POSIX

    Объявление

    Objective C

    typedef void mpo_posixsem_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку семафора POSIX. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку семафора POSIX

    Объявление

    Objective C

    typedef void mpo_posixsem_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте метку для недавно инстанцированного семафора POSIX. Сон разрешен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на область общей памяти POSIX создает

    Объявление

    Objective C

    typedef int mpo_posixshm_check_create_t( kauth_cred_t cred, const char *name );

    Параметры

    cred

    Подчиненные учетные данные

    name

    Имя строки области общей памяти

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

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на отображение общей памяти POSIX

    Объявление

    Objective C

    typedef int mpo_posixshm_check_mmap_t( kauth_cred_t cred, struct pshminfo *ps, struct label *shmlabel, int prot, int flags );

    Параметры

    cred

    Подчиненные учетные данные

    ps

    Указатель на информационную структуру общей памяти

    shmlabel

    Метка связалась с областью общей памяти

    prot

    меры защиты mmap; см. mmap (2)

    flags

    флаги shmat; см. shmat (2)

    Определите, может ли предмет, идентифицированный учетными данными, отобразить сегмент общей памяти POSIX, связанный с shmlabel.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на открытую область общей памяти POSIX

    Объявление

    Objective C

    typedef int mpo_posixshm_check_open_t( kauth_cred_t cred, struct pshminfo *ps, struct label *shmlabel, int fflags );

    Параметры

    cred

    Подчиненные учетные данные

    ps

    Указатель на информационную структуру общей памяти

    shmlabel

    Метка связалась с областью общей памяти

    fflags

    shm_open (2) открытые флаги ('fflags' закодированный)

    Определите, может ли предмет, идентифицированный учетными данными, открыть область общей памяти POSIX.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на статистику общей памяти POSIX

    Объявление

    Objective C

    typedef int mpo_posixshm_check_stat_t( kauth_cred_t cred, struct pshminfo *ps, struct label *shmlabel );

    Параметры

    cred

    Подчиненные учетные данные

    ps

    Указатель на информационную структуру общей памяти

    shmlabel

    Метка связалась с областью общей памяти

    Определите, может ли предмет, идентифицированный учетными данными, получить состояние для сегмента общей памяти POSIX, связанного с shmlabel.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на усеченную общую память POSIX

    Объявление

    Objective C

    typedef int mpo_posixshm_check_truncate_t( kauth_cred_t cred, struct pshminfo *ps, struct label *shmlabel, off_t len );

    Параметры

    cred

    Подчиненные учетные данные

    ps

    Указатель на информационную структуру общей памяти

    shmlabel

    Метка связалась с областью общей памяти

    len

    Длина, чтобы усечь или расширить сегмент общей памяти

    Определите, может ли предмет, идентифицированный учетными данными, усечь или расширить (до len) сегмент общей памяти POSIX, связанный с shmlabel.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на общую память POSIX расцепляет

    Объявление

    Objective C

    typedef int mpo_posixshm_check_unlink_t( kauth_cred_t cred, struct pshminfo *ps, struct label *shmlabel, const char *name );

    Параметры

    cred

    Подчиненные учетные данные

    ps

    Указатель на информационную структуру общей памяти

    shmlabel

    Метка связалась с областью общей памяти

    name

    Имя строки области общей памяти

    Определите, может ли предмет, идентифицированный учетными данными, удалить сегмент общей памяти POSIX, связанный с shmlabel.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте метку области общей памяти POSIX

    Объявление

    Objective C

    typedef void mpo_posixshm_label_associate_t( kauth_cred_t cred, struct pshminfo *ps, struct label *shmlabel, const char *name );

    Параметры

    cred

    Подчиненные учетные данные

    ps

    Указатель на информационную структуру общей памяти

    shmlabel

    Метка для соединения с новой областью общей памяти

    name

    Имя строки области общей памяти

    Маркируйте новую область общей памяти POSIX. Метка была ранее инициализирована и связана с областью общей памяти. В это время надлежащее начальное значение метки должно быть присвоено объекту и сохранено в shmlabel.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку общей памяти POSIX

    Объявление

    Objective C

    typedef void mpo_posixshm_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку области общей памяти POSIX. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку области Общей памяти POSIX

    Объявление

    Objective C

    typedef void mpo_posixshm_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте метку для недавно инстанцированной области Общей памяти POSIX. Сон разрешен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на процесс отладки

    Объявление

    Objective C

    typedef int mpo_proc_check_debug_t( kauth_cred_t cred, struct proc *proc );

    Параметры

    cred

    Подчиненные учетные данные

    proc

    Объектный процесс

    Определите, может ли предмет, идентифицированный учетными данными, отладить переданный процесс. Этот вызов может быть выполнен во многих ситуациях, включая использование ptrace (2) и ktrace (2) APIs, а также для некоторых типов procfs операций.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки, EPERM из-за отсутствия полномочия или ESRCH для сокрытия видимости цели.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Управление доступом по ветвлению

    Объявление

    Objective C

    typedef int mpo_proc_check_fork_t( kauth_cred_t cred, struct proc *proc );

    Параметры

    cred

    Подчиненные учетные данные

    proc

    Подчиненный процесс, пытающийся разветвляться

    Определите, позволяют ли идентифицированному предмету разветвиться.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение имени задачи процесса

    Объявление

    Objective C

    typedef int mpo_proc_check_get_task_name_t( kauth_cred_t cred, struct proc *p );

    Параметры

    cred

    Подчиненные учетные данные

    proc

    Объектный процесс

    Определите, может ли предмет, идентифицированный учетными данными, получить порт имени задачи переданного процесса. Этот вызов используется task_name_for_pid (2) API.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки, EPERM из-за отсутствия полномочия или ESRCH для сокрытия видимости цели.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение порта задачи процесса

    Объявление

    Objective C

    typedef int mpo_proc_check_get_task_t( kauth_cred_t cred, struct proc *p );

    Параметры

    cred

    Подчиненные учетные данные

    proc

    Объектный процесс

    Определите, может ли предмет, идентифицированный учетными данными, получить порт управления задачи переданного процесса. Этот вызов используется task_for_pid (2) API.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки, EPERM из-за отсутствия полномочия или ESRCH для сокрытия видимости цели.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение информации об аудите

    Объявление

    Objective C

    typedef int mpo_proc_check_getaudit_t( kauth_cred_t cred );

    Параметры

    cred

    Подчиненные учетные данные

    Определите, может ли предмет, идентифицированный учетными данными, получить информацию об аудите, такую как контрольный идентификатор пользователя, маска предварительного выбора, терминал ID и контрольный сеанс ID, с помощью getaudit () системный вызов.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение контрольного идентификатора пользователя

    Объявление

    Objective C

    typedef int mpo_proc_check_getauid_t( kauth_cred_t cred );

    Параметры

    cred

    Подчиненные учетные данные

    Определите, может ли предмет, идентифицированный учетными данными, получить пользовательские идентификационные данные, используемые системой контроля, с помощью getauid () системный вызов.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение Контекста Входа в систему ID

    Объявление

    Objective C

    typedef int mpo_proc_check_getlcid_t( struct proc *p0, struct proc *p, pid_t pid );

    Параметры

    p0

    Обработка вызовов

    p

    Произведенный процесс

    pid

    параметр PID syscall

    Определите, разрешен ли getlcid (2) системный вызов.

    Информация, возвращенная этим системным вызовом, подобна этому, возвратился через списки процесса и т.д.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на установку защит памяти

    Объявление

    Objective C

    typedef int mpo_proc_check_mprotect_t( kauth_cred_t cred, struct proc *proc, user_addr_t addr, user_size_t size, int prot );

    Параметры

    cred

    Подчиненные учетные данные

    proc

    Пользовательский процесс, запрашивающий изменение

    addr

    Начальный адрес диапазона памяти

    size

    Адрес длины диапазона памяти

    prot

    Защиты памяти, см. mmap (2)

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

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на изменение параметров планирования

    Объявление

    Objective C

    typedef int mpo_proc_check_sched_t( kauth_cred_t cred, struct proc *proc );

    Параметры

    cred

    Подчиненные учетные данные

    proc

    Объектный процесс

    Определите, может ли предмет, идентифицированный учетными данными, изменить параметры планирования переданного процесса.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки, EPERM из-за отсутствия полномочия или ESRCH для ограничения видимости.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на установку информации об аудите

    Объявление

    Objective C

    typedef int mpo_proc_check_setaudit_t( kauth_cred_t cred, struct auditinfo_addr *ai );

    Параметры

    cred

    Подчиненные учетные данные

    ai

    Информация об аудите

    Определите, может ли предмет, идентифицированный учетными данными, установить информацию об аудите такой как маска предварительного выбора, терминал ID и контрольный сеанс ID, с помощью setaudit () системный вызов.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на установку контрольного идентификатора пользователя

    Объявление

    Objective C

    typedef int mpo_proc_check_setauid_t( kauth_cred_t cred, uid_t auid );

    Параметры

    cred

    Подчиненные учетные данные

    auid

    Контрольный идентификатор пользователя

    Определите, может ли предмет, идентифицированный учетными данными, установить пользовательские идентификационные данные, используемые системой контроля, с помощью setauid () системный вызов.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на установку Контекста Входа в систему

    Объявление

    Objective C

    typedef int mpo_proc_check_setlcid_t( struct proc *p0, struct proc *p, pid_t pid, pid_t lcid );

    Параметры

    p0

    Обработка вызовов

    p

    Произведенный процесс

    pid

    параметр PID syscall

    lcid

    параметр LCID syscall

    Определите, разрешен ли setlcid (2) системный вызов.

    См. xnu/bsd/kern/kern_prot.c:setlcid () реализация, например, декодирования syscall параметры для определения действия, желаемого вызывающей стороной.

    Пять отличных действий возможны: CREATE JOIN LEAVE УСЫНОВЛЯЕТ СИРОТУ

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на поставку сигнала

    Объявление

    Objective C

    typedef int mpo_proc_check_signal_t( kauth_cred_t cred, struct proc *proc, int signum );

    Параметры

    cred

    Подчиненные учетные данные

    proc

    Объектный процесс

    signum

    Сигнальное число; посмотрите уничтожают (2)

    Определите, может ли предмет, идентифицированный учетными данными, поставить переданный сигнал переданному процессу.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки, EPERM из-за отсутствия полномочия или ESRCH для ограничения видимости.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на ожидание

    Объявление

    Objective C

    typedef int mpo_proc_check_wait_t( kauth_cred_t cred, struct proc *proc );

    Параметры

    cred

    Подчиненные учетные данные

    proc

    Объектный процесс

    Определите, может ли предмет, идентифицированный учетными данными, ожидать завершения процесса.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку процесса

    Объявление

    Objective C

    typedef void mpo_proc_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку процесса. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку процесса

    Объявление

    Objective C

    typedef void mpo_proc_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Обсуждение

    Инициализируйте метку для недавно инстанцированной структуры процесса BSD. Обычно, политика безопасности сохранит метку процесса в пользовательских учетных данных, а не здесь в структуре процесса. Однако существуют некоторые плавающие политики метки, которые, возможно, должны временно сохранить метку в структуре процесса, пока не безопасно обновить пользовательскую учетную метку. Сон разрешен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_cred_label_init_t

  • Проверка управления доступом на сокет принимает

    Объявление

    Objective C

    typedef int mpo_socket_check_accept_t( kauth_cred_t cred, socket_t so, struct label *socklabel );

    Параметры

    cred

    Подчиненные учетные данные

    socket

    Объектный сокет

    socklabel

    Метка политики для сокета

    Определите, может ли предмет, идентифицированный учетными данными, принять () новое соединение на сокете от узла, указанного addr.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на незаконченный сокет принимает

    Объявление

    Objective C

    typedef int mpo_socket_check_accepted_t( kauth_cred_t cred, socket_t so, struct label *socklabel, struct sockaddr *addr );

    Параметры

    cred

    Подчиненные учетные данные

    so

    Объектный сокет

    socklabel

    Метка политики для сокета

    addr

    Адрес сокета слушания (прибывающий скоро)

    Определите, может ли предмет, идентифицированный учетными данными, принять () незаконченное соединение на сокете от узла, указанного addr.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на сокет связывает

    Объявление

    Objective C

    typedef int mpo_socket_check_bind_t( kauth_cred_t cred, socket_t so, struct label *socklabel, struct sockaddr *addr );

    Параметры

    cred

    Подчиненные учетные данные

    so

    Объектный сокет

    socklabel

    Метка политики для сокета

    addr

    Имя для присвоения к сокету

    Определите, может ли предмет, идентифицированный учетными данными, связать () имя (addr) к сокету.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на подключение сокета

    Объявление

    Objective C

    typedef int mpo_socket_check_connect_t( kauth_cred_t cred, socket_t so, struct label *socklabel, struct sockaddr *addr );

    Параметры

    cred

    Подчиненные учетные данные

    so

    Объектный сокет

    socklabel

    Метка политики для сокета

    addr

    Имя для присвоения к сокету

    Определите, может ли предмет, идентифицированный учетными данными, подключить () переданный сокет к удаленному узлу, указанному addr.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на сокет () системный вызов.

    Объявление

    Objective C

    typedef int mpo_socket_check_create_t( kauth_cred_t cred, int domain, int type, int protocol );

    Параметры

    cred

    Подчиненные учетные данные

    domain

    коммуникационный домен

    type

    тип сокета

    protocol

    сокетный протокол

    Определите, может ли предмет, идентифицированный учетными данными, сделать сокет () вызовом.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на поставку данных receieve очереди пользователя

    Объявление

    Objective C

    typedef int mpo_socket_check_deliver_t( socket_t so, struct label *so_label, struct mbuf *m, struct label *m_label );

    Параметры

    so

    Данные сокета поставляются

    so_label

    Метка так

    m

    mbuf, данные которого будут депонированы в получить очередь

    m_label

    Метка отправителя данных.

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

    Эта функция определяет, может ли сокет получить данные от отправителя, указанного m_label.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение опций сокета

    Объявление

    Objective C

    typedef int mpo_socket_check_getsockopt_t( kauth_cred_t cred, socket_t so, struct label *socklabel, struct sockopt *sopt );

    Параметры

    cred

    Подчиненные учетные данные

    so

    Объектный сокет

    socklabel

    Метка политики для так

    sopt

    Опции добраться

    Определите, может ли предмет, идентифицированный учетными данными, выполнить getsockopt системный вызов на данном сокете.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на сокет kqfilter

    Объявление

    Objective C

    typedef int mpo_socket_check_kqfilter_t( kauth_cred_t cred, struct knote *kn, socket_t so, struct label *socklabel );

    Параметры

    cred

    Подчиненные учетные данные

    kn

    Объект knote

    so

    Объектный сокет

    socklabel

    Метка политики для сокета

    Определите, может ли предмет, идентифицированный учетными данными, получить knote на переданном сокете.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на переметку сокета

    Объявление

    Objective C

    typedef int mpo_socket_check_label_update_t( kauth_cred_t cred, socket_t so, struct label *so_label, struct label *newlabel );

    Параметры

    cred

    Подчиненные учетные данные

    so

    Объектный сокет

    so_label

    Текущая метка так

    newlabel

    Метка, которая будет присвоена так

    Определите, может ли предмет, идентифицированный учетными данными, изменить метку на сокете.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на сокет слушает

    Объявление

    Objective C

    typedef int mpo_socket_check_listen_t( kauth_cred_t cred, socket_t so, struct label *socklabel );

    Параметры

    cred

    Подчиненные учетные данные

    so

    Объектный сокет

    socklabel

    Метка политики для сокета

    Определите, может ли предмет, идентифицированный учетными данными, послушать () на переданном сокете.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на сокет получает

    Объявление

    Objective C

    typedef int mpo_socket_check_receive_t( kauth_cred_t cred, socket_t so, struct label *socklabel );

    Параметры

    cred

    Подчиненные учетные данные

    so

    Объектный сокет

    socklabel

    Метка политики для сокета

    Определите, может ли предмет, идентифицированный учетными данными, получить данные от сокета.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на сокет получает

    Объявление

    Objective C

    typedef int mpo_socket_check_received_t( kauth_cred_t cred, struct socket *sock, struct label *socklabel, struct sockaddr *saddr );

    Параметры

    cred

    Подчиненные учетные данные

    socket

    Объектный сокет

    socklabel

    Метка политики для сокета

    addr

    Имя удаленного сокета

    Определите, может ли предмет, идентифицированный учетными данными, получить данные от удаленного узла, указанного addr.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на выбор сокета

    Объявление

    Objective C

    typedef int mpo_socket_check_select_t( kauth_cred_t cred, socket_t so, struct label *socklabel, int which );

    Параметры

    cred

    Подчиненные учетные данные

    so

    Объектный сокет

    socklabel

    Метка политики для сокета

    which

    Работа, выбранная на: FREAD или FWRITE

    Определите, может ли предмет, идентифицированный учетными данными, использовать сокет в вызове для выбора ().

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на сокет отправляет

    Объявление

    Objective C

    typedef int mpo_socket_check_send_t( kauth_cred_t cred, socket_t so, struct label *socklabel, struct sockaddr *addr );

    Параметры

    cred

    Подчиненные учетные данные

    so

    Объектный сокет

    socklabel

    Метка политики для сокета

    addr

    Адрес, отправляемый в

    Определите, может ли предмет, идентифицированный учетными данными, отправить данные в сокет.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на установку опций сокета

    Объявление

    Objective C

    typedef int mpo_socket_check_setsockopt_t( kauth_cred_t cred, socket_t so, struct label *socklabel, struct sockopt *sopt );

    Параметры

    cred

    Подчиненные учетные данные

    so

    Объектный сокет

    socklabel

    Метка политики для так

    sopt

    Устанавливаемые опции

    Определите, может ли предмет, идентифицированный учетными данными, выполнить setsockopt системный вызов на данном сокете.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение состояния сокета

    Объявление

    Objective C

    typedef int mpo_socket_check_stat_t( kauth_cred_t cred, socket_t so, struct label *socklabel );

    Параметры

    cred

    Подчиненные учетные данные

    so

    Объектный сокет

    socklabel

    Метка политики для так

    Определите, может ли предмет, идентифицированный учетными данными, выполнить статистику () системный вызов на данном сокете.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Маркируйте сокет

    Объявление

    Objective C

    typedef void mpo_socket_label_associate_accept_t( socket_t oldsock, struct label *oldlabel, socket_t newsock, struct label *newlabel );

    Параметры

    oldsock

    Сокет слушания

    oldlabel

    Метка политики связалась с oldsock

    newsock

    Новый сокет

    newlabel

    Метка политики связалась с newsock

    Новый сокет создается, когда соединение, принимают (2) редактор эти метки функции, новый сокет на основе существующего слушает (2) сокет луга.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Присвойте метку новому сокету

    Объявление

    Objective C

    typedef void mpo_socket_label_associate_t( kauth_cred_t cred, socket_t so, struct label *solabel );

    Параметры

    cred

    Учетные данные процесса владения

    so

    Маркируемый сокет

    solabel

    Метка

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Скопируйте метку сокета

    Объявление

    Objective C

    typedef void mpo_socket_label_copy_t( struct label *src, struct label *dest );

    Параметры

    src

    Исходная метка

    dest

    Целевая метка

    Скопируйте информацию о метке сокета в src в dest.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку сокета

    Объявление

    Objective C

    typedef void mpo_socket_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку сокета. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Воплотите метку сокета

    Объявление

    Objective C

    typedef int mpo_socket_label_externalize_t( struct label *label, char *element_name, struct sbuf *sb );

    Параметры

    label

    Метка, которая будет воплощена

    element_name

    Имя пространства имен метки, для которого должны быть воплощены метки

    sb

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

    Произведите воплощенную метку сокета на основе переданной структуры метки. Воплощенная метка состоит из текстового представления содержания метки, которое может использоваться с приложениями пространства пользователя и чтением пользователем. Если element_name не соответствует пространство имен, которым управляет политика, просто возвратитесь 0. Только возвратитесь ненулевой, если ошибка происходит при воплощении данных метки.

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

    В случае ошибки надлежащее значение для errno должно быть возвращено, иначе возврат 0 на успех.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку сокета

    Объявление

    Objective C

    typedef int mpo_socket_label_init_t( struct label *label, int waitok );

    Параметры

    label

    Новая метка для инициализации

    waitok

    Флаги Malloc

    Инициализируйте метку недавно инстанцированного сокета. waitok поле может быть одним из M_WAITOK и M_NOWAIT, и должно использоваться, чтобы избежать выполнять сон malloc (9) во время этого вызова инициализации. Это это не всегда безопасный спать во время этой точки входа.

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

    В случае ошибки надлежащее значение для errno должно быть возвращено, иначе возврат 0 на успех.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Усвойте метку сокета

    Объявление

    Objective C

    typedef int mpo_socket_label_internalize_t( struct label *label, char *element_name, char *element_data );

    Параметры

    label

    Метка, чтобы быть заполненным в

    element_name

    Имя пространства имен метки, для которого должна быть усвоена метка

    element_data

    Текстовые данные, которые будут усвоены

    Произведите внутреннюю структуру метки сокета на основе воплощенных данных метки в текстовом формате.

    Политика усваивает точки входа, будет вызван, только если политика зарегистрировала интерес к пространству имен метки.

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

    В случае ошибки надлежащее значение для errno должно быть возвращено, иначе возврат 0 на успех.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Сокет переметки

    Объявление

    Objective C

    typedef void mpo_socket_label_update_t( kauth_cred_t cred, socket_t so, struct label *so_label, struct label *newlabel );

    Параметры

    cred

    Подчиненные учетные данные

    so

    Объект; сокет

    so_label

    Текущая метка сокета

    newlabel

    Метка, которая будет присвоена так

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Установите равноправную метку на сокете от mbuf

    Объявление

    Objective C

    typedef void mpo_socketpeer_label_associate_mbuf_t( struct mbuf *m, struct label *m_label, socket_t so, struct label *so_label );

    Параметры

    m

    Цепочка Mbuf, полученная на сокете так

    m_label

    Метка для m

    so

    Текущая метка для сокета

    so_label

    Метка политики, чтобы быть заполненным для сокета

    Установите равноправную метку сокета на основе метки отправителя mbuf.

    Это вызывают для каждого полученного пакета TCP/IP. Первое требование данного сокета воздействует на недавно инициализированную метку, и последующие вызовы воздействуют на существующие данные метки.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Установите равноправную метку на сокете от сокета

    Объявление

    Objective C

    typedef void mpo_socketpeer_label_associate_socket_t( socket_t source, struct label *sourcelabel, socket_t target, struct label *targetlabel );

    Параметры

    source

    Локальный сокет

    sourcelabel

    Метка политики для источника

    target

    Равноправный сокет

    targetlabel

    Метка политики для заполнения для цели

    Установите равноправную метку на потоковом сокете домена UNIX от переданной удаленной конечной точки сокета. Когда пара сокета будет соединена и будет сделана для обеих конечных точек, этот вызов будет выполнен.

    Обратите внимание на то, что этот вызов только выполняется на соединении; это в настоящее время не обновляется во время коммуникации.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте равноправную метку сокета

    Объявление

    Objective C

    typedef void mpo_socketpeer_label_destroy_t( struct label *label );

    Параметры

    label

    Равноправная метка, которая будет уничтожена

    Уничтожьте равноправную метку сокета. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Воплотите равноправную метку сокета

    Объявление

    Objective C

    typedef int mpo_socketpeer_label_externalize_t( struct label *label, char *element_name, struct sbuf *sb );

    Параметры

    label

    Метка, которая будет воплощена

    element_name

    Имя пространства имен метки, для которого должны быть воплощены метки

    sb

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

    Произведите воплощенную равноправную метку сокета на основе переданной структуры метки. Воплощенная метка состоит из текстового представления содержания метки, которое может использоваться с приложениями пространства пользователя и чтением пользователем. Если element_name не соответствует пространство имен, которым управляет политика, просто возвратитесь 0. Только возвратитесь ненулевой, если ошибка происходит при воплощении данных метки.

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

    В случае ошибки надлежащее значение для errno должно быть возвращено, иначе возврат 0 на успех.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте равноправную метку сокета

    Объявление

    Objective C

    typedef int mpo_socketpeer_label_init_t( struct label *label, int waitok );

    Параметры

    label

    Новая метка для инициализации

    waitok

    Флаги Malloc

    Инициализируйте равноправную метку недавно инстанцированного сокета. waitok поле может быть одним из M_WAITOK и M_NOWAIT, и должно использоваться, чтобы избежать выполнять сон malloc (9) во время этого вызова инициализации. Это это не всегда безопасный спать во время этой точки входа.

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

    В случае ошибки надлежащее значение для errno должно быть возвращено, иначе возврат 0 на успех.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на включение учета

    Объявление

    Objective C

    typedef int mpo_system_check_acct_t( kauth_cred_t cred, struct vnode *vp, struct label *vlabel );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Учетный файл

    vlabel

    Метка связалась с vp

    Определите, нужно ли предмету позволить позволить считать, на основе его метки и метки бухгалтерского файла журнала. См. acct (5) для получения дополнительной информации.

    Поскольку учет отключен путем передачи NULL acct (2) системный вызов, политика должна быть подготовлена и к 'vp' и к 'vlabel', чтобы быть NULL.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на аудит

    Объявление

    Objective C

    typedef int mpo_system_check_audit_t( kauth_cred_t cred, void *record, int length );

    Параметры

    cred

    Подчиненные учетные данные

    record

    Запись аудита

    length

    Длина записи аудита

    Определите, может ли предмет, идентифицированный учетными данными, представить запись аудита для включения в журнал аудита через аудит () системный вызов.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на управление аудитом

    Объявление

    Objective C

    typedef int mpo_system_check_auditctl_t( kauth_cred_t cred, struct vnode *vp, struct label *vl );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Файл аудита

    vl

    Метка связалась с vp

    Определите, нужно ли предмету позволить позволить контролировать использование auditctl () системный вызов, на основе его метки и метки предложенного файла аудита.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на управление контролем

    Объявление

    Objective C

    typedef int mpo_system_check_auditon_t( kauth_cred_t cred, int cmd );

    Параметры

    cred

    Подчиненные учетные данные

    cmd

    Команда управления аудитом

    Определите, может ли предмет, идентифицированный учетными данными, выполнить контрольную работу управления подсистемой cmd через прослушивание () системный вызов.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение порта управления узла

    Объявление

    Objective C

    typedef int mpo_system_check_host_priv_t( kauth_cred_t cred );

    Параметры

    cred

    Подчиненные учетные данные

    Определите, может ли предмет, идентифицированный учетными данными, получить порт управления узла.

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

    Возвратитесь 0, если доступ предоставляется или ненулевой иначе.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на вызов служб NFS

    Объявление

    Objective C

    typedef int mpo_system_check_nfsd_t( kauth_cred_t cred );

    Параметры

    cred

    Подчиненные учетные данные

    Определите, нужно ли предмету, идентифицированному учетными данными, позволить вызвать nfssrv (2).

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на перезагрузку

    Объявление

    Objective C

    typedef int mpo_system_check_reboot_t( kauth_cred_t cred, int howto );

    Параметры

    cred

    Подчиненные учетные данные

    howto

    параметр с практическими рекомендациями от перезагрузки (2)

    Определите, нужно ли предмету, идентифицированному учетными данными, позволить перезагрузить систему указанным способом.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на установку системных часов

    Объявление

    Objective C

    typedef int mpo_system_check_settime_t( kauth_cred_t cred );

    Параметры

    cred

    Подчиненные учетные данные

    Определите, нужно ли предмету, идентифицированному учетными данными, позволить установить системные часы.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на удаление устройств свопинга

    Объявление

    Objective C

    typedef int mpo_system_check_swapoff_t( kauth_cred_t cred, struct vnode *vp, struct label *label );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Устройство свопинга

    label

    Метка связалась с vp

    Определите, нужно ли предмету, идентифицированному учетными данными, позволить удалить vp как устройство свопинга.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на добавление устройств свопинга

    Объявление

    Objective C

    typedef int mpo_system_check_swapon_t( kauth_cred_t cred, struct vnode *vp, struct label *label );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Устройство свопинга

    label

    Метка связалась с vp

    Определите, нужно ли предмету, идентифицированному учетными данными, позволить добавить vp как устройство свопинга.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на sysctl

    Объявление

    Objective C

    typedef int mpo_system_check_sysctl_t( kauth_cred_t cred, int *name, u_int namelen, user_addr_t old, /* NULLOK */ user_addr_t oldlenp, /* NULLOK */ int inkernel, user_addr_t newvalue, /* NULLOK */ size_t newlen );

    Параметры

    cred

    Подчиненные учетные данные

    name

    Целочисленное имя; см. sysctl (3)

    namelen

    Длина массива имени целых чисел; см. sysctl (3)

    old

    0 или адрес, где сохранить старое значение; см. sysctl (3)

    oldlenp

    Указатель на длину старого буфера; см. sysctl (3)

    inkernel

    Булевская переменная; 1, если вызвано от ядра

    newvalue

    0 или адрес нового значения; см. sysctl (3)

    newlen

    Длина нового буфера; см. sysctl (3)

    Определите, нужно ли предмету, идентифицированному учетными данными, позволить сделать указанный sysctl (3) транзакция.

    sysctl (3) вызов указывает, что, если старое значение не желаемо, oldp и oldlenp должен быть установлен в NULL. Аналогично, если новое значение не должно быть установлено, newp должен быть установлен в NULL и набор newlen к 0.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте метку сообщения System V

    Объявление

    Objective C

    typedef void mpo_sysvmsg_label_associate_t( kauth_cred_t cred, struct msqid_kernel *msqptr, struct label *msqlabel, struct msg *msgptr, struct label *msglabel );

    Параметры

    cred

    Подчиненные учетные данные

    msqkptr

    Очередь сообщений сообщение будет помещена в

    msqlabel

    Метка очереди сообщений

    msgptr

    Сообщение

    msglabel

    Метка сообщения

    Маркируйте сообщение как ее помещенный в очередь сообщений.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку сообщения System V

    Объявление

    Objective C

    typedef void mpo_sysvmsg_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку сообщения System V. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку сообщения System V

    Объявление

    Objective C

    typedef void mpo_sysvmsg_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте метку для недавно инстанцированного сообщения System V.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Очистите метку сообщения System V

    Объявление

    Objective C

    typedef void mpo_sysvmsg_label_recycle_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Очистите метку сообщения System V. Дарвин предварительно выделяет сообщения во время начальной загрузки системы и снова использует их вместо того, чтобы выделить новые. Прежде чем сообщения возвращаются к «свободному пулу», политики могут очистка или перезаписывать любое информационное настоящее в метке.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на постановку в очередь сообщения System V

    Объявление

    Objective C

    typedef int mpo_sysvmsq_check_enqueue_t( kauth_cred_t cred, struct msg *msgptr, struct label *msglabel, struct msqid_kernel *msqptr, struct label *msqlabel );

    Параметры

    cred

    Подчиненные учетные данные

    msgptr

    Сообщение

    msglabel

    Метка сообщения

    msqkptr

    Очередь сообщений

    msqlabel

    Метка очереди сообщений

    Определите, может ли предмет, идентифицированный учетными данными, добавить данное сообщение к данной очереди сообщений.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на прием сообщений System V

    Объявление

    Objective C

    typedef int mpo_sysvmsq_check_msgrcv_t( kauth_cred_t cred, struct msg *msgptr, struct label *msglabel );

    Параметры

    cred

    Учетные данные предполагаемого получателя

    msgptr

    Сообщение

    msglabel

    Метка сообщения

    Определите, может ли предмет, идентифицированный учетными данными, получить данное сообщение.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на удаление очереди сообщений System V

    Объявление

    Objective C

    typedef int mpo_sysvmsq_check_msgrmid_t( kauth_cred_t cred, struct msg *msgptr, struct label *msglabel );

    Параметры

    cred

    Учетные данные вызывающей стороны

    msgptr

    Сообщение

    msglabel

    Метка сообщения

    Очереди сообщений System V удалены с помощью msgctl () системный вызов. Система выполнит итерации по каждому сообщению в очереди, вызывая эту функцию для каждого, чтобы определить, имеет ли вызывающая сторона надлежащие учетные данные.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на msgctl ()

    Объявление

    Objective C

    typedef int mpo_sysvmsq_check_msqctl_t( kauth_cred_t cred, struct msqid_kernel *msqptr, struct label *msqlabel, int cmd );

    Параметры

    cred

    Учетные данные вызывающей стороны

    msqptr

    Очередь сообщений

    msqlabel

    Метка очереди сообщений

    Эта проверка прав доступа выполняется для проверки вызовов к msgctl ().

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом для получения очереди сообщений System V

    Объявление

    Objective C

    typedef int mpo_sysvmsq_check_msqget_t( kauth_cred_t cred, struct msqid_kernel *msqptr, struct label *msqlabel );

    Параметры

    cred

    Учетные данные вызывающей стороны

    msqptr

    Очередь сообщений требуют

    msqlabel

    Метка очереди сообщений

    На вызове к msgget (), если очередь запросила уже, существует, и это - общедоступная очередь, эта проверка будет выполняться, прежде чем ID очереди возвращается пользователю.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом для получения сообщения System V из данной очереди

    Объявление

    Objective C

    typedef int mpo_sysvmsq_check_msqrcv_t( kauth_cred_t cred, struct msqid_kernel *msqptr, struct label *msqlabel );

    Параметры

    cred

    Учетные данные вызывающей стороны

    msqptr

    Очередь сообщений для получения из

    msqlabel

    Метка очереди сообщений

    На вызове к msgrcv (), эта проверка выполняется, чтобы определить, имеет ли вызывающая сторона, получают права на данной очереди.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом, чтобы отправить сообщение System V данной очереди

    Объявление

    Objective C

    typedef int mpo_sysvmsq_check_msqsnd_t( kauth_cred_t cred, struct msqid_kernel *msqptr, struct label *msqlabel );

    Параметры

    cred

    Учетные данные вызывающей стороны

    msqptr

    Очередь сообщений для отправки к

    msqlabel

    Метка очереди сообщений

    На вызове к msgsnd (), эта проверка выполняется, чтобы определить, имеет ли вызывающая сторона, отправляют права на данной очереди.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте метку очереди сообщений System V

    Объявление

    Objective C

    typedef void mpo_sysvmsq_label_associate_t( kauth_cred_t cred, struct msqid_kernel *msqptr, struct label *msqlabel );

    Параметры

    cred

    Подчиненные учетные данные

    msqkptr

    Очередь сообщений

    msqlabel

    Метка очереди сообщений

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку очереди сообщений System V

    Объявление

    Objective C

    typedef void mpo_sysvmsq_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку очереди сообщений System V. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку очереди сообщений System V

    Объявление

    Objective C

    typedef void mpo_sysvmsq_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте метку для недавно инстанцированной очереди сообщений System V.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Очистите метку очереди сообщений System V

    Объявление

    Objective C

    typedef void mpo_sysvmsq_label_recycle_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Очистите метку очереди сообщений System V. Дарвин предварительно выделяет очереди сообщений во время начальной загрузки системы и снова использует их вместо того, чтобы выделить новые. Прежде чем очереди сообщений возвращаются к «свободному пулу», политики могут очистка или перезаписывать любое информационное настоящее в метке.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на семафор System V управляет работой

    Объявление

    Objective C

    typedef int mpo_sysvsem_check_semctl_t( kauth_cred_t cred, struct semid_kernel *semakptr, struct label *semaklabel, int cmd );

    Параметры

    cred

    Подчиненные учетные данные

    semakptr

    Указатель на семафорный идентификатор

    semaklabel

    Метка связалась с семафором

    cmd

    Работа управления, которая будет выполняться; см. semctl (2)

    Определите, может ли предмет, идентифицированный учетными данными, выполнить работу, обозначенную cmd на семафоре System V semakptr.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение семафора System V

    Объявление

    Objective C

    typedef int mpo_sysvsem_check_semget_t( kauth_cred_t cred, struct semid_kernel *semakptr, struct label *semaklabel );

    Параметры

    cred

    Подчиненные учетные данные

    semakptr

    Указатель на семафорный идентификатор

    semaklabel

    Метка для соединения с семафором

    Определите, может ли предмет, идентифицированный учетными данными, получить семафор System V.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на операции семафора System V

    Объявление

    Objective C

    typedef int mpo_sysvsem_check_semop_t( kauth_cred_t cred, struct semid_kernel *semakptr, struct label *semaklabel, size_t accesstype );

    Параметры

    cred

    Подчиненные учетные данные

    semakptr

    Указатель на семафорный идентификатор

    semaklabel

    Метка связалась с семафором

    accesstype

    Флаги для указания доступа (чтение и/или запись)

    Определите, может ли предмет, идентифицированный учетными данными, выполнить операции на семафоре System V, обозначенном semakptr. Флаги accesstype содержат максимальный набор полномочий от массива sem_op, переданного semop системному вызову. Это может содержать SEM_R для операций только для чтения или SEM_A для операций чтения-записи.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте метку семафора System V

    Объявление

    Objective C

    typedef void mpo_sysvsem_label_associate_t( kauth_cred_t cred, struct semid_kernel *semakptr, struct label *semalabel );

    Параметры

    cred

    Подчиненные учетные данные

    semakptr

    Создаваемый семафор

    semalabel

    Метка для соединения с новым семафором

    Маркируйте новый семафор System V. Метка была ранее инициализирована и связана с семафором. В это время надлежащее начальное значение метки должно быть присвоено объекту и сохранено в semalabel.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку семафора System V

    Объявление

    Objective C

    typedef void mpo_sysvsem_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку семафора System V. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку семафора System V

    Объявление

    Objective C

    typedef void mpo_sysvsem_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте метку для недавно инстанцированного семафора System V. Сон разрешен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Очистите метку семафора System V

    Объявление

    Objective C

    typedef void mpo_sysvsem_label_recycle_t( struct label *label );

    Параметры

    label

    Метка, которая будет убрана

    Очистите метку семафора System V. Дарвин предварительно выделяет семафоры во время начальной загрузки системы и снова использует их вместо того, чтобы выделить новые. Прежде чем семафоры возвращаются к «свободному пулу», политики могут очистка или перезаписывать любое информационное настоящее в метке.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на отображение общей памяти System V

    Объявление

    Objective C

    typedef int mpo_sysvshm_check_shmat_t( kauth_cred_t cred, struct shmid_kernel *shmsegptr, struct label *shmseglabel, int shmflg );

    Параметры

    cred

    Подчиненные учетные данные

    shmsegptr

    Указатель на идентификатор сегмента общей памяти

    shmseglabel

    Метка связалась с сегментом общей памяти

    shmflg

    флаги shmat; см. shmat (2)

    Определите, может ли предмет, идентифицированный учетными данными, отобразить сегмент общей памяти System V, связанный с shmsegptr.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на общую память System V управляет работой

    Объявление

    Objective C

    typedef int mpo_sysvshm_check_shmctl_t( kauth_cred_t cred, struct shmid_kernel *shmsegptr, struct label *shmseglabel, int cmd );

    Параметры

    cred

    Подчиненные учетные данные

    shmsegptr

    Указатель на идентификатор сегмента общей памяти

    shmseglabel

    Метка связалась с сегментом общей памяти

    cmd

    Работа управления, которая будет выполняться; см. shmctl (2)

    Определите, может ли предмет, идентифицированный учетными данными, выполнить работу, обозначенную cmd на сегменте общей памяти System V shmsegptr.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на неотображение общей памяти System V

    Объявление

    Objective C

    typedef int mpo_sysvshm_check_shmdt_t( kauth_cred_t cred, struct shmid_kernel *shmsegptr, struct label *shmseglabel );

    Параметры

    cred

    Подчиненные учетные данные

    shmsegptr

    Указатель на идентификатор сегмента общей памяти

    shmseglabel

    Метка связалась с сегментом общей памяти

    Определите, может ли предмет, идентифицированный учетными данными, не отобразить сегмент общей памяти System V, связанный с shmsegptr.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом получая идентификатор общей памяти System V

    Объявление

    Objective C

    typedef int mpo_sysvshm_check_shmget_t( kauth_cred_t cred, struct shmid_kernel *shmsegptr, struct label *shmseglabel, int shmflg );

    Параметры

    cred

    Подчиненные учетные данные

    shmsegptr

    Указатель на идентификатор сегмента общей памяти

    shmseglabel

    Метка связалась с сегментом общей памяти

    shmflg

    флаги shmget; см. shmget (2)

    Определите, может ли предмет, идентифицированный учетными данными, получить адрес сегмента общей памяти System V.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Создайте метку области общей памяти System V

    Объявление

    Objective C

    typedef void mpo_sysvshm_label_associate_t( kauth_cred_t cred, struct shmid_kernel *shmsegptr, struct label *shmlabel );

    Параметры

    cred

    Подчиненные учетные данные

    shmsegptr

    Создаваемая область общей памяти

    shmlabel

    Метка для соединения с новой областью общей памяти

    Маркируйте новую область общей памяти System V. Метка была ранее инициализирована и связана с областью общей памяти. В это время надлежащее начальное значение метки должно быть присвоено объекту и сохранено в shmlabel.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку общей памяти System V

    Объявление

    Objective C

    typedef void mpo_sysvshm_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку области общей памяти System V. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку области Общей памяти System V

    Объявление

    Objective C

    typedef void mpo_sysvshm_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте метку для недавно инстанцированной области Общей памяти System V. Сон разрешен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Очистите метку Области Памяти Доли System V

    Объявление

    Objective C

    typedef void mpo_sysvshm_label_recycle_t( struct label *shmlabel );

    Параметры

    shmlabel

    Метка, которая будет убрана

    Очистите метку Области Общей памяти System V. Дарвин предварительно выделяет эти объекты во время начальной загрузки системы и снова использует их вместо того, чтобы выделить новые. Прежде чем области памяти возвращаются к «свободному пулу», политики могут очистка или перезаписывать любое информационное настоящее в метке.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Присвойте метку новой kernelspace задаче Маха

    Объявление

    Objective C

    typedef void mpo_task_label_associate_kernel_t( struct task *kproc, struct label *tasklabel, struct label *portlabel );

    Параметры

    kproc

    Новая задача

    tasklabel

    Метка для новой задачи

    portlabel

    Метка для нового порта задачи

    Обсуждение

    Присвойте метки новой задаче ядра и ее порту задачи. И задача и метки порта задачи должны быть указаны. Инициализируются обе новых метки. Если будет связанная структура процесса BSD, то это будет маркировано вызовами к mpo_cred_label_associate_kernel.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_cred_label_associate_kernel_t

  • Присвойте метку новому (пространство пользователя) задача Маха

    Объявление

    Objective C

    typedef void mpo_task_label_associate_t( struct task *parent, struct task *child, struct label *parentlabel, struct label *childlabel, struct label *childportlabel );

    Параметры

    parent

    Родительская задача

    child

    Новая (дочерняя) задача

    parentlabel

    Метка родительской задачи

    childlabel

    Метка для новой задачи

    childportlabel

    Метка для порта задачи новой задачи

    Присвойте метки новой задаче и ее порту задачи. И задача и метки порта задачи должны быть указаны. Инициализируются обе новых метки. Если задача будет иметь связанный процесс BSD, та информация будет сделана доступной task_label_update и port_label_update_cred точками входа.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Скопируйте метку задачи Маха

    Объявление

    Objective C

    typedef void mpo_task_label_copy_t( struct label *src, struct label *dest );

    Параметры

    src

    Исходная метка задачи

    dest

    Целевая метка задачи

    Скопируйте информацию о метке задачи Маха от src до dest. Это используется при дублировании дескрипторов метки для реализации семантики копии на записи.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Уничтожьте метку задачи Маха

    Объявление

    Objective C

    typedef void mpo_task_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку задачи Маха. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Воплотите метку задачи

    Объявление

    Objective C

    typedef int mpo_task_label_externalize_t( struct label *label, char *element_name, struct sbuf *sb );

    Параметры

    label

    Метка, которая будет воплощена

    element_name

    Имя пространства имен метки, для которого должны быть воплощены метки

    sb

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

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

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Инициализируйте метку задачи Маха

    Объявление

    Objective C

    typedef void mpo_task_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте метку для недавно инстанцированной задачи Маха. Сон разрешен.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Усвойте метку задачи

    Объявление

    Objective C

    typedef int mpo_task_label_internalize_t( struct label *label, char *element_name, char *element_data );

    Параметры

    label

    Метка, которая будет усвоена

    element_name

    Имя пространства имен метки, для которого должна быть усвоена метка

    element_data

    Текстовые данные, которые будут усвоены

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

    Политика усваивает точки входа, будет вызван, только если политика зарегистрировала интерес к пространству имен метки.

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

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

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Обновите метку задачи Маха

    Объявление

    Objective C

    typedef void mpo_task_label_update_t( struct label *cred, struct label *task );

    Параметры

    cred

    Пользовательские учетные данные маркируют, чтобы использоваться в качестве источника

    task

    Задача Маха маркирует, чтобы использоваться в качестве места назначения

    Обсуждение

    Обновите метку на задаче Маха, с помощью предоставленной пользовательской учетной метки. Когда mac_cred_label_update_execve или mac_cred_label_update работа заставляют метку на пользовательских учетных данных изменяться, метка задачи Маха также должна быть обновлена для отражения изменения. Обе метки уже допустимы (инициализированный и создаваемый).

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_cred_label_update_t
    mpo_cred_label_update_execve_t

  • Выполните связанные с MAC события, когда поток возвратится к пространству пользователя

    Объявление

    Objective C

    typedef void mpo_thread_userret_t( struct thread *thread );

    Параметры

    thread

    Мах (не BSD) возвращающийся поток

    Когда поток возвращается к пространству пользователя через возврат системного вызова или возврат прерывания, эта точка входа разрешает модулям политики выполнять связанные с MAC события.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверьте vnode доступ

    Объявление

    Objective C

    typedef int mpo_vnode_check_access_t( kauth_cred_t cred, struct vnode *vp, struct label *label, int acc_mode );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    label

    Метка для vp

    acc_mode

    доступ (2) флаги

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

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на изменение рабочего каталога

    Объявление

    Objective C

    typedef int mpo_vnode_check_chdir_t( kauth_cred_t cred, struct vnode *dvp, struct label *dlabel );

    Параметры

    cred

    Подчиненные учетные данные

    dvp

    Объект; vnode к chdir (2) в

    dlabel

    Метка политики для dvp

    Определите, может ли предмет, идентифицированный учетными данными, изменить процесс рабочий каталог на переданный vnode.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на изменение корневого каталога

    Объявление

    Objective C

    typedef int mpo_vnode_check_chroot_t( kauth_cred_t cred, struct vnode *dvp, struct label *dlabel, struct componentname *cnp );

    Параметры

    cred

    Подчиненные учетные данные

    dvp

    Каталог vnode

    dlabel

    Метка политики связалась с dvp

    cnp

    Имя компонента для dvp

    Определите, должен ли предмет, идентифицированный учетными данными, быть позволен chroot (2) в указанный каталог (dvp).

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

    В случае ошибки надлежащее значение для errno должно быть возвращено, иначе возврат 0 на успех.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на создание vnode

    Объявление

    Objective C

    typedef int mpo_vnode_check_create_t( kauth_cred_t cred, struct vnode *dvp, struct label *dlabel, struct componentname *cnp, struct vnode_attr *vap );

    Параметры

    cred

    Подчиненные учетные данные

    dvp

    Каталог vnode

    dlabel

    Метка политики для dvp

    cnp

    Имя компонента для dvp

    vap

    vnode приписывает для vap

    Определите, может ли предмет, идентифицированный учетными данными, создать vnode с переданным родительским каталогом, передал информацию об имени и передал информацию атрибута. Этот вызов может быть выполнен во многих ситуациях, включая в результате вызовов для открытия (2) with O_CREAT, mknod (2), mkfifo (2), и другие.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на удаление расширенного атрибута

    Объявление

    Objective C

    typedef int mpo_vnode_check_deleteextattr_t( kauth_cred_t cred, struct vnode *vp, struct label *vlabel, const char *name );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    vlabel

    Метка связалась с vp

    name

    Расширенное название атрибута

    Определите, может ли предмет, идентифицированный учетными данными, удалить расширенный атрибут из переданного vnode.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на обмен данными файла

    Объявление

    Objective C

    typedef int mpo_vnode_check_exchangedata_t( kauth_cred_t cred, struct vnode *v1, struct label *vl1, struct vnode *v2, struct label *vl2 );

    Параметры

    cred

    Подчиненные учетные данные

    v1

    vnode 1 для свопинга

    vl1

    Метка политики для v1

    v2

    vnode 2 для свопинга

    vl2

    Метка политики для v2

    Определите, может ли предмет, идентифицированный учетными данными, подкачать данные в предоставленном vnodes двух.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на выполнение vnode

    Объявление

    Objective C

    typedef int mpo_vnode_check_exec_t( kauth_cred_t cred, struct vnode *vp, struct label *label, struct label *execlabel, /* NULLOK */ struct componentname *cnp, u_int *csflags, void *macpolicyattr, size_t macpolicyattrlen );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Возразите vnode для выполнения

    label

    Метка политики для vp

    execlabel

    Пространство пользователя обеспечило метку выполнения

    cnp

    Имя компонента для выполняемого файла

    macpolicyattr

    MAC специфичные для политики данные атрибута икры.

    macpolicyattrlen

    Длина специфичной для политики икры приписывает данные.

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

    Заключительная метка, execlabel, соответствует метке, предоставленной приложением пространства пользователя с помощью mac_execve системного вызова. Если пользовательское приложение будет использовать поставщика execve (2) вызов вместо Платформы MAC mac_execve () вызов, этой меткой будет NULL.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение атрибутов файла

    Объявление

    Objective C

    typedef int mpo_vnode_check_getattrlist_t( kauth_cred_t cred, struct vnode *vp, struct label *vlabel, struct attrlist *alist );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    vlabel

    Метка политики для vp

    alist

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

    Определите, может ли предмет, идентифицированный учетными данными, считать различные атрибуты указанного vnode, или файловую систему или объем, на котором это находится vnode. См. <sys/attr.h> для определений атрибутов.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия. Управление доступом покрывает все атрибуты, которые требуют этим вызовом; политике безопасности не разрешают изменить набор атрибутов, которые требуют.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на получение расширенного атрибута

    Объявление

    Objective C

    typedef int mpo_vnode_check_getextattr_t( kauth_cred_t cred, struct vnode *vp, struct label *label, /* NULLOK */ const char *name, struct uio * uio /* NULLOK */ );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    label

    Метка политики для vp

    name

    Расширенное название атрибута

    uio

    Указатель структуры I/O

    Определите, может ли предмет, идентифицированный учетными данными, получить расширенный атрибут от переданного vnode. Когда getxattr (2) вызов будет сделан со значением данных NULL, uio параметром будет NULL; это сделано для запроса размера данных только.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на ioctl

    Объявление

    Objective C

    typedef int mpo_vnode_check_ioctl_t( kauth_cred_t cred, struct vnode *vp, struct label *label, unsigned int cmd );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    label

    Метка политики для vp

    com

    Зависящий от устройств код запроса; см. ioctl (2)

    Определите, может ли предмет, идентифицированный учетными данными, выполнить ioctl работу, обозначенную com.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на vnode kqfilter

    Объявление

    Objective C

    typedef int mpo_vnode_check_kqfilter_t( kauth_cred_t active_cred, kauth_cred_t file_cred, /* NULLOK */ struct knote *kn, struct vnode *vp, struct label *label );

    Параметры

    cred

    Подчиненные учетные данные

    kn

    Объект knote

    vp

    Объект vnode

    label

    Метка политики для vp

    Определите, может ли предмет, идентифицированный учетными данными, получить knote на переданном vnode.

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

    Возвратитесь 0, если доступ, если предоставлено, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на переметку

    Объявление

    Objective C

    typedef int mpo_vnode_check_label_update_t( struct ucred *cred, struct vnode *vp, struct label *vnodelabel, struct label *newlabel );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    vnodelabel

    Существующая метка политики для vp

    newlabel

    Метка политики обновляет, чтобы позже быть примененной к vp

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

    Обсуждение

    Определите, может ли предмет, идентифицированный учетными данными, повторно маркировать переданный vnode к переданному обновлению метки. Если все политики разрешат изменение метки, то фактическая точка входа переметки (mpo_vnode_label_update) будет следовать.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_relable_vnode_t

  • Проверка управления доступом на создание ссылки

    Объявление

    Objective C

    typedef int mpo_vnode_check_link_t( kauth_cred_t cred, struct vnode *dvp, struct label *dlabel, struct vnode *vp, struct label *label, struct componentname *cnp );

    Параметры

    cred

    Подчиненные учетные данные

    dvp

    Каталог vnode

    dlabel

    Метка политики связалась с dvp

    vp

    Соедините целевой vnode

    label

    Метка политики связалась с vp

    cnp

    Имя компонента для создаваемой ссылки

    Определите, нужно ли предмету, идентифицированному учетными данными, позволить создать ссылку к vnode vp с именем, указанным cnp.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на перечисление расширенных атрибутов

    Объявление

    Objective C

    typedef int mpo_vnode_check_listextattr_t( kauth_cred_t cred, struct vnode *vp, struct label *vlabel );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    vlabel

    Метка политики связалась с vp

    Определите, может ли предмет, идентифицированный учетными данными, получить список именованных расширенных атрибутов от vnode.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на поиск

    Объявление

    Objective C

    typedef int mpo_vnode_check_lookup_t( kauth_cred_t cred, struct vnode *dvp, struct label *dlabel, struct componentname *cnp );

    Параметры

    cred

    Подчиненные учетные данные

    dvp

    Объект vnode

    dlabel

    Метка политики для dvp

    cnp

    Искавшее имя компонента

    Определите, может ли предмет, идентифицированный учетными данными, выполнить поиск в переданном каталоге vnode для переданного имени (cnp).

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на открытый

    Объявление

    Objective C

    typedef int mpo_vnode_check_open_t( kauth_cred_t cred, struct vnode *vp, struct label *label, int acc_mode );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    label

    Метка политики связалась с vp

    acc_mode

    открытый (2) режим доступа

    Определите, может ли предмет, идентифицированный учетными данными, выполнить операцию открытия на переданном vnode с переданным режимом доступа.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на чтение

    Объявление

    Objective C

    typedef int mpo_vnode_check_read_t( kauth_cred_t active_cred, /* SUBJECT */ kauth_cred_t file_cred, /* NULLOK */ struct vnode *vp, /* OBJECT */ struct label * label /* LABEL */ );

    Параметры

    active_cred

    Подчиненные учетные данные

    file_cred

    Учетные данные связались со структурой fileproc

    vp

    Объект vnode

    label

    Метка политики для vp

    Определите, может ли предмет, идентифицированный учетными данными, выполнить операцию чтения на переданном vnode. active_cred содержат учетные данные предмета, выполняющего работу, и file_cred содержит учетные данные предмета, первоначально открывшего файл.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на каталог чтения

    Объявление

    Objective C

    typedef int mpo_vnode_check_readdir_t( kauth_cred_t cred, /* SUBJECT */ struct vnode *dvp, /* OBJECT */ struct label * dlabel /* LABEL */ );

    Параметры

    cred

    Подчиненные учетные данные

    dvp

    Объектный каталог vnode

    dlabel

    Метка политики для dvp

    Определите, может ли предмет, идентифицированный учетными данными, выполнить readdir работу на переданном каталоге vnode.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на ссылку чтения

    Объявление

    Objective C

    typedef int mpo_vnode_check_readlink_t( kauth_cred_t cred, struct vnode *vp, struct label *label );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    label

    Метка политики для vp

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

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на переименовывает от

    Объявление

    Objective C

    typedef int mpo_vnode_check_rename_from_t( kauth_cred_t cred, struct vnode *dvp, struct label *dlabel, struct vnode *vp, struct label *label, struct componentname *cnp );

    Параметры

    cred

    Подчиненные учетные данные

    dvp

    Каталог vnode

    dlabel

    Метка политики связалась с dvp

    vp

    vnode, который будет переименован

    label

    Метка политики связалась с vp

    cnp

    Имя компонента для vp

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

    Обсуждение

    Определите, нужно ли предмету, идентифицированному учетными данными, позволить переименовать vnode vp к чему-то еще.

    Вследствие VFS блокировка ограничений (для проверки надлежащие блокировки vnode сохранены во время этой точки входа), проверки переметки vnode должны были быть разделены на две части: relabel_from и переметка к.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_vnode_check_rename_to_t

  • Проверка управления доступом на переименовывает к

    Объявление

    Objective C

    typedef int mpo_vnode_check_rename_to_t( kauth_cred_t cred, struct vnode *dvp, struct label *dlabel, struct vnode *vp, /* NULLOK */ struct label *label, /* NULLOK */ int samedir, struct componentname *cnp );

    Параметры

    cred

    Подчиненные учетные данные

    dvp

    Каталог vnode

    dlabel

    Метка политики связалась с dvp

    vp

    Перезаписанный vnode

    label

    Метка политики связалась с vp

    samedir

    Булевская переменная; 1, если источник и целевые каталоги являются тем же

    cnp

    Целевое имя компонента

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

    Обсуждение

    Определите, нужно ли предмету, идентифицированному учетными данными, позволить переименовать к vnode vp в каталог dvp, или к имени, представленному cnp. Если нет никакого существующего файла для перезаписи, vp, и меткой будет NULL.

    Вследствие VFS блокировка ограничений (для проверки надлежащие блокировки vnode сохранены во время этой точки входа), проверки переметки vnode должны были быть разделены на две части: relabel_from и переметка к.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

    См. также

    mpo_vnode_check_rename_from_t

  • Проверка управления доступом на отменяет

    Объявление

    Objective C

    typedef int mpo_vnode_check_revoke_t( kauth_cred_t cred, struct vnode *vp, struct label *label );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    label

    Метка политики для vp

    Определите, может ли предмет, идентифицированный учетными данными, отклонить доступ к переданному vnode.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на выбор

    Объявление

    Objective C

    typedef int mpo_vnode_check_select_t( kauth_cred_t cred, struct vnode *vp, struct label *label, int which );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    label

    Метка политики для vp

    which

    Работа, выбранная на: FREAD или FWRITE

    Определите, может ли предмет, идентифицированный учетными данными, выбрать vnode.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на установку атрибутов файла

    Объявление

    Objective C

    typedef int mpo_vnode_check_setattrlist_t( kauth_cred_t cred, struct vnode *vp, struct label *vlabel, struct attrlist *alist );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    vlabel

    Метка политики для vp

    alist

    Список атрибутов для установки

    Определите, может ли предмет, идентифицированный учетными данными, установить различные атрибуты указанного vnode, или файловую систему или объем, на котором это находится vnode. См. <sys/attr.h> для определений атрибутов.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия. Управление доступом покрывает все атрибуты, которые требуют этим вызовом.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на установку расширенного атрибута

    Объявление

    Objective C

    typedef int mpo_vnode_check_setextattr_t( kauth_cred_t cred, struct vnode *vp, struct label *label, const char *name, struct uio *uio );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    label

    Метка политики для vp

    name

    Расширенное название атрибута

    uio

    Указатель структуры I/O

    Определите, может ли предмет, идентифицированный учетными данными, установить расширенный атрибут переданного имени и передал пространство имен переданному vnode. Политики реализовывая метки защиты, поддержанные в расширенные атрибуты, могут хотеть обеспечить дополнительные защиты для тех атрибутов. Кроме того, политики должны избежать принятия решений на основе данных, на которые ссылаются от uio, поскольку существует потенциальное состояние состязания между этой проверкой и фактической работой. Если удалить работа выполняется, uio может также быть NULL.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

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

    Objective C

    #include <mac_policy.h>;

    Доступность

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

  • Проверка управления доступом на установку флагов

    Объявление

    Objective C

    typedef int mpo_vnode_check_setflags_t( kauth_cred_t cred, struct vnode *vp, struct label *label, u_long flags );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    label

    Метка политики для vp

    flags

    Флаги файла; см. chflags (2)

    Определите, может ли предмет, идентифицированный учетными данными, установить переданные флаги на переданном vnode.

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

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Проверка управления доступом на установку режима

    Объявление

    Objective C

    typedef int mpo_vnode_check_setmode_t( kauth_cred_t cred, struct vnode *vp, struct label *label, mode_t mode );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    label

    Метка политики для vp

    mode

    Режим File; см. chmod (2)

    Определите, может ли предмет, идентифицированный учетными данными, установить переданный режим на переданном vnode.

    Возвращаемое значение

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Проверка управления доступом на установку uid и ценуроз

    Объявление

    Objective C

    typedef int mpo_vnode_check_setowner_t( kauth_cred_t cred, struct vnode *vp, struct label *label, uid_t uid, gid_t gid );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    label

    Метка политики для vp

    uid

    Идентификатор пользователя

    gid

    Группа ID

    Определите, может ли предмет, идентифицированный учетными данными, установить переданный uid и передал ценуроз как файл uid и ценуроз файла на переданном vnode. IDs может быть установлен в (-1) не запросить обновление.

    Возвращаемое значение

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Проверка управления доступом на установку меток времени

    Объявление

    Objective C

    typedef int mpo_vnode_check_setutimes_t( kauth_cred_t cred, struct vnode *vp, struct label *label, struct timespec atime, struct timespec mtime );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    Объект vnode

    label

    Метка политики для vp

    atime

    Время доступа; см. utimes (2)

    mtime

    Время изменения; см. utimes (2)

    Определите, может ли предмет, идентифицированный учетными данными, установить переданные метки времени доступа на переданном vnode.

    Возвращаемое значение

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Проверка управления доступом на статистику

    Объявление

    Objective C

    typedef int mpo_vnode_check_stat_t( struct ucred *active_cred, struct ucred *file_cred, /* NULLOK */ struct vnode *vp, struct label *label );

    Параметры

    active_cred

    Подчиненные учетные данные

    file_cred

    Учетные данные связались со структурой fileproc

    vp

    Объект vnode

    label

    Метка политики для vp

    Определите, может ли предмет, идентифицированный учетными данными, статистика переданный vnode. Посмотрите статистику (2) для получения дополнительной информации. active_cred содержат учетные данные предмета, выполняющего работу, и file_cred содержит учетные данные предмета, первоначально открывшего файл.

    Возвращаемое значение

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Проверка управления доступом на truncate/ftruncate

    Объявление

    Objective C

    typedef int mpo_vnode_check_truncate_t( kauth_cred_t active_cred, kauth_cred_t file_cred, /* NULLOK */ struct vnode *vp, struct label *label );

    Параметры

    active_cred

    Подчиненные учетные данные

    file_cred

    Учетные данные связались со структурой fileproc

    vp

    Объект vnode

    label

    Метка политики для vp

    Определите, может ли предмет, идентифицированный учетными данными, выполнить усеченную работу на переданном vnode. active_cred содержат учетные данные предмета, выполняющего работу, и file_cred содержит учетные данные предмета, первоначально открывшего файл.

    Возвращаемое значение

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Проверка управления доступом на удаление vnode

    Объявление

    Objective C

    typedef int mpo_vnode_check_unlink_t( kauth_cred_t cred, struct vnode *dvp, struct label *dlabel, struct vnode *vp, struct label *label, struct componentname *cnp );

    Параметры

    cred

    Подчиненные учетные данные

    dvp

    Родительский каталог vnode

    dlabel

    Метка политики для dvp

    vp

    Возразите vnode для удаления

    label

    Метка политики для vp

    cnp

    Имя компонента для vp

    Возвращаемое значение

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

    Обсуждение

    Определите, может ли предмет, идентифицированный учетными данными, удалить vnode из переданного родительского каталога и передал информацию об имени. Этот вызов может быть выполнен во многих ситуациях, включая как результаты вызовов расцепить (2) и rmdir (2). Политики реализовывая эту точку входа должны также реализовать mpo_check_rename_to для авторизации удаления объектов в результате того, чтобы быть целью переименовывания.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

    См. также

    mpo_check_rename_to_t

  • Проверка управления доступом на запись

    Объявление

    Objective C

    typedef int mpo_vnode_check_write_t( kauth_cred_t active_cred, kauth_cred_t file_cred, /* NULLOK */ struct vnode *vp, struct label *label );

    Параметры

    active_cred

    Подчиненные учетные данные

    file_cred

    Учетные данные связались со структурой fileproc

    vp

    Объект vnode

    label

    Метка политики для vp

    Определите, может ли предмет, идентифицированный учетными данными, выполнить операцию записи на переданном vnode. active_cred содержат учетные данные предмета, выполняющего работу, и file_cred содержит учетные данные предмета, первоначально открывшего файл.

    Возвращаемое значение

    Возвратитесь 0, если доступ предоставляется, иначе должно быть возвращено надлежащее значение для errno. Предложенный отказ: EACCES для несоответствия метки или EPERM из-за отсутствия полномочия.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Свяжите vnode с devfs записью

    Объявление

    Objective C

    typedef void mpo_vnode_label_associate_devfs_t( struct mount *mp, struct label *mntlabel, struct devnode *de, struct label *delabel, struct vnode *vp, struct label *vlabel );

    Параметры

    mp

    Точка монтирования Devfs

    mntlabel

    Метка точки монтирования Devfs

    de

    Запись каталога Devfs

    delabel

    Метка связалась с de

    vp

    vnode связался с de

    vlabel

    Метка связалась с vp

    Заполните метку (vlabel) для недавно создаваемого devfs vnode. Метка обычно получается из метки на devfs записи каталога или метки в файловой системе, предоставленной как параметры.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Свяжите метку с vnode

    Объявление

    Objective C

    typedef int mpo_vnode_label_associate_extattr_t( struct mount *mp, struct label *mntlabel, struct vnode *vp, struct label *vlabel );

    Параметры

    mp

    Точка монтирования файловой системы

    mntlabel

    Метка точки монтирования файловой системы

    vp

    Vnode для маркировки

    vlabel

    Метка связалась с vp

    Попытка получить информацию о метке для vnode, vp, от файловой системы расширила хранилище атрибута. Метка должна быть сохранена в предоставленном vlabel параметре. Если политика не может получить расширенный атрибут, иногда это - acceptible к нейтрализации к использованию mntlabel.

    Если политика требует, чтобы vnodes имел допустимую метку в другом месте, это не ДОЛЖНО возвращаться кроме нерегулярных ошибок и должно всегда обеспечивать допустимую метку некоторого вида. Возврат ошибки заставит vnode, маркирующий быть повторенным в более позднем доступе. Отказ обработать политику центральные ошибки внутренне (поврежденные метки и т.д.) приведет к недоступным файлам.

    Возвращаемое значение

    В случае ошибки надлежащее значение для errno должно быть возвращено, иначе возврат 0 на успех.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Свяжите метку файла с vnode

    Объявление

    Objective C

    typedef void mpo_vnode_label_associate_file_t( struct ucred *cred, struct mount *mp, struct label *mntlabel, struct fileglob *fg, struct label *label, struct vnode *vp, struct label *vlabel );

    Параметры

    cred

    Пользовательские учетные данные

    mp

    Точка монтирования Fdesc

    mntlabel

    Метка точки монтирования Fdesc

    fg

    Структура Fileglob

    label

    Метка политики для fg

    vp

    Vnode для маркировки

    vlabel

    Метка связалась с vp

    Объединенная информация о метке для vnode, vp, с меткой открытого дескриптора файла описана fg. Метка должна быть сохранена в предоставленном vlabel параметре.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Свяжите метку канала с vnode

    Объявление

    Objective C

    typedef void mpo_vnode_label_associate_pipe_t( struct ucred *cred, struct pipe *cpipe, struct label *pipelabel, struct vnode *vp, struct label *vlabel );

    Параметры

    cred

    Пользовательские учетные данные для процесса, открывшего канал

    cpipe

    Структура канала

    pipelabel

    Метка связалась с каналом

    vp

    Vnode для маркировки

    vlabel

    Метка связалась с vp

    Объединенная информация о метке для vnode, vp, с меткой канала, описанного структурой канала cpipe. Метка должна быть сохранена в предоставленном vlabel параметре.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Свяжите метку семафора POSIX с vnode

    Объявление

    Objective C

    typedef void mpo_vnode_label_associate_posixsem_t( struct ucred *cred, struct pseminfo *psem, struct label *psemlabel, struct vnode *vp, struct label *vlabel );

    Параметры

    cred

    Пользовательские учетные данные для процесса, которые создают psem

    psem

    Структура семафора POSIX

    psemlabel

    Метка связалась с psem

    vp

    Vnode для маркировки

    vlabel

    Метка связалась с vp

    Объединенная информация о метке для vnode, vp, с меткой семафора POSIX описана psem. Метка должна быть сохранена в предоставленном vlabel параметре.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Свяжите метку общей памяти POSIX с vnode

    Объявление

    Objective C

    typedef void mpo_vnode_label_associate_posixshm_t( struct ucred *cred, struct pshminfo *pshm, struct label *pshmlabel, struct vnode *vp, struct label *vlabel );

    Параметры

    cred

    Пользовательские учетные данные для процесса, создавшего pshm

    pshm

    Структура общей памяти POSIX

    pshmlabel

    Метка связалась с pshm

    vp

    Vnode для маркировки

    vlabel

    Метка связалась с vp

    Объединенная информация о метке для vnode, vp, с меткой области общей памяти POSIX описана pshm. Метка должна быть сохранена в предоставленном vlabel параметре.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Свяжите метку с vnode

    Объявление

    Objective C

    typedef void mpo_vnode_label_associate_singlelabel_t( struct mount *mp, struct label *mntlabel, struct vnode *vp, struct label *vlabel );

    Параметры

    mp

    Точка монтирования файловой системы

    mntlabel

    Метка точки монтирования файловой системы

    vp

    Vnode для маркировки

    vlabel

    Метка связалась с vp

    В файловых системах немультиметки, набор метка для vnode. Метка будет наиболее вероятно основываться на метке файловой системы.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Свяжите метку сокета с vnode

    Объявление

    Objective C

    typedef void mpo_vnode_label_associate_socket_t( kauth_cred_t cred, socket_t so, struct label *solabel, struct vnode *vp, struct label *vlabel );

    Параметры

    cred

    Пользовательские учетные данные для процесса, открывшего сокет

    so

    Структура сокета

    solabel

    Метка связалась с так

    vp

    Vnode для маркировки

    vlabel

    Метка связалась с vp

    Объединенная информация о метке для vnode, vp, с меткой открытого сокета, описанного структурой сокета так. Метка должна быть сохранена в предоставленном vlabel параметре.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Скопируйте метку vnode

    Объявление

    Objective C

    typedef void mpo_vnode_label_copy_t( struct label *src, struct label *dest );

    Параметры

    src

    Источник vnode метка

    dest

    Целевая метка vnode

    Скопируйте информацию о метке vnode от src до dest. На Дарвине это в настоящее время только необходимо, когда выполнение интерпретировало сценарии, но будет позже использоваться, если воплощение метки vnode не может быть атомарной работой.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Уничтожьте метку vnode

    Объявление

    Objective C

    typedef void mpo_vnode_label_destroy_t( struct label *label );

    Параметры

    label

    Метка, которая будет уничтожена

    Уничтожьте метку vnode. Так как объект выходит из объема, модули политики должны освободить любую внутреннюю память, связанную с меткой так, чтобы это могло быть уничтожено.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Воплотите метку vnode для контроля

    Объявление

    Objective C

    typedef int mpo_vnode_label_externalize_audit_t( struct label *label, char *element_name, struct sbuf *sb );

    Параметры

    label

    Метка, которая будет воплощена

    element_name

    Имя пространства имен метки, для которого должны быть воплощены метки

    sb

    Строковый буфер, чтобы быть заполненным текстовым представлением метки

    Произведите внешнее представление метки на vnode подходящем для включения в запись аудита. Воплощенная метка состоит из текстового представления содержания метки, которое будет добавлено к записи аудита как часть текстового маркера. Агностические политикой инструменты пространства пользователя выведут на экран эту воплощенную версию.

    Возвращаемое значение

    0 на успехе, возвратитесь ненулевой, если ошибка происходит при воплощении данных метки.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Воплотите метку vnode

    Объявление

    Objective C

    typedef int mpo_vnode_label_externalize_t( struct label *label, char *element_name, struct sbuf *sb );

    Параметры

    label

    Метка, которая будет воплощена

    element_name

    Имя пространства имен метки, для которого должны быть воплощены метки

    sb

    Строковый буфер, чтобы быть заполненным текстовым представлением метки

    Произведите внешнее представление метки на vnode. Воплощенная метка состоит из текстового представления содержания метки, которое может использоваться с пользовательскими приложениями. Агностические политикой инструменты пространства пользователя выведут на экран эту воплощенную версию.

    Возвращаемое значение

    0 на успехе, возвратитесь ненулевой, если ошибка происходит при воплощении данных метки.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Инициализируйте метку vnode

    Объявление

    Objective C

    typedef void mpo_vnode_label_init_t( struct label *label );

    Параметры

    label

    Новая метка для инициализации

    Инициализируйте хранение метки для использования с недавно инстанцированным vnode, или для временного хранения, связанного с копированием в или из метки vnode. В то время как необходимо выделить площадь для резидентного объекта ядра vnode метка, еще не необходимо соединить этот vnode с персистентными складами метки, такими как расширенные атрибуты. Сон разрешен.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Усвойте метку vnode

    Объявление

    Objective C

    typedef int mpo_vnode_label_internalize_t( struct label *label, char *element_name, char *element_data );

    Параметры

    label

    Метка, которая будет усвоена

    element_name

    Имя пространства имен метки, для которого должна быть усвоена метка

    element_data

    Текстовые данные, которые будут усвоены

    Произведите метку vnode из внешнего представления. Воплощенная метка состоит из текстового представления содержания метки, которое может использоваться с пользовательскими приложениями. Агностические политикой инструменты пространства пользователя передадут текстовую версию ядру для обработки отдельными модулями политики.

    Политика усваивает точки входа, будет вызван, только если политика зарегистрировала интерес к пространству имен метки.

    Возвращаемое значение

    0 на успехе, Иначе, возврат, ненулевой, если ошибка происходит при усвоении данных метки.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Очистите метку vnode

    Объявление

    Objective C

    typedef void mpo_vnode_label_recycle_t( struct label *label );

    Параметры

    label

    Метка, которая будет убрана для повторного использования

    Очистите метку vnode. Дарвин (Тайгер, 8.x) выделяет vnodes по требованию, но обычно никогда не освобождает их. Прежде чем vnodes помещаются назад в бесплатных списках для повторного использования, политики могут очистка или перезаписывать любое информационное настоящее в метке.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Запишите метку в расширенный атрибут

    Объявление

    Objective C

    typedef int mpo_vnode_label_store_t( kauth_cred_t cred, struct vnode *vp, struct label *vlabel, struct label *intlabel );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    vnode, для которого сохранена метка

    vlabel

    Метка связалась с vp

    intlabel

    Новая метка для хранения

    Сохраните новую метку в расширенном атрибуте, соответствующем предоставленному vnode. Политика уже авторизовала работу; этот вызов должен быть реализован для выполнения фактической работы.

    Возвращаемое значение

    В случае ошибки надлежащее значение для errno должно быть возвращено, иначе возврат 0 на успех.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Обновите метку vnode от расширенных атрибутов

    Объявление

    Objective C

    typedef int mpo_vnode_label_update_extattr_t( struct mount *mp, struct label *mntlabel, struct vnode *vp, struct label *vlabel, const char *name );

    Параметры

    mp

    Точка монтирования файловой системы

    mntlabel

    Метка точки монтирования

    vp

    Vnode для маркировки

    vlabel

    Метка связалась с vp

    name

    Имя xattr

    Обсуждение

    Когда расширенный атрибут обновляется через функции управления атрибута Поставщика, MAC vnode метка мог бы также потребовать обновления. Политики должны сначала определить, соответствует ли 'имя' их имя метки xattr. Если это делает, ядро, или заменил или удалил именованный расширенный атрибут, ранее связанный с vnode. Обычно метки должны только быть изменены через вызовы управления меткой Платформы MAC, но иногда компоненты пространства пользователя будут непосредственно изменять расширенные атрибуты. Например, 'CP', 'tar', и т.д. управляет расширенными атрибутами в пространстве пользователя, не ядром.

    Эту точку входа вызывают после того, как обновление метки произошло, таким образом, это не может возвратить отказ. Однако работе предшествует mpo_vnode_check_setextattr () проверка управления доступом.

    Если метка vnode должна быть обновлена, политика должна возвратить ненулевое значение. Метка vnode будет отмечена для переассоциации платформой.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

    См. также

    mpo_vnode_check_setextattr_t

  • Обновите метку vnode

    Объявление

    Objective C

    typedef void mpo_vnode_label_update_t( kauth_cred_t cred, struct vnode *vp, struct label *vnodelabel, struct label *label );

    Параметры

    cred

    Подчиненные учетные данные

    vp

    vnode, чтобы повторно маркировать

    vnodelabel

    Существующая метка vnode

    label

    Новая метка для замены существующей метки

    Обсуждение

    Предмет, идентифицированный учетными данными, ранее запросил и был разрешен повторно маркировать vnode; эта точка входа позволяет политикам выполнить фактическую работу переметки. Политики должны обновить vnodelabel использование метки, сохраненной в параметре метки.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

    См. также

    mpo_vnode_check_label_update_t

  • Создайте новый vnode, поддержанный расширенными атрибутами

    Объявление

    Objective C

    typedef int mpo_vnode_notify_create_t( kauth_cred_t cred, struct mount *mp, struct label *mntlabel, struct vnode *dvp, struct label *dlabel, struct vnode *vp, struct label *vlabel, struct componentname *cnp );

    Параметры

    cred

    Пользовательские учетные данные для процесса создания

    mp

    Точка монтирования файловой системы

    mntlabel

    Метка точки монтирования файловой системы

    dvp

    Родительский каталог vnode

    dlabel

    Родительский каталог vnode метка

    vp

    Недавно создаваемый vnode

    vlabel

    Метка для соединения с новым vnode

    cnp

    Имя компонента для vp

    Выпишите метку для недавно создаваемого vnode, наиболее вероятное хранение результатов в файловой системе расширенный атрибут. Большинство политик получит новую метку vnode с помощью информации от комбинации предмета (пользователь) учетные данные, метка файловой системы, метка родительского каталога, и потенциально компонент пути.

    Возвращаемое значение

    Если работа успешно выполняется, сохраните новую метку в vlabel и возвратитесь 0. Иначе, возвратите надлежащее значение errno.

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Сообщите политикам MAC, что был соединен vnode

    Объявление

    Objective C

    typedef void mpo_vnode_notify_link_t( kauth_cred_t cred, struct vnode *dvp, struct label *dlabel, struct vnode *vp, struct label *vlabel, struct componentname *cnp );

    Параметры

    cred

    Пользовательские учетные данные для процесса переименования

    dvp

    Родительский каталог для места назначения

    dlabel

    Метка политики для dvp

    vp

    Vnode это соединяется

    vlabel

    Метка политики для vp

    cnp

    Имя компонента для места назначения

    Сообщите политикам MAC, что был соединен vnode.

Типы данных

Посмотрите раздел Overview выше для документации уровня заголовка.

  • Объявление

    Objective C

    typedef struct ucred *kauth_cred_t;

    Оператор импорта

    Objective C

    #include <ucred.h>;

    Доступность

    Доступный в OS X v10.4 и позже.

  • Объявление

    Objective C

    typedef struct ucred *kauth_cred_t;

    Оператор импорта

    Objective C

    #include <ucred.h>;

    Доступность

    Доступный в OS X v10.4 и позже.

  • Политика MAC обрабатывает тип

    Объявление

    Objective C

    typedef unsigned int mac_policy_handle_t;

    Обсуждение

    Дескриптор MAC используется для однозначного определения загруженной политики в Платформе MAC.

    Переменная этого типа установлена mac_policy_register ().

    Оператор импорта

    Objective C

    #include <mac_policy.h>;

    Доступность

    Доступный в OS X v10.5 через OS X v10.5.

  • Конфигурация политики Mac

    Объявление

    Objective C

    /* XXX - reorder these for better aligment on 64bit platforms */ struct mac_policy_conf { const char *mpc_name; /** policy name */ const char *mpc_fullname; /** full name */ const char **mpc_labelnames; /** managed label namespaces */ unsigned int mpc_labelname_count; /** number of managed label namespaces */ struct mac_policy_ops *mpc_ops; /** operation vector */ int mpc_loadtime_flags; /** load time flags */ int *mpc_field_off; /** label slot */ int mpc_runtime_flags; /** run time flags */ mpc_t mpc_list; /** List reference */ void *mpc_data; /** module data */ };

    Обсуждение

    Эта структура указывает конфигурационную информацию для модуля политики MAC. Разработчик модуля политики должен предоставить короткое уникальное имя политики, более дескриптивное полное имя, список пространств имен метки и количества, указателя на зарегистрированные операции точки enty, любые флаги времени загрузки, и дополнительно, указателя на идентификатор слота метки.

    Платформа обновит флаги во время выполнения (mpc_runtime_flags), чтобы указать, что был зарегистрирован модуль.

    Если идентификатором слота метки (mpc_field_off) будет NULL, то Платформа не обеспечит хранение метки для политики. Иначе, Платформа сохранит расположение метки (слот) в этом поле.

    mpc_list поле используется Платформой и не должно быть изменено политиками.

Константы

Посмотрите раздел Overview выше для документации уровня заголовка.

  • Объявление

    Objective C

    #define _KAUTH_CRED_T #define _KAUTH_CRED_T #define MAC_NOWAIT 1 #define MAC_WAITOK 0 #define MPC_LOADTIME_BASE_POLICY 0x00000008 #define MPC_LOADTIME_FLAG_LABELMBUFS 0x00000004 #define MPC_LOADTIME_FLAG_NOTLATE 0x00000001 #define MPC_LOADTIME_FLAG_UNLOADOK 0x00000002 #define MPC_RUNTIME_FLAG_REGISTERED 0x00000001

    Константы

    • _KAUTH_CRED_T

      _KAUTH_CRED_T

    • dummy

      dummy

    • MAC_NOWAIT

      MAC_NOWAIT

      Операции выделения могут не блокировать

      Если память не сразу доступна, вместо блокирования, средство выделения может возвратить ошибку. Этот тип выделения не будет спать, сохраняя блокировку семантики.

      Доступный в OS X v10.5 через OS X v10.5.

    • MAC_WAITOK

      MAC_WAITOK

      Операции выделения могут блокировать

      Если память не будет сразу доступна, то подпрограмма распределения блокирует (обычно спящий), пока память не будет доступна.

      Доступный в OS X v10.5 через OS X v10.5.

    • MPC_LOADTIME_BASE_POLICY

      MPC_LOADTIME_BASE_POLICY

      Флаг для указания основной политики

      Этот флаг указывает, что модуль политики является основной политикой. Только один модуль может объявить себя как основа, иначе процесс начальной загрузки будет остановлен.

      Доступный в OS X v10.5 через OS X v10.5.

    • MPC_LOADTIME_FLAG_LABELMBUFS

      MPC_LOADTIME_FLAG_LABELMBUFS

      Неподдерживаемый

      XXX Этих флагов еще не поддерживаются.

      Доступный в OS X v10.5 через OS X v10.5.

    • MPC_LOADTIME_FLAG_NOTLATE

      MPC_LOADTIME_FLAG_NOTLATE

      Флаг для указания регистрационного предпочтения

      Этот флаг указывает, что модуль политики должен быть загружен и инициализирован рано в процессе начальной загрузки. Если флаг будет указан, то попытки зарегистрировать модуль после начальной загрузки будут отклонены. Флаг может использоваться политиками, которые требуют распространяющейся маркировки всех системных объектов и не могут обработать объекты, должным образом не инициализированные политикой.

      Доступный в OS X v10.5 через OS X v10.5.

    • MPC_LOADTIME_FLAG_UNLOADOK

      MPC_LOADTIME_FLAG_UNLOADOK

      Флаг для указания разгружает предпочтение

      Этот флаг указывает, что может быть разгружен модуль политики. Если этот флаг не будет установлен, то платформа политики отклонит запросы для разгрузки модуля. Этот флаг мог бы использоваться модулями, выделяющими метку, утверждают и неспособны освободить то состояние во время выполнения, или для модулей, просто не хотящих разрешать, разгружают операции.

      Доступный в OS X v10.5 через OS X v10.5.

    • MPC_RUNTIME_FLAG_REGISTERED

      MPC_RUNTIME_FLAG_REGISTERED

      Регистрационный флаг политики

      Этот флаг указывает, что модуль политики был успешно зарегистрирован в платформе TrustedBSD MAC. Платформа установит этот флаг в mpc_runtime_flags поле mac_policy_conf структуры политики после регистрации политики.

      Доступный в OS X v10.5 через OS X v10.5.