Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

235 lines
4.1 KiB

/*++
Copyright (c) 1987-1991 Microsoft Corporation
Module Name:
replutil.h
Abstract:
Low level functions for SSI Replication apis
Author:
Ported from Lan Man 2.0
Environment:
User mode only.
Contains NT-specific code.
Requires ANSI C extensions: slash-slash comments, long external names.
Revision History:
22-Jul-1991 (cliffv)
Ported to NT. Converted to NT style.
--*/
//
// Description of the FullSync key in the registry. The FullSync key stores sync
// data in the registry across reboots.
//
#define NL_FULL_SYNC_KEY "SYSTEM\\CurrentControlSet\\Services\\Netlogon\\FullSync"
#define FULL_SYNC_KEY_VERSION 1
typedef struct _FULL_SYNC_KEY {
ULONG Version;
SYNC_STATE SyncState;
ULONG ContinuationRid;
NTSTATUS CumulativeStatus;
LARGE_INTEGER PdcSerialNumber;
LARGE_INTEGER PdcDomainCreationTime;
} FULL_SYNC_KEY, *PFULL_SYNC_KEY;
//
// replutil.c
//
DWORD
NlCopyUnicodeString (
IN PUNICODE_STRING InString,
OUT PUNICODE_STRING OutString
);
DWORD
NlCopyData(
IN LPBYTE *InData,
OUT LPBYTE *OutData,
DWORD DataLength
);
VOID
NlFreeDBDelta(
IN PNETLOGON_DELTA_ENUM Delta
);
VOID
NlFreeDBDeltaArray(
IN PNETLOGON_DELTA_ENUM DeltaArray,
IN DWORD ArraySize
);
NTSTATUS
NlPackSamUser (
IN ULONG RelativeId,
IN OUT PNETLOGON_DELTA_ENUM Delta,
IN PDB_INFO DBInfo,
OUT LPDWORD BufferSize,
IN PSESSION_INFO SessionInfo
);
NTSTATUS
NlPackSamGroup (
IN ULONG RelativeId,
IN OUT PNETLOGON_DELTA_ENUM Delta,
IN PDB_INFO DBInfo,
LPDWORD BufferSize
);
NTSTATUS
NlPackSamGroupMember (
IN ULONG RelativeId,
IN OUT PNETLOGON_DELTA_ENUM Delta,
IN PDB_INFO DBInfo,
LPDWORD BufferSize
);
NTSTATUS
NlPackSamAlias (
IN ULONG RelativeId,
IN OUT PNETLOGON_DELTA_ENUM Delta,
IN PDB_INFO DBInfo,
LPDWORD BufferSize
);
NTSTATUS
NlPackSamAliasMember (
IN ULONG RelativeId,
IN OUT PNETLOGON_DELTA_ENUM Delta,
IN PDB_INFO DBInfo,
LPDWORD BufferSize
);
NTSTATUS
NlPackSamDomain (
IN OUT PNETLOGON_DELTA_ENUM Delta,
IN PDB_INFO DBInfo,
IN LPDWORD BufferSize
);
NTSTATUS
NlUnpackSam(
IN PNETLOGON_DELTA_ENUM Delta,
IN PDB_INFO DBInfo,
OUT PULONG ConflictingRID,
PSESSION_INFO SessionInfo
);
NTSTATUS
NlEncryptSensitiveData(
IN OUT PCRYPT_BUFFER Data,
IN PSESSION_INFO SessionInfo
);
NTSTATUS
NlDecryptSensitiveData(
IN PCRYPT_BUFFER Data,
OUT PCRYPT_BUFFER DecryptedData,
IN PSESSION_INFO SessionInfo
);
//
// repluas.c
//
NTSTATUS
NlPackUasHeader(
IN BYTE Opcode,
IN DWORD InitialSize,
OUT PUSHORT *RecordSize,
IN OUT PBUFFER_DESCRIPTOR BufferDescriptor
);
NTSTATUS
NlPackUasUser (
IN ULONG RelativeId,
IN OUT PBUFFER_DESCRIPTOR BufferDescriptor,
IN PDB_INFO DBInfo,
IN PNETLOGON_SESSION_KEY SessionKey,
IN LONG RotateCount
);
NTSTATUS
NlPackUasGroup (
IN ULONG RelativeId,
IN OUT PBUFFER_DESCRIPTOR BufferDescriptor,
IN PDB_INFO DBInfo,
IN OUT PDWORD UasBuiltinGroups
);
NTSTATUS
NlPackUasBuiltinGroup(
IN DWORD Index,
IN OUT PBUFFER_DESCRIPTOR BufferDescriptor,
IN PDWORD UasBuiltinGroup
);
NTSTATUS
NlPackUasGroupMember (
IN ULONG RelativeId,
IN OUT PBUFFER_DESCRIPTOR BufferDescriptor,
IN PDB_INFO DBInfo
);
NTSTATUS
NlPackUasUserGroupMember (
IN ULONG RelativeId,
IN OUT PBUFFER_DESCRIPTOR BufferDescriptor,
IN PDB_INFO DBInfo
);
NTSTATUS
NlPackUasDomain (
IN OUT PBUFFER_DESCRIPTOR BufferDescriptor,
IN PDB_INFO DBInfo
);
NTSTATUS
NlPackUasDelete (
IN NETLOGON_DELTA_TYPE DeltaType,
IN ULONG RelativeId,
IN LPWSTR AccountName,
IN OUT PBUFFER_DESCRIPTOR BufferDescriptor,
IN PDB_INFO DBInfo
);
NTSTATUS
NlDeleteSamUser(
SAMPR_HANDLE DomainHandle,
ULONG Rid
);
NTSTATUS
NlDeleteSamGroup(
SAMPR_HANDLE DomainHandle,
ULONG Rid
);
NTSTATUS
NlDeleteSamAlias(
SAMPR_HANDLE DomainHandle,
ULONG Rid
);
//
// lsrvrepl.c
//
VOID
NlSetFullSyncKey(
ULONG DBIndex,
PFULL_SYNC_KEY FullSyncKey
);