#include <EndpointSecurity/ESTypes.h> also included by <EndpointSecurity/EndpointSecurity.h>

EndpointSecurity/ESTypes.h

46 typedefs · 36 enums · 8 structs

structes_event_id_t

size 32, align 1
uint8_t[32]reserved

typedefes_event_id_t

typedef struct es_event_id_t es_event_id_t;

enumes_action_type_t

underlying type unsigned int
ES_ACTION_TYPE_AUTH0
ES_ACTION_TYPE_NOTIFY1

typedefes_action_type_t

typedef enum es_action_type_t es_action_type_t;

enumes_set_or_clear_t

underlying type unsigned int
ES_SET0
ES_CLEAR1

typedefes_set_or_clear_t

typedef enum es_set_or_clear_t es_set_or_clear_t;

enumes_proc_check_type_t

@brief This enum describes the type of the es_event_proc_check_t event that are currently used @note ES_PROC_CHECK_TYPE_KERNMSGBUF, ES_PROC_CHECK_TYPE_TERMINATE and ES_PROC_CHECK_TYPE_UDATA_INFO are deprecated and no proc_check messages will be generated for the corresponding proc_info call numbers. The terminate callnum is covered by the signal event.
underlying type unsigned int
ES_PROC_CHECK_TYPE_LISTPIDS1
ES_PROC_CHECK_TYPE_PIDINFO2
ES_PROC_CHECK_TYPE_PIDFDINFO3
ES_PROC_CHECK_TYPE_KERNMSGBUF4deprecated, not generated
ES_PROC_CHECK_TYPE_SETCONTROL5
ES_PROC_CHECK_TYPE_PIDFILEPORTINFO6
ES_PROC_CHECK_TYPE_TERMINATE7deprecated, not generated
ES_PROC_CHECK_TYPE_DIRTYCONTROL8
ES_PROC_CHECK_TYPE_PIDRUSAGE9
ES_PROC_CHECK_TYPE_UDATA_INFO14deprecated, not generated

typedefes_proc_check_type_t

typedef enum es_proc_check_type_t es_proc_check_type_t;

enumes_xpc_domain_type_t

@brief This enum describes the types of XPC service domains.
underlying type unsigned int
ES_XPC_DOMAIN_TYPE_SYSTEM1
ES_XPC_DOMAIN_TYPE_USER2
ES_XPC_DOMAIN_TYPE_USER_LOGIN3
ES_XPC_DOMAIN_TYPE_SESSION4
ES_XPC_DOMAIN_TYPE_PID5
ES_XPC_DOMAIN_TYPE_MANAGER6
ES_XPC_DOMAIN_TYPE_PORT7
ES_XPC_DOMAIN_TYPE_GUI8

typedefes_xpc_domain_type_t

typedef enum es_xpc_domain_type_t es_xpc_domain_type_t;

enumes_authentication_type_t

@brief This enum describes the types of authentications that ES_EVENT_TYPE_NOTIFY_AUTHENTICATION can describe.
underlying type unsigned int
ES_AUTHENTICATION_TYPE_OD0
ES_AUTHENTICATION_TYPE_TOUCHID1
ES_AUTHENTICATION_TYPE_TOKEN2
ES_AUTHENTICATION_TYPE_AUTO_UNLOCK3
ES_AUTHENTICATION_TYPE_LAST4ES_AUTHENTICATION_TYPE_LAST is not a valid type of authentication but is a convenience value to operate on the range of defined authentication types.

typedefes_authentication_type_t

typedef enum es_authentication_type_t es_authentication_type_t;

enumes_sudo_plugin_type_t

@brief This enum describes the type of plugin types in sudo
underlying type unsigned int
ES_SUDO_PLUGIN_TYPE_UNKNOWN0
ES_SUDO_PLUGIN_TYPE_FRONT_END1
ES_SUDO_PLUGIN_TYPE_POLICY2
ES_SUDO_PLUGIN_TYPE_IO3
ES_SUDO_PLUGIN_TYPE_AUDIT4
ES_SUDO_PLUGIN_TYPE_APPROVAL5

typedefes_sudo_plugin_type_t

typedef enum es_sudo_plugin_type_t es_sudo_plugin_type_t;

enumes_event_type_t

The valid event types recognized by EndpointSecurity @discussion When a program subscribes to and receives an AUTH-related event, it must respond with an appropriate result indicating whether or not the operation should be allowed to continue. The valid API options are: - es_respond_auth_result - es_respond_flags_result Currently, only ES_EVENT_TYPE_AUTH_OPEN must use es_respond_flags_result. All other AUTH events must use es_respond_auth_result.
underlying type unsigned int
ES_EVENT_TYPE_AUTH_EXEC0The following events are available beginning in macOS 10.15
ES_EVENT_TYPE_AUTH_OPEN1
ES_EVENT_TYPE_AUTH_KEXTLOAD2
ES_EVENT_TYPE_AUTH_MMAP3
ES_EVENT_TYPE_AUTH_MPROTECT4
ES_EVENT_TYPE_AUTH_MOUNT5
ES_EVENT_TYPE_AUTH_RENAME6
ES_EVENT_TYPE_AUTH_SIGNAL7
8
ES_EVENT_TYPE_NOTIFY_EXEC9
ES_EVENT_TYPE_NOTIFY_OPEN10
ES_EVENT_TYPE_NOTIFY_FORK11
ES_EVENT_TYPE_NOTIFY_CLOSE12
ES_EVENT_TYPE_NOTIFY_CREATE13
ES_EVENT_TYPE_NOTIFY_EXCHANGEDATA14
ES_EVENT_TYPE_NOTIFY_EXIT15
ES_EVENT_TYPE_NOTIFY_GET_TASK16
ES_EVENT_TYPE_NOTIFY_KEXTLOAD17
ES_EVENT_TYPE_NOTIFY_KEXTUNLOAD18
19
ES_EVENT_TYPE_NOTIFY_MMAP20
ES_EVENT_TYPE_NOTIFY_MPROTECT21
ES_EVENT_TYPE_NOTIFY_MOUNT22
ES_EVENT_TYPE_NOTIFY_UNMOUNT23
ES_EVENT_TYPE_NOTIFY_IOKIT_OPEN24
ES_EVENT_TYPE_NOTIFY_RENAME25
ES_EVENT_TYPE_NOTIFY_SETATTRLIST26
ES_EVENT_TYPE_NOTIFY_SETEXTATTR27
ES_EVENT_TYPE_NOTIFY_SETFLAGS28
ES_EVENT_TYPE_NOTIFY_SETMODE29
ES_EVENT_TYPE_NOTIFY_SETOWNER30
ES_EVENT_TYPE_NOTIFY_SIGNAL31
32
ES_EVENT_TYPE_NOTIFY_WRITE33
ES_EVENT_TYPE_AUTH_FILE_PROVIDER_MATERIALIZE34
ES_EVENT_TYPE_NOTIFY_FILE_PROVIDER_MATERIALIZE35
ES_EVENT_TYPE_AUTH_FILE_PROVIDER_UPDATE36
ES_EVENT_TYPE_NOTIFY_FILE_PROVIDER_UPDATE37
38
39
ES_EVENT_TYPE_AUTH_TRUNCATE40
ES_EVENT_TYPE_NOTIFY_TRUNCATE41
42
ES_EVENT_TYPE_NOTIFY_LOOKUP43
ES_EVENT_TYPE_AUTH_CREATE44
ES_EVENT_TYPE_AUTH_SETATTRLIST45
ES_EVENT_TYPE_AUTH_SETEXTATTR46
ES_EVENT_TYPE_AUTH_SETFLAGS47
ES_EVENT_TYPE_AUTH_SETMODE48
ES_EVENT_TYPE_AUTH_SETOWNER49
ES_EVENT_TYPE_AUTH_CHDIR50The following events are available beginning in macOS 10.15.1
ES_EVENT_TYPE_NOTIFY_CHDIR51
ES_EVENT_TYPE_AUTH_GETATTRLIST52
ES_EVENT_TYPE_NOTIFY_GETATTRLIST53
ES_EVENT_TYPE_NOTIFY_STAT54
ES_EVENT_TYPE_NOTIFY_ACCESS55
ES_EVENT_TYPE_AUTH_CHROOT56
ES_EVENT_TYPE_NOTIFY_CHROOT57
ES_EVENT_TYPE_AUTH_UTIMES58
ES_EVENT_TYPE_NOTIFY_UTIMES59
ES_EVENT_TYPE_AUTH_CLONE60
ES_EVENT_TYPE_NOTIFY_CLONE61
ES_EVENT_TYPE_NOTIFY_FCNTL62
ES_EVENT_TYPE_AUTH_GETEXTATTR63
ES_EVENT_TYPE_NOTIFY_GETEXTATTR64
ES_EVENT_TYPE_AUTH_LISTEXTATTR65
ES_EVENT_TYPE_NOTIFY_LISTEXTATTR66
ES_EVENT_TYPE_AUTH_READDIR67
ES_EVENT_TYPE_NOTIFY_READDIR68
ES_EVENT_TYPE_AUTH_DELETEEXTATTR69
ES_EVENT_TYPE_NOTIFY_DELETEEXTATTR70
ES_EVENT_TYPE_AUTH_FSGETPATH71
ES_EVENT_TYPE_NOTIFY_FSGETPATH72
ES_EVENT_TYPE_NOTIFY_DUP73
ES_EVENT_TYPE_AUTH_SETTIME74
ES_EVENT_TYPE_NOTIFY_SETTIME75
ES_EVENT_TYPE_NOTIFY_UIPC_BIND76
ES_EVENT_TYPE_AUTH_UIPC_BIND77
ES_EVENT_TYPE_NOTIFY_UIPC_CONNECT78
ES_EVENT_TYPE_AUTH_UIPC_CONNECT79
ES_EVENT_TYPE_AUTH_EXCHANGEDATA80
ES_EVENT_TYPE_AUTH_SETACL81
ES_EVENT_TYPE_NOTIFY_SETACL82
ES_EVENT_TYPE_NOTIFY_PTY_GRANT83The following events are available beginning in macOS 10.15.4
ES_EVENT_TYPE_NOTIFY_PTY_CLOSE84
ES_EVENT_TYPE_AUTH_PROC_CHECK85
ES_EVENT_TYPE_NOTIFY_PROC_CHECK86
ES_EVENT_TYPE_AUTH_GET_TASK87
ES_EVENT_TYPE_AUTH_SEARCHFS88The following events are available beginning in macOS 11.0
ES_EVENT_TYPE_NOTIFY_SEARCHFS89
ES_EVENT_TYPE_AUTH_FCNTL90
ES_EVENT_TYPE_AUTH_IOKIT_OPEN91
ES_EVENT_TYPE_AUTH_PROC_SUSPEND_RESUME92
ES_EVENT_TYPE_NOTIFY_PROC_SUSPEND_RESUME93
ES_EVENT_TYPE_NOTIFY_CS_INVALIDATED94
ES_EVENT_TYPE_NOTIFY_GET_TASK_NAME95
ES_EVENT_TYPE_NOTIFY_TRACE96
ES_EVENT_TYPE_NOTIFY_REMOTE_THREAD_CREATE97
ES_EVENT_TYPE_AUTH_REMOUNT98
ES_EVENT_TYPE_NOTIFY_REMOUNT99
ES_EVENT_TYPE_AUTH_GET_TASK_READ100The following events are available beginning in macOS 11.3
ES_EVENT_TYPE_NOTIFY_GET_TASK_READ101
ES_EVENT_TYPE_NOTIFY_GET_TASK_INSPECT102
ES_EVENT_TYPE_NOTIFY_SETUID103The following events are available beginning in macOS 12.0
ES_EVENT_TYPE_NOTIFY_SETGID104
ES_EVENT_TYPE_NOTIFY_SETEUID105
ES_EVENT_TYPE_NOTIFY_SETEGID106
ES_EVENT_TYPE_NOTIFY_SETREUID107
ES_EVENT_TYPE_NOTIFY_SETREGID108
ES_EVENT_TYPE_AUTH_COPYFILE109
ES_EVENT_TYPE_NOTIFY_COPYFILE110
ES_EVENT_TYPE_NOTIFY_AUTHENTICATION111The following events are available beginning in macOS 13.0
ES_EVENT_TYPE_NOTIFY_XP_MALWARE_DETECTED112
ES_EVENT_TYPE_NOTIFY_XP_MALWARE_REMEDIATED113
ES_EVENT_TYPE_NOTIFY_LW_SESSION_LOGIN114
ES_EVENT_TYPE_NOTIFY_LW_SESSION_LOGOUT115
ES_EVENT_TYPE_NOTIFY_LW_SESSION_LOCK116
ES_EVENT_TYPE_NOTIFY_LW_SESSION_UNLOCK117
ES_EVENT_TYPE_NOTIFY_SCREENSHARING_ATTACH118
ES_EVENT_TYPE_NOTIFY_SCREENSHARING_DETACH119
ES_EVENT_TYPE_NOTIFY_OPENSSH_LOGIN120
ES_EVENT_TYPE_NOTIFY_OPENSSH_LOGOUT121
ES_EVENT_TYPE_NOTIFY_LOGIN_LOGIN122
ES_EVENT_TYPE_NOTIFY_LOGIN_LOGOUT123
ES_EVENT_TYPE_NOTIFY_BTM_LAUNCH_ITEM_ADD124
ES_EVENT_TYPE_NOTIFY_BTM_LAUNCH_ITEM_REMOVE125
ES_EVENT_TYPE_NOTIFY_PROFILE_ADD126The following events are available beginning in macOS 14.0
ES_EVENT_TYPE_NOTIFY_PROFILE_REMOVE127
ES_EVENT_TYPE_NOTIFY_SU128
ES_EVENT_TYPE_NOTIFY_AUTHORIZATION_PETITION129
ES_EVENT_TYPE_NOTIFY_AUTHORIZATION_JUDGEMENT130
ES_EVENT_TYPE_NOTIFY_SUDO131
ES_EVENT_TYPE_NOTIFY_OD_GROUP_ADD132
ES_EVENT_TYPE_NOTIFY_OD_GROUP_REMOVE133
ES_EVENT_TYPE_NOTIFY_OD_GROUP_SET134
ES_EVENT_TYPE_NOTIFY_OD_MODIFY_PASSWORD135
ES_EVENT_TYPE_NOTIFY_OD_DISABLE_USER136
ES_EVENT_TYPE_NOTIFY_OD_ENABLE_USER137
ES_EVENT_TYPE_NOTIFY_OD_ATTRIBUTE_VALUE_ADD138
ES_EVENT_TYPE_NOTIFY_OD_ATTRIBUTE_VALUE_REMOVE139
ES_EVENT_TYPE_NOTIFY_OD_ATTRIBUTE_SET140
ES_EVENT_TYPE_NOTIFY_OD_CREATE_USER141
ES_EVENT_TYPE_NOTIFY_OD_CREATE_GROUP142
ES_EVENT_TYPE_NOTIFY_OD_DELETE_USER143
ES_EVENT_TYPE_NOTIFY_OD_DELETE_GROUP144
ES_EVENT_TYPE_NOTIFY_XPC_CONNECT145
ES_EVENT_TYPE_NOTIFY_GATEKEEPER_USER_OVERRIDE146The following events are available beginning in macOS 15.0
ES_EVENT_TYPE_NOTIFY_TCC_MODIFY147The following events are available beginning in macOS 15.4
ES_EVENT_TYPE_RESERVED_0148
ES_EVENT_TYPE_RESERVED_1149
ES_EVENT_TYPE_RESERVED_2150
ES_EVENT_TYPE_RESERVED_3151
ES_EVENT_TYPE_RESERVED_4152
ES_EVENT_TYPE_RESERVED_5153
ES_EVENT_TYPE_RESERVED_6154
ES_EVENT_TYPE_LAST155ES_EVENT_TYPE_LAST is not a valid event type but a convenience value for operating on the range of defined event types. This value may change between releases and was available beginning in macOS 10.15

typedefes_event_type_t

typedef enum es_event_type_t es_event_type_t;

enumes_auth_result_t

@brief Valid authorization values to be used when responding to a es_message_t auth event
underlying type unsigned int
ES_AUTH_RESULT_ALLOW0The event is authorized and should be allowed to continue
ES_AUTH_RESULT_DENY1The event is not authorized and should be blocked

typedefes_auth_result_t

typedef enum es_auth_result_t es_auth_result_t;

enumes_result_type_t

@brief Valid values for the result_type of es_result_t to indicate the appropriate union member to use
underlying type unsigned int
ES_RESULT_TYPE_AUTH0The result is an auth result
ES_RESULT_TYPE_FLAGS1The result is a flags result

typedefes_result_type_t

typedef enum es_result_type_t es_result_type_t;

enumes_return_t

@brief Return value for functions that can only fail in one way
underlying type unsigned int
ES_RETURN_SUCCESS0
ES_RETURN_ERROR1

typedefes_return_t

typedef enum es_return_t es_return_t;

enumes_respond_result_t

@brief Error conditions for responding to a message
underlying type unsigned int
ES_RESPOND_RESULT_SUCCESS0
ES_RESPOND_RESULT_ERR_INVALID_ARGUMENT1One or more invalid arguments were provided
ES_RESPOND_RESULT_ERR_INTERNAL2Communication with the ES subsystem failed
ES_RESPOND_RESULT_NOT_FOUND3The message being responded to could not be found
ES_RESPOND_RESULT_ERR_DUPLICATE_RESPONSE4The provided message has been responded to more than once
ES_RESPOND_RESULT_ERR_EVENT_TYPE5Either an inappropriate response API was used for the event type (ensure using proper es_respond_auth_result or es_respond_flags_result function) or the event is notification only.

typedefes_respond_result_t

typedef enum es_respond_result_t es_respond_result_t;

enumes_new_client_result_t

@brief Error conditions for creating a new client
underlying type unsigned int
ES_NEW_CLIENT_RESULT_SUCCESS0
ES_NEW_CLIENT_RESULT_ERR_INVALID_ARGUMENT1One or more invalid arguments were provided.
ES_NEW_CLIENT_RESULT_ERR_INTERNAL2Communication with the ES subsystem failed, or other error condition.
ES_NEW_CLIENT_RESULT_ERR_NOT_ENTITLED3The caller is not properly entitled to connect.
ES_NEW_CLIENT_RESULT_ERR_NOT_PERMITTED4The caller lacks Transparency, Consent, and Control (TCC) approval from the user.
ES_NEW_CLIENT_RESULT_ERR_NOT_PRIVILEGED5The caller is not running as root.
ES_NEW_CLIENT_RESULT_ERR_TOO_MANY_CLIENTS6The caller has reached the maximum number of allowed simultaneously connected clients.

typedefes_new_client_result_t

typedef enum es_new_client_result_t es_new_client_result_t;

enumes_clear_cache_result_t

@brief Error conditions for clearing the authorisation caches
underlying type unsigned int
ES_CLEAR_CACHE_RESULT_SUCCESS0
ES_CLEAR_CACHE_RESULT_ERR_INTERNAL1Communication with the ES subsystem failed
ES_CLEAR_CACHE_RESULT_ERR_THROTTLE2Rate of calls is too high. Slow down.

typedefes_clear_cache_result_t

typedef enum es_clear_cache_result_t es_clear_cache_result_t;

typedefes_cdhash_t

@brief Binary CDHash The Code Directory Hash (CDHash) is a hash of hashes, covering a macho or an entire application bundle. The Code Directory contains the hash of each executable page in the main executable. Only when: - The subject process has opted into the hardened runtime (CS_HARD/CS_KILL) - The subject process is not being debugged - The subject process is running is it guaranteed that the ES provided cdhash value matches the binary observed by the kernel and that the pages actually executed have not been modified.
typedef uint8_t es_cdhash_t[20]

typedefes_sha256_t

@brief Binary Sha256 Digest
typedef uint8_t es_sha256_t[32]

structes_token_t

@brief Structure buffer with size
size 16, align 8
size_tsizeSize of the `data` field in bytes
const uint8_t *data

typedefes_token_t

typedef struct es_token_t es_token_t;

structes_string_token_t

@brief Structure for handling strings
size 16, align 8
size_tlengthLength of the `data` field. Equivalent to strlen().
const char *data

typedefes_string_token_t

typedef struct es_string_token_t es_string_token_t;

enumes_mute_path_type_t

@brief Values that will be paired with path strings to describe the type of the path @note : Be careful with symlinks, muting happens AFTER symlink resolution. muting '/tmp' won't work because it's a symlink to '/private/tmp'
underlying type unsigned int
ES_MUTE_PATH_TYPE_PREFIX0Value to describe a prefix for the path to the instigating program eg `/bin` would match `/bin/ls` and `/bin/sleep` This is a type of *program* muting. It could match multiple proccesses
ES_MUTE_PATH_TYPE_LITERAL1Value to describe the exact path to the instigating program *must match exactly* eg `/bin/ls`would match `/bin/ls` but NOT match `/bin/lsa`
ES_MUTE_PATH_TYPE_TARGET_PREFIX2Value to describe a target path prefix target here has a very specific meaning @see es_mute_path() briefly, this type of muting matches the *argument(s)* to syscalls, rather than the instigating program prefix matching means `/private/tmp` would match `open(/private/tmp/cake)`
ES_MUTE_PATH_TYPE_TARGET_LITERAL3Value to describe a target path literal Behaves just like ES_MUTE_PATH_TYPE_TARGET_PREFIX except that the target path must match *exactly* eg `/private/tmp/foo` would match `open(/private/tmp/foo)` but NOT match `open(/private/tmp/foobar)`

typedefes_mute_path_type_t

typedef enum es_mute_path_type_t es_mute_path_type_t;

structes_muted_path_t

Structure to describe attributes of a muted path. @field type Indicates if the path is a prefix or literal, and what type of muting applies. @field event_count The number of events contained in the `events` array. @field events Array of event types for which the path is muted. @field path The muted path. (Note: es_string_token_t is a char array and length)
size 40, align 8
es_mute_path_type_ttype
size_tevent_count
const es_event_type_t *events
es_string_token_tpath

typedefes_muted_path_t

typedef struct es_muted_path_t es_muted_path_t;

structes_muted_paths_t

Structure for a set of muted paths. @field count The number of elements in the `paths` array. @field paths Array of muted paths.
size 16, align 8
size_tcount
const es_muted_path_t *paths

typedefes_muted_paths_t

typedef struct es_muted_paths_t es_muted_paths_t;

structes_muted_process_t

Structure to describe attributes of a muted process. @field token The audit token of a muted process. @field event_count The number of events contained in the `events` array. @field events Array of event types for which the process is muted.
size 48, align 8
audit_token_taudit_token
size_tevent_count
const es_event_type_t *events

typedefes_muted_process_t

typedef struct es_muted_process_t es_muted_process_t;

structes_muted_processes_t

Structure for a set of muted processes. @field count The number of elements in the `processes` array. @field processes Array of muted processes.
size 16, align 8
size_tcount
const es_muted_process_t *processes

typedefes_muted_processes_t

typedef struct es_muted_processes_t es_muted_processes_t;

enumes_address_type_t

Type of a network address.
underlying type unsigned int
ES_ADDRESS_TYPE_NONE0No source address available.
ES_ADDRESS_TYPE_IPV41Source address is IPv4.
ES_ADDRESS_TYPE_IPV62Source address is IPv6.
ES_ADDRESS_TYPE_NAMED_SOCKET3Source address is named UNIX socket.

typedefes_address_type_t

typedef enum es_address_type_t es_address_type_t;

enumes_mute_inversion_type_t

underlying type unsigned int
ES_MUTE_INVERSION_TYPE_PROCESS0
ES_MUTE_INVERSION_TYPE_PATH1
ES_MUTE_INVERSION_TYPE_TARGET_PATH2
ES_MUTE_INVERSION_TYPE_LAST3

typedefes_mute_inversion_type_t

typedef enum es_mute_inversion_type_t es_mute_inversion_type_t;

enumes_mute_inverted_return_t

underlying type unsigned int
ES_MUTE_INVERTED0The type of muted queried was inverted
ES_MUTE_NOT_INVERTED1The type of muted queried was not inverted
ES_MUTE_INVERTED_ERROR2There was an error querying mute inversion state

typedefes_mute_inverted_return_t

typedef enum es_mute_inverted_return_t es_mute_inverted_return_t;

enumes_authorization_rule_class_t

The class of rules used to evaluate the petition for a specific authorization right
underlying type unsigned int
ES_AUTHORIZATION_RULE_CLASS_USER0Right is judged on user properties
ES_AUTHORIZATION_RULE_CLASS_RULE1Right is judged by a tree of sub-rules
ES_AUTHORIZATION_RULE_CLASS_MECHANISM2Right is judged by one or more plugins
ES_AUTHORIZATION_RULE_CLASS_ALLOW3Right is always granted
ES_AUTHORIZATION_RULE_CLASS_DENY4Right is always denied
ES_AUTHORIZATION_RULE_CLASS_UNKNOWN5Right is unknown
ES_AUTHORIZATION_RULE_CLASS_INVALID6Right is invalid

typedefes_authorization_rule_class_t

typedef enum es_authorization_rule_class_t es_authorization_rule_class_t;

enumes_od_member_type_t

The following types are used in OpenDirectory (od) events Type of a group member
underlying type unsigned int
ES_OD_MEMBER_TYPE_USER_NAME0Group member is a user, designated by name
ES_OD_MEMBER_TYPE_USER_UUID1Group member is a user, designated by UUID
ES_OD_MEMBER_TYPE_GROUP_UUID2Group member is another group, designated by UUID

typedefes_od_member_type_t

typedef enum es_od_member_type_t es_od_member_type_t;

enumes_od_account_type_t

Type of an account
underlying type unsigned int
ES_OD_ACCOUNT_TYPE_USER0
ES_OD_ACCOUNT_TYPE_COMPUTER1

typedefes_od_account_type_t

typedef enum es_od_account_type_t es_od_account_type_t;

enumes_od_record_type_t

Type of a record
underlying type unsigned int
ES_OD_RECORD_TYPE_USER0
ES_OD_RECORD_TYPE_GROUP1

typedefes_od_record_type_t

typedef enum es_od_record_type_t es_od_record_type_t;

enumes_gatekeeper_user_override_file_type_t

underlying type unsigned int
ES_GATEKEEPER_USER_OVERRIDE_FILE_TYPE_PATH0Signals that file is a string of a path since file could not be resolved on disk at time of event submission
ES_GATEKEEPER_USER_OVERRIDE_FILE_TYPE_FILE1Signals that file is a es_file_t

typedefes_gatekeeper_user_override_file_type_t

typedef enum es_gatekeeper_user_override_file_type_t es_gatekeeper_user_override_file_type_t;

structes_signed_file_info_t

Information from a signed file. If the file is a multiarchitecture binary, only the signing information for the native host architecture is reported. I.e. the CDHash from the AArch64 slice if the host is AArch64. @field cdhash Code Directory Hash @field teamID Team Identifier, if available in the signing information. @field signingID Signing Identifier, if available in the signing information.
size 56, align 8
es_cdhash_tcdhash
es_string_token_tsigning_id
es_string_token_tteam_id

typedefes_signed_file_info_t

typedef struct es_signed_file_info_t es_signed_file_info_t;

enumes_tcc_event_type_t

@typedef ess_tcc_event_type_t Represent the type of TCC modification event. - ES_TCC_EVENT_TYPE_UNKNOWN: Unknown prior state. - ES_TCC_EVENT_TYPE_CREATE: A new TCC authorization record was created. - ES_TCC_EVENT_TYPE_MODIFY: An existing TCC authorization record was modified. - ES_TCC_EVENT_TYPE_DELETE: An existing TCC authorization record was deleted.
underlying type unsigned int
ES_TCC_EVENT_TYPE_UNKNOWN0
ES_TCC_EVENT_TYPE_CREATE1
ES_TCC_EVENT_TYPE_MODIFY2
ES_TCC_EVENT_TYPE_DELETE3

typedefes_tcc_event_type_t

typedef enum es_tcc_event_type_t es_tcc_event_type_t;

enumes_tcc_authorization_right_t

ess_tcc_authorization_right_t Represents the type of authorization permission an application has to a TCC Service.
underlying type unsigned int
ES_TCC_AUTHORIZATION_RIGHT_DENIED00
ES_TCC_AUTHORIZATION_RIGHT_UNKNOWN11
ES_TCC_AUTHORIZATION_RIGHT_ALLOWED22
ES_TCC_AUTHORIZATION_RIGHT_LIMITED33
ES_TCC_AUTHORIZATION_RIGHT_ADD_MODIFY_ADDED44
ES_TCC_AUTHORIZATION_RIGHT_SESSION_PID55
ES_TCC_AUTHORIZATION_RIGHT_LEARN_MORE66

typedefes_tcc_authorization_right_t

typedef enum es_tcc_authorization_right_t es_tcc_authorization_right_t;

enumes_tcc_authorization_reason_t

ess_tcc_authorization_reason_t Represents the reason a TCC permission was updated.
underlying type unsigned int
ES_TCC_AUTHORIZATION_REASON_NONE0
ES_TCC_AUTHORIZATION_REASON_ERROR1
2User answered a prompt
ES_TCC_AUTHORIZATION_REASON_USER_SET3User changed the authorization right via Preferences
ES_TCC_AUTHORIZATION_REASON_SYSTEM_SET4A system process changed the authorization right
ES_TCC_AUTHORIZATION_REASON_SERVICE_POLICY5
ES_TCC_AUTHORIZATION_REASON_MDM_POLICY6
ES_TCC_AUTHORIZATION_REASON_SERVICE_OVERRIDE_POLICY7
ES_TCC_AUTHORIZATION_REASON_MISSING_USAGE_STRING8
ES_TCC_AUTHORIZATION_REASON_PROMPT_TIMEOUT9
ES_TCC_AUTHORIZATION_REASON_PREFLIGHT_UNKNOWN10
ES_TCC_AUTHORIZATION_REASON_ENTITLED11
ES_TCC_AUTHORIZATION_REASON_APP_TYPE_POLICY12
ES_TCC_AUTHORIZATION_REASON_PROMPT_CANCEL13

typedefes_tcc_authorization_reason_t

typedef enum es_tcc_authorization_reason_t es_tcc_authorization_reason_t;

enumes_tcc_identity_type_t

es_tcc_identity_type_t Represent the identity type of an application which has access to a TCC service.
underlying type unsigned int
ES_TCC_IDENTITY_TYPE_BUNDLE_ID0
ES_TCC_IDENTITY_TYPE_EXECUTABLE_PATH1
ES_TCC_IDENTITY_TYPE_POLICY_ID2
ES_TCC_IDENTITY_TYPE_FILE_PROVIDER_DOMAIN_ID3

typedefes_tcc_identity_type_t

typedef enum es_tcc_identity_type_t es_tcc_identity_type_t;

enumes_cs_validation_category_t

es_cs_validation_category Indicates the code signature validation policy that was applied to a binary
underlying type unsigned int
ES_CS_VALIDATION_CATEGORY_INVALID0
ES_CS_VALIDATION_CATEGORY_PLATFORM1
ES_CS_VALIDATION_CATEGORY_TESTFLIGHT2
ES_CS_VALIDATION_CATEGORY_DEVELOPMENT3
ES_CS_VALIDATION_CATEGORY_APP_STORE4
ES_CS_VALIDATION_CATEGORY_ENTERPRISE5
ES_CS_VALIDATION_CATEGORY_DEVELOPER_ID6
ES_CS_VALIDATION_CATEGORY_LOCAL_SIGNING7
ES_CS_VALIDATION_CATEGORY_ROSETTA8
ES_CS_VALIDATION_CATEGORY_OOPJIT9
ES_CS_VALIDATION_CATEGORY_NONE10

typedefes_cs_validation_category_t

typedef enum es_cs_validation_category_t es_cs_validation_category_t;

enumes_auto_unlock_type_t

es_auto_unlock_type_t See es_event_authentication_auto_unlock_t
underlying type unsigned int
ES_AUTO_UNLOCK_MACHINE_UNLOCK1Unlock the machine using Apple Watch.
ES_AUTO_UNLOCK_AUTH_PROMPT2Approve an authorization prompt using Apple Watch.

typedefes_auto_unlock_type_t

typedef enum es_auto_unlock_type_t es_auto_unlock_type_t;

enumes_btm_item_type_t

es_btm_item_type_t See es_btm_launch_item_t
underlying type unsigned int
ES_BTM_ITEM_TYPE_USER_ITEM0
ES_BTM_ITEM_TYPE_APP1
ES_BTM_ITEM_TYPE_LOGIN_ITEM2
ES_BTM_ITEM_TYPE_AGENT3
ES_BTM_ITEM_TYPE_DAEMON4

typedefes_btm_item_type_t

typedef enum es_btm_item_type_t es_btm_item_type_t;

enumes_destination_type_t

es_destination_type_t See es_event_create_t / es_event_rename_t
underlying type unsigned int
ES_DESTINATION_TYPE_EXISTING_FILE0
ES_DESTINATION_TYPE_NEW_PATH1

typedefes_destination_type_t

typedef enum es_destination_type_t es_destination_type_t;

enumes_get_task_type_t

es_get_task_type_t See es_event_get_task_t
underlying type unsigned int
ES_GET_TASK_TYPE_TASK_FOR_PID0Task port obtained by calling e.g. task_for_pid(), where the caller obtains a task port for a process identified by pid.
ES_GET_TASK_TYPE_EXPOSE_TASK1Task port obtained by calling e.g. processor_set_tasks(), where the caller obtains a set of task ports.
ES_GET_TASK_TYPE_IDENTITY_TOKEN2Task port obtained by calling e.g. task_identity_token_get_task_port(), where the caller obtains a task port for a process identified by an identity token. Task identity tokens generally have to be given up by the target process voluntarily prior to the conversion into task ports.

typedefes_get_task_type_t

typedef enum es_get_task_type_t es_get_task_type_t;

enumes_openssh_login_result_type_t

es_openssh_login_result_type_t See es_event_openssh_login_t
underlying type unsigned int
ES_OPENSSH_LOGIN_EXCEED_MAXTRIES0
ES_OPENSSH_LOGIN_ROOT_DENIED1
ES_OPENSSH_AUTH_SUCCESS2
ES_OPENSSH_AUTH_FAIL_NONE3
ES_OPENSSH_AUTH_FAIL_PASSWD4
ES_OPENSSH_AUTH_FAIL_KBDINT5
ES_OPENSSH_AUTH_FAIL_PUBKEY6
ES_OPENSSH_AUTH_FAIL_HOSTBASED7
ES_OPENSSH_AUTH_FAIL_GSSAPI8
ES_OPENSSH_INVALID_USER9

typedefes_openssh_login_result_type_t

typedef enum es_openssh_login_result_type_t es_openssh_login_result_type_t;

enumes_mount_disposition_t

es_mount_disposition_t See es_event_mount_t
underlying type unsigned int
ES_MOUNT_DISPOSITION_EXTERNAL0device is external storage
ES_MOUNT_DISPOSITION_INTERNAL1device is internal storage
ES_MOUNT_DISPOSITION_NETWORK2device is a network share
ES_MOUNT_DISPOSITION_VIRTUAL3device is virtual (dmg or file)
ES_MOUNT_DISPOSITION_NULLFS4mount uses nullfs, commonly for app translocation
ES_MOUNT_DISPOSITION_UNKNOWN5unable to determine disposition

typedefes_mount_disposition_t

typedef enum es_mount_disposition_t es_mount_disposition_t;

enumes_proc_suspend_resume_type_t

@brief This enum describes the type of suspend/resume operations that are currently used.
underlying type unsigned int
ES_PROC_SUSPEND_RESUME_TYPE_SUSPEND0
ES_PROC_SUSPEND_RESUME_TYPE_RESUME1
ES_PROC_SUSPEND_RESUME_TYPE_SHUTDOWN_SOCKETS3

typedefes_proc_suspend_resume_type_t

typedef enum es_proc_suspend_resume_type_t es_proc_suspend_resume_type_t;

enumes_profile_source_t

es_profile_source_t See es_profile_t
underlying type unsigned int
ES_PROFILE_SOURCE_MANAGED0
ES_PROFILE_SOURCE_INSTALL1

typedefes_profile_source_t

typedef enum es_profile_source_t es_profile_source_t;

enumes_touchid_mode_t

es_touchid_mode_t See es_event_authentication_touchid_t
underlying type unsigned int
ES_TOUCHID_MODE_VERIFICATION0
ES_TOUCHID_MODE_IDENTIFICATION1

typedefes_touchid_mode_t

typedef enum es_touchid_mode_t es_touchid_mode_t;