#ifndef _KTRACE_CODES_H_
#define _KTRACE_CODES_H_
#include <security_utilities/debugging.h>
#include <sys/kdebug.h>
#define APP_DEBUG_CLASS 0x40
#define SECURITY_SUB_CLASS 0xAA
#define APP_CLASS_SFAUTHORIZATION 0
#define APP_CLASS_SECURITY_AGENT 1
#define APP_CLASS_AUTHORIZATION 2
#define APP_CLASS_SECURITY_SERVER 3
#define APP_CLASS_ADHOC 4
#define FUNCTION_START DBG_FUNC_START
#define FUNCTION_END DBG_FUNC_END
#define FUNCTION_TIMEPOINT DBG_FUNC_NONE
#define CODE_CLASS_SFAUTHORIZATION_BUTTON_PRESSED 0
#define CODE_CLASS_SFAUTHORIZATION_AUTHORIZATION 1
#define CODE_CLASS_SECURITY_AGENT_START 0
#define CODE_CLASS_SECURITY_AGENT_STARTED_BY_SECURITY_SERVER 1
#define CODE_CLASS_SECURITY_AGENT_BEFORE_MECHANISM_INVOKE 2
#define CODE_CLASS_SECURITY_AGENT_CONFIRM_ACCESS 3
#define CODE_CLASS_AUTHORIZATION_CREATE 0
#define CODE_CLASS_AUTHORIZATION_COPY_RIGHTS 1
#define CODE_CLASS_AUTHORIZATION_COPY_INFO 2
#define CODE_CLASS_SECURITY_SERVER_INITIALIZE 0
#define CODE_CLASS_ADHOC_FINDGENERICPASSWORD_BEGIN 0
#define CODE_CLASS_ADHOC_UCSP_CLIENT_BEGIN 1
#define CODE_CLASS_ADHOC_UCSP_SERVER_DECRYPT_BEGIN 2
#define CODE_CLASS_ADHOC_UCSP_QUERYKEYCHAINACCESS_BEGIN 3
#define TRACECODE(_debugclass, _subclass, _appclass, _codeclass, _functionqualifier) \
((_debugclass << 24) | (_subclass << 16) | (_appclass << 12) | (_codeclass << 2) | (_functionqualifier))
enum {
kSecTraceSFAuthorizationButtonPressedStart =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SFAUTHORIZATION, CODE_CLASS_SFAUTHORIZATION_BUTTON_PRESSED, FUNCTION_START),
kSecTraceSFAuthorizationAuthorizationStart =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SFAUTHORIZATION, CODE_CLASS_SFAUTHORIZATION_AUTHORIZATION, FUNCTION_START),
kSecTraceSFAuthorizationAuthorizationEnd =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SFAUTHORIZATION, CODE_CLASS_SFAUTHORIZATION_AUTHORIZATION, FUNCTION_END),
kSecTraceSFAuthorizationButtonPressedEnd =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SFAUTHORIZATION, CODE_CLASS_SFAUTHORIZATION_BUTTON_PRESSED, FUNCTION_END),
kSecTraceSecurityAgentStart =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SECURITY_AGENT, CODE_CLASS_SECURITY_AGENT_START, FUNCTION_TIMEPOINT),
kSecTraceSecurityAgentStartedBySecurityServer =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SECURITY_AGENT, CODE_CLASS_SECURITY_AGENT_STARTED_BY_SECURITY_SERVER,
FUNCTION_TIMEPOINT),
kSecTraceSecurityAgentBeforeMechanismInvoke =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SECURITY_AGENT, CODE_CLASS_SECURITY_AGENT_BEFORE_MECHANISM_INVOKE,
FUNCTION_TIMEPOINT),
kSecTraceSecurityAgentConfimAccess =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SECURITY_AGENT, CODE_CLASS_SECURITY_AGENT_CONFIRM_ACCESS, FUNCTION_TIMEPOINT),
kSecTraceAuthorizationCreateStart =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_AUTHORIZATION, CODE_CLASS_AUTHORIZATION_CREATE, FUNCTION_START),
kSecTraceAuthorizationCreateEnd =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_AUTHORIZATION, CODE_CLASS_AUTHORIZATION_CREATE, FUNCTION_END),
kSecTraceAuthorizationCopyRightsStart =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_AUTHORIZATION, CODE_CLASS_AUTHORIZATION_COPY_RIGHTS, FUNCTION_START),
kSecTraceAuthorizationCopyRightsEnd =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_AUTHORIZATION, CODE_CLASS_AUTHORIZATION_COPY_RIGHTS, FUNCTION_END),
kSecTraceAuthorizationCopyInfoStart =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_AUTHORIZATION, CODE_CLASS_AUTHORIZATION_COPY_INFO, FUNCTION_START),
kSecTraceAuthorizationCopyInfoEnd =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_AUTHORIZATION, CODE_CLASS_AUTHORIZATION_COPY_INFO, FUNCTION_END),
kSecTraceSecurityServerStart =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SECURITY_SERVER, CODE_CLASS_SECURITY_SERVER_INITIALIZE, FUNCTION_START),
kSecTraceSecurityServerInitialized =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SECURITY_SERVER, CODE_CLASS_SECURITY_SERVER_INITIALIZE, FUNCTION_END),
kSecTraceSecurityFrameworkSecKeychainFindGenericPasswordBegin =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_ADHOC, CODE_CLASS_ADHOC_FINDGENERICPASSWORD_BEGIN, FUNCTION_TIMEPOINT),
kSecTraceUCSPClientDecryptBegin =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_ADHOC, CODE_CLASS_ADHOC_UCSP_CLIENT_BEGIN, FUNCTION_TIMEPOINT),
kSecTraceUCSPServerDecryptBegin =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_ADHOC, CODE_CLASS_ADHOC_UCSP_SERVER_DECRYPT_BEGIN, FUNCTION_TIMEPOINT),
kSecTraceSecurityServerQueryKeychainAccess =
TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_ADHOC, CODE_CLASS_ADHOC_UCSP_QUERYKEYCHAINACCESS_BEGIN, FUNCTION_TIMEPOINT)
};
#endif