#ifndef IOKitUser_IOHIDDebugTrace_h
#define IOKitUser_IOHIDDebugTrace_h
#include <sys/kdebug.h>
#include <sys/syscall.h>
#include "IOHIDLibPrivate.h"
enum {
kIOHIDEnableProfilingBit = 0,
kIOHIDEnableProfilingMask = 1 << kIOHIDEnableProfilingBit,
};
enum {
kHID_TraceBase = 0x2000,
kHID_UserDev_Create = 0x2001, kHID_UserDev_Release = 0x2002, kHID_UserDev_Start = 0x2003, kHID_UserDev_AsyncSupport = 0x2004, kHID_UserDev_Unschedule = 0x2005, kHID_UserDev_ScheduleDispatch = 0x2006, kHID_UserDev_UnscheduleDispatch = 0x2007, kHID_UserDev_QueueCallback = 0x2008, kHID_UserDev_HandleReport = 0x2009, kHID_UserDev_HandleReportCallback = 0x200A, kHID_UserDev_SetReportCallback = 0x200B, kHID_ES_EventCallback = 0x2010, kHID_ES_FiltersClientsDone = 0x2011, kHID_ES_SystemFilterDone = 0x2012, kHID_ES_ClientsEnqueue = 0x2013, kHID_ES_Client_QueueCallback = 0x2020, kHID_ES_Conn_DispatchEvent = 0x2030, kHID_ES_Service_Callback = 0x2040, kHID_ES_Service_Create = 0x2041, kHID_ES_Service_Open = 0x2042, kHID_ES_Service_Filters = 0x2043, kHID_ES_Service_Notification = 0x2044, kHID_ES_Service_Close = 0x2045, kHID_ES_Service_Async = 0x2046, kHID_ES_Service_CopyEvent = 0x2047, kHID_ES_Session_Callback = 0x2050, kHID_ES_Session_Dispatch = 0x2051, kHID_ES_Session_Filters = 0x2052, kHID_ES_Create = 0x2053, kHID_ES_Open = 0x2054 };
#define IOHID_DEBUG_CODE(code) IOKDBG_CODE(DBG_IOHID, code)
#define IOHID_DEBUG_START(code) IOHID_DEBUG_CODE(code) | DBG_FUNC_START
#define IOHID_DEBUG_END(code) IOHID_DEBUG_CODE(code) | DBG_FUNC_END
#define HIDDEBUGTRACE(code, a, b, c, d) _IOHIDDebugTrace (code, DBG_FUNC_NONE, a, b, c, d)
#define HIDPROFTRACE(code, a, b, c, d) _IOHIDDebugTrace (code, DBG_FUNC_NONE, a, b, c, d)
#define HIDFUNCSTART(code, a, b, c, d) _IOHIDDebugTrace (code, DBG_FUNC_START, a, b, c, d)
#define HIDFUNCEND(code, a, b, c, d) _IOHIDDebugTrace (code, DBG_FUNC_END, a, b, c, d)
#define HIDEVENTPERF(event,point,time) _IOHIDDebugEventAddPerfData (event, point, time)
#endif