Generated from Manticore v1.1.5 • 201 packages. View on pkg.go.dev

structures

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/12345778-1234-abcd-ef00-0123456789ab/0.0/structures"

Index

type LSAPR\_ACCOUNT\_ENUM\_BUFFER

LSAPR_ACCOUNT_ENUM_BUFFER is the result buffer of an account enumeration ([MS-LSAD] 2.2.5.4). Information is a unique pointer to a conformant array of LSAPR_ACCOUNT_INFORMATION sized by EntriesRead.

type LSAPR_ACCOUNT_ENUM_BUFFER struct {
    EntriesRead ndr.DWORD
    Information []LSAPR_ACCOUNT_INFORMATION `ndr:"unique,size_is=EntriesRead"`
}

type LSAPR\_ACCOUNT\_INFORMATION

LSAPR_ACCOUNT_INFORMATION identifies an account by SID ([MS-LSAD] 2.2.5.3). Sid is a unique pointer to an RPC_SID.

type LSAPR_ACCOUNT_INFORMATION struct {
    Sid *dtyp.RPC_SID `ndr:"unique"`
}

type LSAPR\_AUTH\_INFORMATION

LSAPR_AUTH_INFORMATION carries a single trust authentication entry ([MS-LSAD] 2.2.7.17). AuthInfo is a unique pointer to a conformant byte array sized by AuthInfoLength.

type LSAPR_AUTH_INFORMATION struct {
    LastUpdateTime dtyp.LARGE_INTEGER
    AuthType       ndr.DWORD
    AuthInfoLength ndr.DWORD
    AuthInfo       []byte `ndr:"unique,size_is=AuthInfoLength"`
}

type LSAPR\_CR\_CIPHER\_VALUE

LSAPR_CR_CIPHER_VALUE carries an encrypted (or cleartext) secret value ([MS-LSAD] 2.2.6.1). Buffer is a unique pointer to a conformant-varying byte array whose maximum_count is MaximumLength and actual_count is Length.

type LSAPR_CR_CIPHER_VALUE struct {
    Length        ndr.DWORD
    MaximumLength ndr.DWORD
    Buffer        []byte `ndr:"unique,varying,size_is=MaximumLength,length_is=Length"`
}

type LSAPR\_HANDLE

LSAPR_HANDLE is an RPC context handle (LSAPR_HANDLE): a 4-byte attributes field followed by a 16-byte GUID, 20 bytes total ([MS-RPCE] 2.3.2.2, [MS-LSAD] 2.2.2.1).

type LSAPR_HANDLE [20]byte

func (LSAPR_HANDLE) IsZero

func (h LSAPR_HANDLE) IsZero() bool

IsZero reports whether the handle is all zeros (for example, after a successful LsarClose).

type LSAPR\_LUID\_AND\_ATTRIBUTES

LSAPR_LUID_AND_ATTRIBUTES is a privilege LUID together with its attribute flags ([MS-LSAD] 2.2.5.1).

type LSAPR_LUID_AND_ATTRIBUTES struct {
    Luid       dtyp.LUID
    Attributes ndr.DWORD
}

type LSAPR\_OBJECT\_ATTRIBUTES

LSAPR_OBJECT_ATTRIBUTES models LSAPR_OBJECT_ATTRIBUTES ([MS-LSAD] 2.2.2.3). The four pointer members are unique pointers that the server ignores (RootDirectory must be NULL); they are modeled as nil typed pointers, not as scalar fields, so the codec emits a real referent id whose width tracks the transfer syntax — 4 octets under NDR20, 8 octets 8-aligned under NDR64 ([MS-RPCE] section 2.2.5). A nil unique pointer marshals to a zero referent identically in NDR20 to the previous DWORD zero, so NDR20 output is unchanged; under NDR64 the previous DWORD model produced a 4-octet field where the server expects an 8-octet referent, faulting nca_s_fault_ndr.

type LSAPR_OBJECT_ATTRIBUTES struct {
    Length                   ndr.DWORD
    RootDirectory            *uint32 `ndr:"unique"` // always NULL
    ObjectName               *uint32 `ndr:"unique"` // always NULL
    Attributes               ndr.DWORD
    SecurityDescriptor       *uint32 `ndr:"unique"` // always NULL
    SecurityQualityOfService *uint32 `ndr:"unique"` // always NULL
}

type LSAPR\_POLICY\_ACCOUNT\_DOM\_INFO

LSAPR_POLICY_ACCOUNT_DOM_INFO contains information about the account domain ([MS-LSAD] 2.2.4.6). DomainSid is a unique pointer to an RPC_SID.

type LSAPR_POLICY_ACCOUNT_DOM_INFO struct {
    DomainName dtyp.RPC_UNICODE_STRING
    DomainSid  *dtyp.RPC_SID `ndr:"unique"`
}

type LSAPR\_POLICY\_AUDIT\_EVENTS\_INFO

LSAPR_POLICY_AUDIT_EVENTS_INFO contains auditing options ([MS-LSAD] 2.2.4.4). EventAuditingOptions is a unique pointer to a conformant array of unsigned long sized by MaximumAuditEventCount.

type LSAPR_POLICY_AUDIT_EVENTS_INFO struct {
    AuditingMode           uint8
    EventAuditingOptions   []ndr.DWORD `ndr:"unique,size_is=MaximumAuditEventCount"`
    MaximumAuditEventCount ndr.DWORD
}

type LSAPR\_POLICY\_DNS\_DOMAIN\_INFO

LSAPR_POLICY_DNS_DOMAIN_INFO contains DNS information about the primary domain ([MS-LSAD] 2.2.4.16). Sid is a unique pointer to an RPC_SID.

type LSAPR_POLICY_DNS_DOMAIN_INFO struct {
    Name          dtyp.RPC_UNICODE_STRING
    DnsDomainName dtyp.RPC_UNICODE_STRING
    DnsForestName dtyp.RPC_UNICODE_STRING
    DomainGuid    dtyp.GUID
    Sid           *dtyp.RPC_SID `ndr:"unique"`
}

type LSAPR\_POLICY\_DOMAIN\_EFS\_INFO

LSAPR_POLICY_DOMAIN_EFS_INFO communicates a counted binary EFS policy blob ([MS-LSAD] 2.2.4.19). EfsBlob is a unique pointer to a conformant byte array sized by InfoLength.

type LSAPR_POLICY_DOMAIN_EFS_INFO struct {
    InfoLength ndr.DWORD
    EfsBlob    []byte `ndr:"unique,size_is=InfoLength"`
}

type LSAPR\_POLICY\_DOMAIN\_INFORMATION

LSAPR_POLICY_DOMAIN_INFORMATION is the discriminated union of policy domain information classes ([MS-LSAD] 2.2.4.3). The discriminant Class is a POLICY_DOMAIN_INFORMATION_CLASS; the wire form is the discriminant followed by the single selected arm ([C706] section 14.3.8). Case values follow the enum: QoS=1, Efs=2, KerbTicket=3.

type LSAPR_POLICY_DOMAIN_INFORMATION struct {
    Class                            POLICY_DOMAIN_INFORMATION_CLASS       `ndr:"switch,enum"`
    PolicyDomainQualityOfServiceInfo POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO `ndr:"case=1"`
    PolicyDomainEfsInfo              LSAPR_POLICY_DOMAIN_EFS_INFO          `ndr:"case=2"`
    PolicyDomainKerbTicketInfo       POLICY_DOMAIN_KERBEROS_TICKET_INFO    `ndr:"case=3"`
}

type LSAPR\_POLICY\_INFORMATION

LSAPR_POLICY_INFORMATION is the discriminated union of policy information classes ([MS-LSAD] 2.2.4.2). The discriminant Class is a POLICY_INFORMATION_CLASS; the wire form is the discriminant followed by the single selected arm ([C706] section 14.3.8).

Each arm is a value field carrying the structure for that class. The numeric case values follow the POLICY_INFORMATION_CLASS enum order in the IDL. PolicyDnsDomainInfo (12) and PolicyDnsDomainInfoInt (13) share the LSAPR_POLICY_DNS_DOMAIN_INFO type but are distinct discriminant values, as are PolicyAccountDomainInfo (5) and PolicyLocalAccountDomainInfo (14), which share LSAPR_POLICY_ACCOUNT_DOM_INFO.

type LSAPR_POLICY_INFORMATION struct {
    Class                        POLICY_INFORMATION_CLASS       `ndr:"switch,enum"`
    PolicyAuditLogInfo           POLICY_AUDIT_LOG_INFO          `ndr:"case=1"`
    PolicyAuditEventsInfo        LSAPR_POLICY_AUDIT_EVENTS_INFO `ndr:"case=2"`
    PolicyPrimaryDomainInfo      LSAPR_POLICY_PRIMARY_DOM_INFO  `ndr:"case=3"`
    PolicyPdAccountInfo          LSAPR_POLICY_PD_ACCOUNT_INFO   `ndr:"case=4"`
    PolicyAccountDomainInfo      LSAPR_POLICY_ACCOUNT_DOM_INFO  `ndr:"case=5"`
    PolicyServerRoleInfo         POLICY_LSA_SERVER_ROLE_INFO    `ndr:"case=6"`
    PolicyReplicaSourceInfo      LSAPR_POLICY_REPLICA_SRCE_INFO `ndr:"case=7"`
    PolicyModificationInfo       POLICY_MODIFICATION_INFO       `ndr:"case=9"`
    PolicyAuditFullSetInfo       POLICY_AUDIT_FULL_SET_INFO     `ndr:"case=10"`
    PolicyAuditFullQueryInfo     POLICY_AUDIT_FULL_QUERY_INFO   `ndr:"case=11"`
    PolicyDnsDomainInfo          LSAPR_POLICY_DNS_DOMAIN_INFO   `ndr:"case=12"`
    PolicyDnsDomainInfoInt       LSAPR_POLICY_DNS_DOMAIN_INFO   `ndr:"case=13"`
    PolicyLocalAccountDomainInfo LSAPR_POLICY_ACCOUNT_DOM_INFO  `ndr:"case=14"`
    PolicyMachineAccountInfo     LSAPR_POLICY_MACHINE_ACCT_INFO `ndr:"case=15"`
}

type LSAPR\_POLICY\_MACHINE\_ACCT\_INFO

LSAPR_POLICY_MACHINE_ACCT_INFO contains the machine account information of the server ([MS-LSAD] 2.2.4.17). Sid is a unique pointer to an RPC_SID.

type LSAPR_POLICY_MACHINE_ACCT_INFO struct {
    Rid ndr.DWORD
    Sid *dtyp.RPC_SID `ndr:"unique"`
}

type LSAPR\_POLICY\_PD\_ACCOUNT\_INFO

LSAPR_POLICY_PD_ACCOUNT_INFO is an unused policy information class ([MS-LSAD] 2.2.4.7).

type LSAPR_POLICY_PD_ACCOUNT_INFO struct {
    Name dtyp.RPC_UNICODE_STRING
}

type LSAPR\_POLICY\_PRIMARY\_DOM\_INFO

LSAPR_POLICY_PRIMARY_DOM_INFO contains information about the primary domain ([MS-LSAD] 2.2.4.5). Sid is a unique pointer to an RPC_SID.

type LSAPR_POLICY_PRIMARY_DOM_INFO struct {
    Name dtyp.RPC_UNICODE_STRING
    Sid  *dtyp.RPC_SID `ndr:"unique"`
}

type LSAPR\_POLICY\_PRIVILEGE\_DEF

LSAPR_POLICY_PRIVILEGE_DEF defines a privilege by name and its local LUID value ([MS-LSAD] 2.2.8.1).

type LSAPR_POLICY_PRIVILEGE_DEF struct {
    Name       dtyp.RPC_UNICODE_STRING
    LocalValue dtyp.LUID
}

type LSAPR\_POLICY\_REPLICA\_SRCE\_INFO

LSAPR_POLICY_REPLICA_SRCE_INFO contains replica source information ([MS-LSAD] 2.2.4.9).

type LSAPR_POLICY_REPLICA_SRCE_INFO struct {
    ReplicaSource      dtyp.RPC_UNICODE_STRING
    ReplicaAccountName dtyp.RPC_UNICODE_STRING
}

type LSAPR\_PRIVILEGE\_ENUM\_BUFFER

LSAPR_PRIVILEGE_ENUM_BUFFER is the result buffer of a privilege enumeration ([MS-LSAD] 2.2.8.2). Privileges is a unique pointer to a conformant array of LSAPR_POLICY_PRIVILEGE_DEF sized by Entries.

type LSAPR_PRIVILEGE_ENUM_BUFFER struct {
    Entries    ndr.DWORD
    Privileges []LSAPR_POLICY_PRIVILEGE_DEF `ndr:"unique,size_is=Entries"`
}

type LSAPR\_PRIVILEGE\_SET

LSAPR_PRIVILEGE_SET is a set of privileges held by an account ([MS-LSAD] 2.2.5.2). Privilege is an inline conformant array of LSAPR_LUID_AND_ATTRIBUTES (the IDL declares it as an embedded array, not a pointer) sized by PrivilegeCount, so NDR hoists its maximum_count to the front of the structure.

type LSAPR_PRIVILEGE_SET struct {
    PrivilegeCount ndr.DWORD
    Control        ndr.DWORD
    Privilege      []LSAPR_LUID_AND_ATTRIBUTES `ndr:"conformant,size_is=PrivilegeCount"`
}

type LSAPR\_REFERENCED\_DOMAIN\_LIST

LSAPR_REFERENCED_DOMAIN_LIST contains the domains referenced in a translation operation ([MS-LSAT] 2.2.12). Domains is a unique pointer to a conformant array of LSAPR_TRUST_INFORMATION sized by Entries.

type LSAPR_REFERENCED_DOMAIN_LIST struct {
    Entries    ndr.DWORD
    Domains    []LSAPR_TRUST_INFORMATION `ndr:"unique,size_is=Entries"`
    MaxEntries ndr.DWORD
}

type LSAPR\_SID\_ENUM\_BUFFER

LSAPR_SID_ENUM_BUFFER is the set of SIDs to translate in a LsarLookupSids request ([MS-LSAT] 2.2.18). SidInfo is a unique pointer to a conformant array of LSAPR_SID_INFORMATION sized by Entries.

type LSAPR_SID_ENUM_BUFFER struct {
    Entries ndr.DWORD
    SidInfo []LSAPR_SID_INFORMATION `ndr:"unique,size_is=Entries"`
}

type LSAPR\_SID\_INFORMATION

LSAPR_SID_INFORMATION wraps a single SID for a lookup request ([MS-LSAT] 2.2.17). Sid is a unique pointer to an RPC_SID.

type LSAPR_SID_INFORMATION struct {
    Sid *dtyp.RPC_SID `ndr:"unique"`
}

type LSAPR\_SR\_SECURITY\_DESCRIPTOR

LSAPR_SR_SECURITY_DESCRIPTOR is a self-relative security descriptor carried as an opaque byte blob ([MS-LSAD] 2.2.3.1). SecurityDescriptor is a unique pointer to a conformant byte array sized by Length.

type LSAPR_SR_SECURITY_DESCRIPTOR struct {
    Length             ndr.DWORD
    SecurityDescriptor []byte `ndr:"unique,size_is=Length"`
}

type LSAPR\_TRANSLATED\_NAME

LSAPR_TRANSLATED_NAME is the translation of a SID into an account name and domain index ([MS-LSAT] 2.2.20). Use is an NDR enum (16-bit on the wire); DomainIndex is a signed long.

type LSAPR_TRANSLATED_NAME struct {
    Use         SID_NAME_USE `ndr:"enum"`
    Name        dtyp.RPC_UNICODE_STRING
    DomainIndex int32
}

type LSAPR\_TRANSLATED\_NAMES

LSAPR_TRANSLATED_NAMES contains the translated names from a LsarLookupSids request ([MS-LSAT] 2.2.21). Names is a unique pointer to a conformant array of LSAPR_TRANSLATED_NAME sized by Entries.

type LSAPR_TRANSLATED_NAMES struct {
    Entries ndr.DWORD
    Names   []LSAPR_TRANSLATED_NAME `ndr:"unique,size_is=Entries"`
}

type LSAPR\_TRANSLATED\_NAMES\_EX

LSAPR_TRANSLATED_NAMES_EX contains the translated names from a LsarLookupSids2/3 request ([MS-LSAT] 2.2.23). Names is a unique pointer to a conformant array of LSAPR_TRANSLATED_NAME_EX sized by Entries.

type LSAPR_TRANSLATED_NAMES_EX struct {
    Entries ndr.DWORD
    Names   []LSAPR_TRANSLATED_NAME_EX `ndr:"unique,size_is=Entries"`
}

type LSAPR\_TRANSLATED\_NAME\_EX

LSAPR_TRANSLATED_NAME_EX extends LSAPR_TRANSLATED_NAME with a Flags field ([MS-LSAT] 2.2.22). Use is an NDR enum (16-bit on the wire); DomainIndex is a signed long.

type LSAPR_TRANSLATED_NAME_EX struct {
    Use         SID_NAME_USE `ndr:"enum"`
    Name        dtyp.RPC_UNICODE_STRING
    DomainIndex int32
    Flags       ndr.DWORD
}

type LSAPR\_TRANSLATED\_SIDS

LSAPR_TRANSLATED_SIDS contains the translated SIDs from a LsarLookupNames request ([MS-LSAT] 2.2.19). Sids is a unique pointer to a conformant array of LSA_TRANSLATED_SID sized by Entries.

type LSAPR_TRANSLATED_SIDS struct {
    Entries ndr.DWORD
    Sids    []LSA_TRANSLATED_SID `ndr:"unique,size_is=Entries"`
}

type LSAPR\_TRANSLATED\_SIDS\_EX

LSAPR_TRANSLATED_SIDS_EX contains the translated SIDs from a LsarLookupNames2 request ([MS-LSAT] 2.2.25). Sids is a unique pointer to a conformant array of LSAPR_TRANSLATED_SID_EX sized by Entries.

type LSAPR_TRANSLATED_SIDS_EX struct {
    Entries ndr.DWORD
    Sids    []LSAPR_TRANSLATED_SID_EX `ndr:"unique,size_is=Entries"`
}

type LSAPR\_TRANSLATED\_SIDS\_EX2

LSAPR_TRANSLATED_SIDS_EX2 contains the translated SIDs from a LsarLookupNames3/4 request ([MS-LSAT] 2.2.27). Sids is a unique pointer to a conformant array of LSAPR_TRANSLATED_SID_EX2 sized by Entries.

type LSAPR_TRANSLATED_SIDS_EX2 struct {
    Entries ndr.DWORD
    Sids    []LSAPR_TRANSLATED_SID_EX2 `ndr:"unique,size_is=Entries"`
}

type LSAPR\_TRANSLATED\_SID\_EX

LSAPR_TRANSLATED_SID_EX extends LSA_TRANSLATED_SID with a Flags field ([MS-LSAT] 2.2.24). Use is an NDR enum (16-bit on the wire); DomainIndex is a signed long.

type LSAPR_TRANSLATED_SID_EX struct {
    Use         SID_NAME_USE `ndr:"enum"`
    RelativeId  ndr.DWORD
    DomainIndex int32
    Flags       ndr.DWORD
}

type LSAPR\_TRANSLATED\_SID\_EX2

LSAPR_TRANSLATED_SID_EX2 carries the full SID (not just a relative id) of a translation result ([MS-LSAT] 2.2.26). Use is an NDR enum (16-bit on the wire); Sid is a unique pointer to an RPC_SID; DomainIndex is a signed long.

type LSAPR_TRANSLATED_SID_EX2 struct {
    Use         SID_NAME_USE  `ndr:"enum"`
    Sid         *dtyp.RPC_SID `ndr:"unique"`
    DomainIndex int32
    Flags       ndr.DWORD
}

type LSAPR\_TRUSTED\_CONTROLLERS\_INFO

LSAPR_TRUSTED_CONTROLLERS_INFO is an obsolete trusted-domain information class ([MS-LSAD] 2.2.7.5). Names is a unique pointer to a conformant array of RPC_UNICODE_STRING sized by Entries.

type LSAPR_TRUSTED_CONTROLLERS_INFO struct {
    Entries ndr.DWORD
    Names   []dtyp.RPC_UNICODE_STRING `ndr:"unique,size_is=Entries"`
}

type LSAPR\_TRUSTED\_DOMAIN\_AUTH\_BLOB

LSAPR_TRUSTED_DOMAIN_AUTH_BLOB is an encrypted trust authentication blob ([MS-LSAD] 2.2.7.14). AuthBlob is a unique pointer to a conformant byte array sized by AuthSize.

type LSAPR_TRUSTED_DOMAIN_AUTH_BLOB struct {
    AuthSize ndr.DWORD
    AuthBlob []byte `ndr:"unique,size_is=AuthSize"`
}

type LSAPR\_TRUSTED\_DOMAIN\_AUTH\_INFORMATION

LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION holds the inbound and outbound authentication information for a trust ([MS-LSAD] 2.2.7.11). Each authentication-information member is a single unique pointer to an LSAPR_AUTH_INFORMATION.

type LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION struct {
    IncomingAuthInfos                         ndr.DWORD
    IncomingAuthenticationInformation         *LSAPR_AUTH_INFORMATION `ndr:"unique"`
    IncomingPreviousAuthenticationInformation *LSAPR_AUTH_INFORMATION `ndr:"unique"`
    OutgoingAuthInfos                         ndr.DWORD
    OutgoingAuthenticationInformation         *LSAPR_AUTH_INFORMATION `ndr:"unique"`
    OutgoingPreviousAuthenticationInformation *LSAPR_AUTH_INFORMATION `ndr:"unique"`
}

type LSAPR\_TRUSTED\_DOMAIN\_AUTH\_INFORMATION\_INTERNAL

LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL wraps an encrypted authentication blob for a trust ([MS-LSAD] 2.2.7.15). AuthBlob is embedded inline.

type LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL struct {
    AuthBlob LSAPR_TRUSTED_DOMAIN_AUTH_BLOB
}

type LSAPR\_TRUSTED\_DOMAIN\_FULL\_INFORMATION

LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION communicates identification, POSIX offset, and authentication information for a trusted domain ([MS-LSAD] 2.2.7.10).

type LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION struct {
    Information     LSAPR_TRUSTED_DOMAIN_INFORMATION_EX
    PosixOffset     TRUSTED_POSIX_OFFSET_INFO
    AuthInformation LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION
}

type LSAPR\_TRUSTED\_DOMAIN\_FULL\_INFORMATION2

LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION2 communicates identification, POSIX offset, and authentication information for a trusted domain, including forest-trust data ([MS-LSAD] 2.2.7.12).

type LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION2 struct {
    Information     LSAPR_TRUSTED_DOMAIN_INFORMATION_EX2
    PosixOffset     TRUSTED_POSIX_OFFSET_INFO
    AuthInformation LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION
}

type LSAPR\_TRUSTED\_DOMAIN\_FULL\_INFORMATION\_INTERNAL

LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION_INTERNAL communicates identification, POSIX offset, and internal (blob) authentication information for a trusted domain ([MS-LSAD] 2.2.7.13).

type LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION_INTERNAL struct {
    Information     LSAPR_TRUSTED_DOMAIN_INFORMATION_EX
    PosixOffset     TRUSTED_POSIX_OFFSET_INFO
    AuthInformation LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL
}

type LSAPR\_TRUSTED\_DOMAIN\_INFO

LSAPR_TRUSTED_DOMAIN_INFO is the discriminated union of trusted-domain information classes ([MS-LSAD] 2.2.7.9). The discriminant Class is a TRUSTED_INFORMATION_CLASS; the wire form is the discriminant followed by the single selected arm ([C706] section 14.3.8). Case values follow the TRUSTED_INFORMATION_CLASS enum (1..13).

The TrustedDomainInformationBasic arm (case 5) is a LSAPR_TRUST_INFORMATION, since LSAPR_TRUSTED_DOMAIN_INFORMATION_BASIC is an IDL typedef of that existing type.

type LSAPR_TRUSTED_DOMAIN_INFO struct {
    Class                   TRUSTED_INFORMATION_CLASS                      `ndr:"switch,enum"`
    TrustedDomainNameInfo   LSAPR_TRUSTED_DOMAIN_NAME_INFO                 `ndr:"case=1"`
    TrustedControllersInfo  LSAPR_TRUSTED_CONTROLLERS_INFO                 `ndr:"case=2"`
    TrustedPosixOffsetInfo  TRUSTED_POSIX_OFFSET_INFO                      `ndr:"case=3"`
    TrustedPasswordInfo     LSAPR_TRUSTED_PASSWORD_INFO                    `ndr:"case=4"`
    TrustedDomainInfoBasic  LSAPR_TRUST_INFORMATION                        `ndr:"case=5"`
    TrustedDomainInfoEx     LSAPR_TRUSTED_DOMAIN_INFORMATION_EX            `ndr:"case=6"`
    TrustedAuthInfo         LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION          `ndr:"case=7"`
    TrustedFullInfo         LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION          `ndr:"case=8"`
    TrustedAuthInfoInternal LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL `ndr:"case=9"`
    TrustedFullInfoInternal LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION_INTERNAL `ndr:"case=10"`
    TrustedDomainInfoEx2    LSAPR_TRUSTED_DOMAIN_INFORMATION_EX2           `ndr:"case=11"`
    TrustedFullInfo2        LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION2         `ndr:"case=12"`
    TrustedDomainSETs       TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES      `ndr:"case=13"`
}

type LSAPR\_TRUSTED\_DOMAIN\_INFORMATION\_EX

LSAPR_TRUSTED_DOMAIN_INFORMATION_EX describes a trusted domain ([MS-LSAD] 2.2.7.9). Sid is a unique pointer to an RPC_SID.

type LSAPR_TRUSTED_DOMAIN_INFORMATION_EX struct {
    Name            dtyp.RPC_UNICODE_STRING
    FlatName        dtyp.RPC_UNICODE_STRING
    Sid             *dtyp.RPC_SID `ndr:"unique"`
    TrustDirection  ndr.DWORD
    TrustType       ndr.DWORD
    TrustAttributes ndr.DWORD
}

type LSAPR\_TRUSTED\_DOMAIN\_INFORMATION\_EX2

LSAPR_TRUSTED_DOMAIN_INFORMATION_EX2 extends LSAPR_TRUSTED_DOMAIN_INFORMATION_EX with forest-trust information ([MS-LSAD] 2.2.7.10). Sid is a unique pointer to an RPC_SID; ForestTrustInfo is a unique pointer to a conformant byte array sized by ForestTrustLength.

type LSAPR_TRUSTED_DOMAIN_INFORMATION_EX2 struct {
    Name              dtyp.RPC_UNICODE_STRING
    FlatName          dtyp.RPC_UNICODE_STRING
    Sid               *dtyp.RPC_SID `ndr:"unique"`
    TrustDirection    ndr.DWORD
    TrustType         ndr.DWORD
    TrustAttributes   ndr.DWORD
    ForestTrustLength ndr.DWORD
    ForestTrustInfo   []byte `ndr:"unique,size_is=ForestTrustLength"`
}

type LSAPR\_TRUSTED\_DOMAIN\_NAME\_INFO

LSAPR_TRUSTED_DOMAIN_NAME_INFO contains the name of a trusted domain ([MS-LSAD] 2.2.7.4).

type LSAPR_TRUSTED_DOMAIN_NAME_INFO struct {
    Name dtyp.RPC_UNICODE_STRING
}

type LSAPR\_TRUSTED\_ENUM\_BUFFER

LSAPR_TRUSTED_ENUM_BUFFER is the result buffer of a trusted-domain enumeration ([MS-LSAD] 2.2.7.18). Information is a unique pointer to a conformant array of LSAPR_TRUST_INFORMATION sized by EntriesRead.

type LSAPR_TRUSTED_ENUM_BUFFER struct {
    EntriesRead ndr.DWORD
    Information []LSAPR_TRUST_INFORMATION `ndr:"unique,size_is=EntriesRead"`
}

type LSAPR\_TRUSTED\_ENUM\_BUFFER\_EX

LSAPR_TRUSTED_ENUM_BUFFER_EX is the result buffer of LsarEnumerateTrustedDomainsEx ([MS-LSAD] 2.2.7.24). EnumerationBuffer is a unique pointer to a conformant array of LSAPR_TRUSTED_DOMAIN_INFORMATION_EX sized by EntriesRead.

type LSAPR_TRUSTED_ENUM_BUFFER_EX struct {
    EntriesRead       ndr.DWORD
    EnumerationBuffer []LSAPR_TRUSTED_DOMAIN_INFORMATION_EX `ndr:"unique,size_is=EntriesRead"`
}

type LSAPR\_TRUSTED\_PASSWORD\_INFO

LSAPR_TRUSTED_PASSWORD_INFO communicates the current and previous passwords of a trust object ([MS-LSAD] 2.2.7.7). Each member is a unique pointer to an LSAPR_CR_CIPHER_VALUE.

type LSAPR_TRUSTED_PASSWORD_INFO struct {
    Password    *LSAPR_CR_CIPHER_VALUE `ndr:"unique"`
    OldPassword *LSAPR_CR_CIPHER_VALUE `ndr:"unique"`
}

type LSAPR\_TRUST\_INFORMATION

LSAPR_TRUST_INFORMATION identifies a domain by name and SID ([MS-LSAD] 2.2.7.1). Sid is a unique pointer to an RPC_SID (pointer_default(unique)).

type LSAPR_TRUST_INFORMATION struct {
    Name dtyp.RPC_UNICODE_STRING
    Sid  *dtyp.RPC_SID `ndr:"unique"`
}

type LSAPR\_USER\_RIGHT\_SET

LSAPR_USER_RIGHT_SET is a set of user-right (privilege/system-access) names ([MS-LSAD] 2.2.5.5). UserRights is a unique pointer to a conformant array of RPC_UNICODE_STRING (the IDL element type PRPC_UNICODE_STRING resolves to the struct, transmitted inline) sized by Entries.

type LSAPR_USER_RIGHT_SET struct {
    Entries    ndr.DWORD
    UserRights []dtyp.RPC_UNICODE_STRING `ndr:"unique,size_is=Entries"`
}

type LSAP\_LOOKUP\_LEVEL

LSAP_LOOKUP_LEVEL specifies the scope of a SID/name lookup translation request ([MS-LSAT] 2.2.16). As an NDR enum it is transmitted as a 16-bit unsigned value ([C706] section 14.3.6).

type LSAP_LOOKUP_LEVEL uint16
const (
    LsapLookupWksta                LSAP_LOOKUP_LEVEL = 1
    LsapLookupPDC                  LSAP_LOOKUP_LEVEL = 2
    LsapLookupTDL                  LSAP_LOOKUP_LEVEL = 3
    LsapLookupGC                   LSAP_LOOKUP_LEVEL = 4
    LsapLookupXForestReferral      LSAP_LOOKUP_LEVEL = 5
    LsapLookupXForestResolve       LSAP_LOOKUP_LEVEL = 6
    LsapLookupRODCReferralToFullDC LSAP_LOOKUP_LEVEL = 7
)

type LSA\_FOREST\_TRUST\_BINARY\_DATA

LSA_FOREST_TRUST_BINARY_DATA holds an opaque forest-trust record payload ([MS-LSAD] 2.2.7.22). Buffer is a unique pointer to a conformant byte array sized by Length.

type LSA_FOREST_TRUST_BINARY_DATA struct {
    Length ndr.DWORD
    Buffer []byte `ndr:"unique,size_is=Length"`
}

type LSA\_FOREST\_TRUST\_COLLISION\_INFORMATION

LSA_FOREST_TRUST_COLLISION_INFORMATION carries the set of collisions detected when setting forest-trust information ([MS-LSAD] 2.2.7.27). Entries is a [size_is(RecordCount)] array of unique pointers to LSA_FOREST_TRUST_COLLISION_RECORD.

type LSA_FOREST_TRUST_COLLISION_INFORMATION struct {
    RecordCount ndr.DWORD
    Entries     []*LSA_FOREST_TRUST_COLLISION_RECORD `ndr:"unique,size_is=RecordCount"`
}

type LSA\_FOREST\_TRUST\_COLLISION\_RECORD

LSA_FOREST_TRUST_COLLISION_RECORD describes a single forest-trust collision ([MS-LSAD] 2.2.7.26). Name is an LSA_UNICODE_STRING (the same wire form as RPC_UNICODE_STRING).

type LSA_FOREST_TRUST_COLLISION_RECORD struct {
    Index ndr.DWORD
    Type  LSA_FOREST_TRUST_COLLISION_RECORD_TYPE `ndr:"enum"`
    Flags ndr.DWORD
    Name  dtyp.RPC_UNICODE_STRING
}

type LSA\_FOREST\_TRUST\_COLLISION\_RECORD\_TYPE

LSA_FOREST_TRUST_COLLISION_RECORD_TYPE enumerates the kinds of forest-trust collision record ([MS-LSAD] 2.2.7.25). As an NDR enum it is transmitted as a 16-bit unsigned value ([C706] section 14.3.6).

type LSA_FOREST_TRUST_COLLISION_RECORD_TYPE uint16
const (
    CollisionTdo   LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = 0
    CollisionXref  LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = 1
    CollisionOther LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = 2
)

type LSA\_FOREST\_TRUST\_DATA

LSA_FOREST_TRUST_DATA is the discriminated union embedded as the ForestTrustData member of LSA_FOREST_TRUST_RECORD ([MS-LSAD] 2.2.7.21). The discriminant ForestTrustType is an LSA_FOREST_TRUST_RECORD_TYPE. The IDL maps both ForestTrustTopLevelName (0) and ForestTrustTopLevelNameEx (1) to the same TopLevelName arm; since the NDR walker matches a single case value per field, this is modeled as two distinct value fields of the same LSA_UNICODE_STRING (RPC_UNICODE_STRING) type, one per case value. The [default] arm carries an LSA_FOREST_TRUST_BINARY_DATA.

type LSA_FOREST_TRUST_DATA struct {
    ForestTrustType LSA_FOREST_TRUST_RECORD_TYPE `ndr:"switch,enum"`
    TopLevelName    dtyp.RPC_UNICODE_STRING      `ndr:"case=0"`
    TopLevelNameEx  dtyp.RPC_UNICODE_STRING      `ndr:"case=1"`
    DomainInfo      LSA_FOREST_TRUST_DOMAIN_INFO `ndr:"case=2"`
    Data            LSA_FOREST_TRUST_BINARY_DATA `ndr:"default"`
}

type LSA\_FOREST\_TRUST\_DOMAIN\_INFO

LSA_FOREST_TRUST_DOMAIN_INFO identifies a domain within a forest-trust record ([MS-LSAD] 2.2.7.23). Sid is a unique pointer to an RPC_SID; DnsName and NetbiosName are LSA_UNICODE_STRING (the same wire form as RPC_UNICODE_STRING).

type LSA_FOREST_TRUST_DOMAIN_INFO struct {
    Sid         *dtyp.RPC_SID `ndr:"unique"`
    DnsName     dtyp.RPC_UNICODE_STRING
    NetbiosName dtyp.RPC_UNICODE_STRING
}

type LSA\_FOREST\_TRUST\_INFORMATION

LSA_FOREST_TRUST_INFORMATION carries the forest-trust records for a trusted domain ([MS-LSAD] 2.2.7.24). Entries is a [size_is(RecordCount)] array of unique pointers to LSA_FOREST_TRUST_RECORD.

type LSA_FOREST_TRUST_INFORMATION struct {
    RecordCount ndr.DWORD
    Entries     []*LSA_FOREST_TRUST_RECORD `ndr:"unique,size_is=RecordCount"`
}

type LSA\_FOREST\_TRUST\_RECORD

LSA_FOREST_TRUST_RECORD is a single record of forest-trust information ([MS-LSAD] 2.2.7.21). ForestTrustData is a union switched on ForestTrustType.

type LSA_FOREST_TRUST_RECORD struct {
    Flags           ndr.DWORD
    ForestTrustType LSA_FOREST_TRUST_RECORD_TYPE `ndr:"enum"`
    Time            dtyp.LARGE_INTEGER
    ForestTrustData LSA_FOREST_TRUST_DATA
}

type LSA\_FOREST\_TRUST\_RECORD\_TYPE

LSA_FOREST_TRUST_RECORD_TYPE enumerates the kinds of forest-trust record that select the ForestTrustData arm of LSA_FOREST_TRUST_RECORD ([MS-LSAD] 2.2.7.21). As an NDR enum it is transmitted as a 16-bit unsigned value ([C706] section 14.3.6).

type LSA_FOREST_TRUST_RECORD_TYPE uint16
const (
    ForestTrustTopLevelName   LSA_FOREST_TRUST_RECORD_TYPE = 0
    ForestTrustTopLevelNameEx LSA_FOREST_TRUST_RECORD_TYPE = 1
    ForestTrustDomainInfo     LSA_FOREST_TRUST_RECORD_TYPE = 2
)

type LSA\_TRANSLATED\_SID

LSA_TRANSLATED_SID is the translation of a name into a relative id and domain index ([MS-LSAT] 2.2.18). Use is an NDR enum (16-bit on the wire); DomainIndex is a signed long.

type LSA_TRANSLATED_SID struct {
    Use         SID_NAME_USE `ndr:"enum"`
    RelativeId  ndr.DWORD
    DomainIndex int32
}

type POLICY\_AUDIT\_FULL\_QUERY\_INFO

POLICY_AUDIT_FULL_QUERY_INFO is an obsolete policy information class ([MS-LSAD] 2.2.4.11).

type POLICY_AUDIT_FULL_QUERY_INFO struct {
    ShutDownOnFull uint8
    LogIsFull      uint8
}

type POLICY\_AUDIT\_FULL\_SET\_INFO

POLICY_AUDIT_FULL_SET_INFO is an obsolete policy information class ([MS-LSAD] 2.2.4.12).

type POLICY_AUDIT_FULL_SET_INFO struct {
    ShutDownOnFull uint8
}

type POLICY\_AUDIT\_LOG\_INFO

POLICY_AUDIT_LOG_INFO contains information about the state of the audit log ([MS-LSAD] 2.2.4.3).

type POLICY_AUDIT_LOG_INFO struct {
    AuditLogPercentFull            ndr.DWORD
    MaximumLogSize                 ndr.DWORD
    AuditRetentionPeriod           dtyp.LARGE_INTEGER
    AuditLogFullShutdownInProgress uint8
    TimeToShutdown                 dtyp.LARGE_INTEGER
    NextAuditRecordId              ndr.DWORD
}

type POLICY\_DOMAIN\_INFORMATION\_CLASS

POLICY_DOMAIN_INFORMATION_CLASS enumerates the policy domain information classes that select the arm of LSAPR_POLICY_DOMAIN_INFORMATION ([MS-LSAD] 2.2.4.2). As an NDR enum it is transmitted as a 16-bit unsigned value ([C706] section 14.3.6).

type POLICY_DOMAIN_INFORMATION_CLASS uint16
const (
    PolicyDomainQualityOfServiceInformation POLICY_DOMAIN_INFORMATION_CLASS = 1
    PolicyDomainEfsInformation              POLICY_DOMAIN_INFORMATION_CLASS = 2
    PolicyDomainKerberosTicketInformation   POLICY_DOMAIN_INFORMATION_CLASS = 3
)

type POLICY\_DOMAIN\_KERBEROS\_TICKET\_INFO

POLICY_DOMAIN_KERBEROS_TICKET_INFO communicates policy information about the Kerberos security provider ([MS-LSAD] 2.2.4.20).

type POLICY_DOMAIN_KERBEROS_TICKET_INFO struct {
    AuthenticationOptions ndr.DWORD
    MaxServiceTicketAge   dtyp.LARGE_INTEGER
    MaxTicketAge          dtyp.LARGE_INTEGER
    MaxRenewAge           dtyp.LARGE_INTEGER
    MaxClockSkew          dtyp.LARGE_INTEGER
    Reserved              dtyp.LARGE_INTEGER
}

type POLICY\_DOMAIN\_QUALITY\_OF\_SERVICE\_INFO

POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO is an obsolete policy domain information class ([MS-LSAD] 2.2.4.18).

type POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO struct {
    QualityOfService ndr.DWORD
}

type POLICY\_INFORMATION\_CLASS

POLICY_INFORMATION_CLASS enumerates the policy information classes that select the arm of LSAPR_POLICY_INFORMATION ([MS-LSAD] 2.2.4.1). As an NDR enum it is transmitted as a 16-bit unsigned value ([C706] section 14.3.6).

type POLICY_INFORMATION_CLASS uint16
const (
    PolicyAuditLogInformation           POLICY_INFORMATION_CLASS = 1
    PolicyAuditEventsInformation        POLICY_INFORMATION_CLASS = 2
    PolicyPrimaryDomainInformation      POLICY_INFORMATION_CLASS = 3
    PolicyPdAccountInformation          POLICY_INFORMATION_CLASS = 4
    PolicyAccountDomainInformation      POLICY_INFORMATION_CLASS = 5
    PolicyLsaServerRoleInformation      POLICY_INFORMATION_CLASS = 6
    PolicyReplicaSourceInformation      POLICY_INFORMATION_CLASS = 7
    PolicyInformationNotUsedOnWire      POLICY_INFORMATION_CLASS = 8
    PolicyModificationInformation       POLICY_INFORMATION_CLASS = 9
    PolicyAuditFullSetInformation       POLICY_INFORMATION_CLASS = 10
    PolicyAuditFullQueryInformation     POLICY_INFORMATION_CLASS = 11
    PolicyDnsDomainInformation          POLICY_INFORMATION_CLASS = 12
    PolicyDnsDomainInformationInt       POLICY_INFORMATION_CLASS = 13
    PolicyLocalAccountDomainInformation POLICY_INFORMATION_CLASS = 14
    PolicyMachineAccountInformation     POLICY_INFORMATION_CLASS = 15
    PolicyLastEntry                     POLICY_INFORMATION_CLASS = 16
)

type POLICY\_LSA\_SERVER\_ROLE

POLICY_LSA_SERVER_ROLE enumerates the role of an LSA server ([MS-LSAD] 2.2.4.4). As an NDR enum it is transmitted as a 16-bit unsigned value ([C706] section 14.3.6).

type POLICY_LSA_SERVER_ROLE uint16
const (
    PolicyServerRoleBackup  POLICY_LSA_SERVER_ROLE = 2
    PolicyServerRolePrimary POLICY_LSA_SERVER_ROLE = 3
)

type POLICY\_LSA\_SERVER\_ROLE\_INFO

POLICY_LSA_SERVER_ROLE_INFO contains the role of an LSA server ([MS-LSAD] 2.2.4.8).

type POLICY_LSA_SERVER_ROLE_INFO struct {
    LsaServerRole POLICY_LSA_SERVER_ROLE `ndr:"enum"`
}

type POLICY\_MODIFICATION\_INFO

POLICY_MODIFICATION_INFO is an obsolete policy information class ([MS-LSAD] 2.2.4.10).

type POLICY_MODIFICATION_INFO struct {
    ModifiedId           dtyp.LARGE_INTEGER
    DatabaseCreationTime dtyp.LARGE_INTEGER
}

type SID\_NAME\_USE

SID_NAME_USE enumerates the type of a security principal identified by a SID ([MS-LSAT] 2.2.13). As an NDR enum it is transmitted as a 16-bit unsigned value ([C706] section 14.3.6).

type SID_NAME_USE uint16
const (
    SidTypeUser           SID_NAME_USE = 1
    SidTypeGroup          SID_NAME_USE = 2
    SidTypeDomain         SID_NAME_USE = 3
    SidTypeAlias          SID_NAME_USE = 4
    SidTypeWellKnownGroup SID_NAME_USE = 5
    SidTypeDeletedAccount SID_NAME_USE = 6
    SidTypeInvalid        SID_NAME_USE = 7
    SidTypeUnknown        SID_NAME_USE = 8
    SidTypeComputer       SID_NAME_USE = 9
    SidTypeLabel          SID_NAME_USE = 10
)

type TRUSTED\_DOMAIN\_SUPPORTED\_ENCRYPTION\_TYPES

TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES communicates the supported encryption types of a trusted domain ([MS-LSAD] 2.2.7.18).

type TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES struct {
    SupportedEncryptionTypes ndr.DWORD
}

type TRUSTED\_INFORMATION\_CLASS

TRUSTED_INFORMATION_CLASS enumerates the trusted-domain information classes that select the arm of LSAPR_TRUSTED_DOMAIN_INFO ([MS-LSAD] 2.2.7.28). As an NDR enum it is transmitted as a 16-bit unsigned value ([C706] section 14.3.6).

type TRUSTED_INFORMATION_CLASS uint16
const (
    TrustedDomainNameInformation          TRUSTED_INFORMATION_CLASS = 1
    TrustedControllersInformation         TRUSTED_INFORMATION_CLASS = 2
    TrustedPosixOffsetInformation         TRUSTED_INFORMATION_CLASS = 3
    TrustedPasswordInformation            TRUSTED_INFORMATION_CLASS = 4
    TrustedDomainInformationBasic         TRUSTED_INFORMATION_CLASS = 5
    TrustedDomainInformationEx            TRUSTED_INFORMATION_CLASS = 6
    TrustedDomainAuthInformation          TRUSTED_INFORMATION_CLASS = 7
    TrustedDomainFullInformation          TRUSTED_INFORMATION_CLASS = 8
    TrustedDomainAuthInformationInternal  TRUSTED_INFORMATION_CLASS = 9
    TrustedDomainFullInformationInternal  TRUSTED_INFORMATION_CLASS = 10
    TrustedDomainInformationEx2Internal   TRUSTED_INFORMATION_CLASS = 11
    TrustedDomainFullInformation2Internal TRUSTED_INFORMATION_CLASS = 12
    TrustedDomainSupportedEncryptionTypes TRUSTED_INFORMATION_CLASS = 13
)

type TRUSTED\_POSIX\_OFFSET\_INFO

TRUSTED_POSIX_OFFSET_INFO communicates the POSIX offset of a trusted domain ([MS-LSAD] 2.2.7.6).

type TRUSTED_POSIX_OFFSET_INFO struct {
    Offset ndr.DWORD
}