61 lines
1.6 KiB
C
61 lines
1.6 KiB
C
//+-----------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (c) Microsoft Corporation 1992 - 1997
|
|
//
|
|
// File: timesync.h
|
|
//
|
|
// Contents: Prototypes for time-sync functions
|
|
//
|
|
//
|
|
// History: 3-Nov-1997 MikeSw Created
|
|
//
|
|
//------------------------------------------------------------------------
|
|
|
|
#ifndef __TIMESYNC_H__
|
|
#define __TIMESYNC_H__
|
|
|
|
#ifdef EXTERN
|
|
#undef EXTERN
|
|
#endif
|
|
|
|
#ifdef TIMESYNC_ALLOCATE
|
|
#define EXTERN
|
|
#else
|
|
#define EXTERN extern
|
|
#endif
|
|
|
|
typedef struct _KERB_TIME_SKEW_ENTRY {
|
|
TimeStamp RequestTime;
|
|
BOOLEAN Skewed;
|
|
} KERB_TIME_SKEW_ENTRY, *PKERB_TIME_SKEW_ENTRY;
|
|
|
|
typedef struct _KERB_TIME_SKEW_STATE {
|
|
TimeStamp LastSync; // time of last sync
|
|
TimeStamp MinimumSyncLapse; // Minimum allowed time between sync requests
|
|
ULONG SkewThreshold; // number of skews to trigger sync
|
|
ULONG TotalRequests; // Number of entries to track
|
|
ULONG SkewedRequests; // number of time skew events
|
|
ULONG SuccessRequests; // number of success events
|
|
ULONG LastRequest; // index into next skew entry
|
|
LONG ActiveSyncs; // number of threads doing a sync
|
|
PKERB_TIME_SKEW_ENTRY SkewEntries; // array of skew entries
|
|
RTL_CRITICAL_SECTION Lock; // lock for skew state
|
|
} KERB_TIME_SKEW_STATE, *PKERB_TIME_SKEW_STATE;
|
|
|
|
EXTERN KERB_TIME_SKEW_ENTRY KerbSkewEntries[10];
|
|
EXTERN KERB_TIME_SKEW_STATE KerbSkewState;
|
|
|
|
VOID
|
|
KerbUpdateSkewTime(
|
|
IN BOOLEAN Skewed
|
|
);
|
|
|
|
NTSTATUS
|
|
KerbInitializeSkewState(
|
|
VOID
|
|
);
|
|
|
|
#endif // __TIMESYNC_H__
|