142 lines
2.2 KiB
C
142 lines
2.2 KiB
C
|
/*++
|
|||
|
|
|||
|
Copyright (c) 1987-2001 Microsoft Corporation
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
ftnfoctx.h
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
Utility routines for manipulating the forest trust context
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
27-Jul-00 (cliffv)
|
|||
|
|
|||
|
Environment:
|
|||
|
|
|||
|
User mode only.
|
|||
|
Contains NT-specific code.
|
|||
|
Requires ANSI C extensions: slash-slash comments, long external names.
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
|
|||
|
#ifndef __FTNFOCTX_H
|
|||
|
#define __FTNFOCTX_H
|
|||
|
|
|||
|
//
|
|||
|
// Context used to collect the individual FTinfo entries
|
|||
|
//
|
|||
|
|
|||
|
typedef struct _NL_FTINFO_CONTEXT {
|
|||
|
|
|||
|
//
|
|||
|
// List of all the FTinfo structures collected so far.
|
|||
|
//
|
|||
|
|
|||
|
LIST_ENTRY FtinfoList;
|
|||
|
|
|||
|
//
|
|||
|
// Size (in bytes) of the entries on FtinfoList.
|
|||
|
//
|
|||
|
|
|||
|
ULONG FtinfoSize;
|
|||
|
|
|||
|
//
|
|||
|
// Number of entries on FtinfoList
|
|||
|
//
|
|||
|
|
|||
|
ULONG FtinfoCount;
|
|||
|
|
|||
|
} NL_FTINFO_CONTEXT, *PNL_FTINFO_CONTEXT;
|
|||
|
|
|||
|
//
|
|||
|
// A single FTinfo entry
|
|||
|
//
|
|||
|
|
|||
|
typedef struct _NL_FTINFO_ENTRY {
|
|||
|
|
|||
|
//
|
|||
|
// Link off of NL_FITINFO_CONTEXT->FtinfoList
|
|||
|
//
|
|||
|
|
|||
|
LIST_ENTRY Next;
|
|||
|
|
|||
|
//
|
|||
|
// Size (in bytes) of just the 'Record' portion of this entry
|
|||
|
//
|
|||
|
|
|||
|
ULONG Size;
|
|||
|
|
|||
|
//
|
|||
|
// Pad the Record to start on an ALIGN_WORST boundary
|
|||
|
//
|
|||
|
|
|||
|
ULONG Pad;
|
|||
|
|
|||
|
//
|
|||
|
// The actual Ftinfo entry
|
|||
|
//
|
|||
|
|
|||
|
LSA_FOREST_TRUST_RECORD Record;
|
|||
|
|
|||
|
} NL_FTINFO_ENTRY, *PNL_FTINFO_ENTRY;
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
VOID
|
|||
|
NetpInitFtinfoContext(
|
|||
|
OUT PNL_FTINFO_CONTEXT FtinfoContext
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
PLSA_FOREST_TRUST_INFORMATION
|
|||
|
NetpCopyFtinfoContext(
|
|||
|
IN PNL_FTINFO_CONTEXT FtinfoContext
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
VOID
|
|||
|
NetpCleanFtinfoContext(
|
|||
|
IN PNL_FTINFO_CONTEXT FtinfoContext
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
BOOLEAN
|
|||
|
NetpAllocFtinfoEntry (
|
|||
|
IN PNL_FTINFO_CONTEXT FtinfoContext,
|
|||
|
IN LSA_FOREST_TRUST_RECORD_TYPE ForestTrustType,
|
|||
|
IN PUNICODE_STRING Name,
|
|||
|
IN PSID Sid,
|
|||
|
IN PUNICODE_STRING NetbiosName
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
BOOLEAN
|
|||
|
NetpAddTlnFtinfoEntry (
|
|||
|
IN PNL_FTINFO_CONTEXT FtinfoContext,
|
|||
|
IN PUNICODE_STRING Name
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
NetpMergeFtinfo(
|
|||
|
IN PUNICODE_STRING TrustedDomainName,
|
|||
|
IN PLSA_FOREST_TRUST_INFORMATION InNewForestTrustInfo,
|
|||
|
IN PLSA_FOREST_TRUST_INFORMATION InOldForestTrustInfo OPTIONAL,
|
|||
|
OUT PLSA_FOREST_TRUST_INFORMATION *MergedForestTrustInfo
|
|||
|
);
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
#endif
|