windows-nt/Source/XPSP1/NT/ds/security/protocols/kerberos/server/kdctrace.h

143 lines
3.1 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
#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 <nt.h>
#include <ntrtl.h>
#include <nturtl.h>
#include <windows.h>
#include <wtypes.h>
#ifdef __cplusplus
extern "C"
{
#endif // __cplusplus
#include <wmistr.h>
#include <evntrace.h>
#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 */