windows-nt/Source/XPSP1/NT/ds/published/inc/ftnfoctx.w

142 lines
2.2 KiB
OpenEdge ABL
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
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