mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
2.2 KiB
122 lines
2.2 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1992.
|
|
//
|
|
// File: secmisc.h
|
|
//
|
|
// Contents: Helper functions and macros for security packages
|
|
//
|
|
// Classes:
|
|
//
|
|
// Functions:
|
|
//
|
|
// History: 10-Dec-91 Richardw Created
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#ifndef __SECMISC_H__
|
|
#define __SECMISC_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Common TimeStamp Manipulation Functions
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// Functions to get/set current local time, or time in UTC:
|
|
|
|
void GetCurrentTimeStamp(PLARGE_INTEGER);
|
|
|
|
// Some convenient "functions"
|
|
|
|
|
|
|
|
|
|
//
|
|
// BOOL
|
|
// TSIsZero(PLARGE_INTEGER pTS)
|
|
//
|
|
#define TSIsZero(pTS) ((pTS)->QuadPart == 0)
|
|
|
|
|
|
#define SetMaxTimeStamp(ts) \
|
|
(ts).HighPart = 0x7FFFFFFF; \
|
|
(ts).LowPart = 0xFFFFFFFF;
|
|
|
|
#define SetZeroTimeStamp(ts) \
|
|
(ts).QuadPart = 0;
|
|
|
|
void AddSecondsToTimeStamp(PLARGE_INTEGER, ULONG);
|
|
BOOLEAN TSIsNearlyLessThan(PLARGE_INTEGER, PLARGE_INTEGER, PLARGE_INTEGER, LONG);
|
|
ULONG TimeStampDiffInSeconds( PLARGE_INTEGER t1, PLARGE_INTEGER t2);
|
|
|
|
#define TS_NO_TEND 0
|
|
#define TS_TEND_TO_FALSE 1
|
|
#define TS_TEND_TO_TRUE 2
|
|
|
|
|
|
|
|
// RPC transport constants and routines
|
|
|
|
#define TRANS_NB 0
|
|
#define TRANS_XNS 1
|
|
#define TRANS_TCPIP 2
|
|
#define TRANS_NP 3
|
|
|
|
NTSTATUS
|
|
GetRpcTransports(PDWORD pTransports);
|
|
|
|
|
|
NTSTATUS
|
|
NewQueryValue( HKEY hKey,
|
|
LPWSTR Key,
|
|
PBYTE * pValue,
|
|
PULONG pcbValue);
|
|
|
|
NTSTATUS
|
|
GetMachineName( LPWSTR * pszMachName);
|
|
|
|
NTSTATUS
|
|
GetLocalDomain( LPWSTR * pszLocalDomain);
|
|
|
|
typedef enum _MACHINE_STATE {
|
|
Standalone,
|
|
Workstation,
|
|
StandardServer,
|
|
BackupDomainController,
|
|
DomainController
|
|
} MACHINE_STATE;
|
|
|
|
MACHINE_STATE
|
|
GetMachineState(VOID);
|
|
|
|
|
|
//
|
|
// Misc. checking routines
|
|
//
|
|
|
|
void
|
|
SRtlCheckSecBufferDesc( PSecBufferDesc pData);
|
|
|
|
void
|
|
SRtlCheckSecBuffer( PSecBuffer pBuffer);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif // __SECMISC_H__
|