#ifndef _KDCTRACE_H #define _KDCTRACE_H /*++ Copyright (c) 1998 Microsoft Corporation Module Name: kdctrace.h Abstract: Include file to contain variables required for event tracing of kerberos server Author: 07-May-1998 JeePang Revision History: --*/ // // // #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif // __cplusplus #include #include #ifdef __cplusplus } #endif // __cplusplus EXTERN_C unsigned long KdcEventTraceFlag; EXTERN_C TRACEHANDLE KdcTraceRegistrationHandle; EXTERN_C TRACEHANDLE KdcTraceLoggerHandle; EXTERN_C ULONG KdcInitializeTrace(); // The current limit is 8 MOF fields. // Each UNICODE strings needs two MOF fields. // The ClientRealm is available and should be added to the AS // if the MOF field limit is increased typedef struct _KDC_AS_EVENT_INFO { EVENT_TRACE_HEADER EventTrace; union { ULONG KdcOptions; MOF_FIELD eventInfo[7]; }; } KDC_AS_EVENT_INFO, *PKDC_AS_EVENT_INFO; // SID info is used in audit log, could be added to TGS event // if MOF limited increased. typedef struct _KDC_TGS_EVENT_INFO { EVENT_TRACE_HEADER EventTrace; union { ULONG KdcOptions; MOF_FIELD eventInfo[7]; }; } KDC_TGS_EVENT_INFO, *PKDC_TGS_EVENT_INFO; typedef struct _KDC_CHANGEPASS_INFO { EVENT_TRACE_HEADER EventTrace; MOF_FIELD MofData[7]; } KDC_CHANGEPASS_INFO, *PKDC_CHANGEPASSINFO; #define KDC_TRACE_VERSION 1 // be careful with INSERT_ULONG_INTO_MOF; it evaluates its arguments more than once #define INSERT_ULONG_INTO_MOF( x, MOF, Start ) \ (MOF)[(Start)].DataPtr = (ULONGLONG)&(x); \ (MOF)[(Start)].Length = sizeof(ULONG); // be careful with INSERT_UNICODE_STRING_INTO_MOF; it evaluates its arguments more than once #define INSERT_UNICODE_STRING_INTO_MOF( USTRING, MOF, Start ) \ (MOF)[(Start)].DataPtr = (ULONGLONG)&((USTRING).Length); \ (MOF)[(Start)].Length = sizeof ((USTRING).Length); \ (MOF)[(Start)+1].DataPtr = (ULONGLONG) (USTRING).Buffer; \ (MOF)[(Start)+1].Length = (USTRING).Length; // // This is the control Guid for the group of Guids traced below // DEFINE_GUID ( /* 24db8964-e6bc-11d1-916a-0000f8045b04 */ KdcControlGuid, 0x24db8964, 0xe6bc, 0x11d1, 0x91, 0x6a, 0x00, 0x00, 0xf8, 0x04, 0x5b, 0x04 ); // // This is the Get AS Ticket transaction guid // DEFINE_GUID ( /* 50af5304-e6bc-11d1-916a-0000f8045b04 */ KdcGetASTicketGuid, 0x50af5304, 0xe6bc, 0x11d1, 0x91, 0x6a, 0x00, 0x00, 0xf8, 0x04, 0x5b, 0x04 ); // // This is the Handle TGS Request transaction guid // DEFINE_GUID ( /* c11cf384-e6bd-11d1-916a-0000f8045b04 */ KdcHandleTGSRequestGuid, 0xc11cf384, 0xe6bd, 0x11d1, 0x91, 0x6a, 0x00, 0x00, 0xf8, 0x04, 0x5b, 0x04 ); DEFINE_GUID ( /* a34d7f52-1dd0-434e-88a1-423e2a199946 */ KdcChangePassGuid, 0xa34d7f52, 0x1dd0, 0x434e, 0x88, 0xa1, 0x42, 0x3e, 0x2a, 0x19, 0x99, 0x46 ); #endif /* _KDCTRACE_H */