Generated from Manticore v1.1.6 • 388 packages. View on pkg.go.dev

mseerr

import "github.com/TheManticoreProject/Manticore/windows/protocols/ms-eerr"

Index

type BinaryEEInfo

BinaryEEInfo models the BinaryEEInfo structure ([MS-EERR] 2.2.1.3): an opaque binary blob. PBlob is a unique pointer to a conformant byte array bounded by NSize; nil when NSize is 0.

type BinaryEEInfo struct {
    NSize int16
    PBlob []uint8 `ndr:"unique,size_is=NSize"`
}

type EEAString

EEAString models the EEAString structure ([MS-EERR] 2.2.1.1): a length-prefixed ANSI (byte) string. PString is a unique pointer to a conformant byte array bounded by NLength; nil when NLength is 0.

type EEAString struct {
    NLength int16
    PString []uint8 `ndr:"unique,size_is=NLength"`
}

type EEComputerName

EEComputerName models the EEComputerName structure ([MS-EERR] 2.2.3): the name of the computer where an error was detected. Type indicates whether a name is present; Field is the non-encapsulated union selected by it.

type EEComputerName struct {
    Type  EEComputerNamePresent
    Field EEComputerName_Field
}

type EEComputerNamePresent

EEComputerNamePresent is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-EERR]).

type EEComputerNamePresent uint16
const (
    EecnpPresent    EEComputerNamePresent = 1
    EecnpNotPresent EEComputerNamePresent = 2
)

type EEComputerName\_Field

EEComputerName_Field is the non-encapsulated union of EEComputerName, switch_is(Type) with switch_type(short) ([MS-EERR] 2.2.3, [C706] 14.3.8). The 16-bit discriminant (Tag) is transmitted inline as the first part of the union. eecnpPresent (1) selects Name; eecnpNotPresent (2) selects an empty arm (no field).

type EEComputerName_Field struct {
    Tag  int16     `ndr:"switch"`
    Name EEUString `ndr:"case=1"`
}

type EEUString

EEUString models the EEUString structure ([MS-EERR] 2.2.1.2): a length-prefixed Unicode (UTF-16) string. PString is a unique pointer to a conformant array of unsigned shorts bounded by NLength (a character count); nil when NLength is 0.

type EEUString struct {
    NLength int16
    PString []uint16 `ndr:"unique,size_is=NLength"`
}

type ExtendedErrorInfo

ExtendedErrorInfo models the ExtendedErrorInfo structure ([MS-EERR] 2.2.4): one node in a singly linked chain of error records. Next is a unique self-pointer (nil terminates the chain). Params is a conformant array embedded as the final struct member (not a pointer); its maximum_count is hoisted to the head of the struct on the wire ([C706] 14.3.7).

type ExtendedErrorInfo struct {
    Next                *ExtendedErrorInfo `ndr:"unique"`
    ComputerName        EEComputerName
    ProcessID           ndr.DWORD
    TimeStamp           int64
    GeneratingComponent ndr.DWORD
    Status              ndr.DWORD
    DetectionLocation   uint16
    Flags               uint16
    NLen                int16
    Params              []ExtendedErrorParam `ndr:"conformant,size_is=NLen"`
}

type ExtendedErrorInfoPtr

ExtendedErrorInfoPtr is an alias for ExtendedErrorInfo ([MS-EERR]).

type ExtendedErrorInfoPtr = ExtendedErrorInfo

type ExtendedErrorParam

ExtendedErrorParam models the ExtendedErrorParam structure ([MS-EERR] 2.2.2): a tagged value carried in an ExtendedErrorInfo record. Type is the discriminant enum; Field is the non-encapsulated union selected by it.

type ExtendedErrorParam struct {
    Type  ExtendedErrorParamTypesInternal
    Field ExtendedErrorParam_Field
}

type ExtendedErrorParamTypesInternal

ExtendedErrorParamTypesInternal is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-EERR]).

type ExtendedErrorParamTypesInternal uint16
const (
    EeptiAnsiString    ExtendedErrorParamTypesInternal = 1
    EeptiUnicodeString ExtendedErrorParamTypesInternal = 2
    EeptiLongVal       ExtendedErrorParamTypesInternal = 3
    EeptiShortValue    ExtendedErrorParamTypesInternal = 4
    EeptiPointerValue  ExtendedErrorParamTypesInternal = 5
    EeptiNone          ExtendedErrorParamTypesInternal = 6
    EeptiBinary        ExtendedErrorParamTypesInternal = 7
)

type ExtendedErrorParam\_Field

ExtendedErrorParam_Field is the non-encapsulated union of ExtendedErrorParam, switch_is(Type) with switch_type(short) ([MS-EERR] 2.2.2, [C706] 14.3.8). The discriminant is a 16-bit short (Tag) transmitted inline as the first part of the union — so the selecting value appears on the wire twice: once as the enclosing ExtendedErrorParam.Type and once here. eeptiNone (6) selects an empty arm (no field).

type ExtendedErrorParam_Field struct {
    Tag           int16        `ndr:"switch"`
    AnsiString    EEAString    `ndr:"case=1"`
    UnicodeString EEUString    `ndr:"case=2"`
    LVal          int32        `ndr:"case=3"`
    IVal          int16        `ndr:"case=4"`
    PVal          int64        `ndr:"case=5"`
    Blob          BinaryEEInfo `ndr:"case=7"`
}