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

rpcinterface_300f353238cc11d0a3f00020af6b0add_1_2

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/300f3532-38cc-11d0-a3f0-0020af6b0add/1.2"

Package rpcinterface_300f353238cc11d0a3f00020af6b0add_1_2 is the descriptor for the trkwks RPC interface, abstract syntax 300f3532-38cc-11d0-a3f0-0020af6b0add version 1.2 ([MS-DLTW]).

Generated by tools/idlgen (descriptor phase) from the IDL, then reviewed: the PipeName and the HRESULT status-code table are not derivable from the IDL and were filled in from [MS-DLTW] 2.1 and 3.1.4.1.

Index

Constants

HRESULT status codes returned by LnkSearchMachine ([MS-DLTW] 3.1.4.1). The method returns an HRESULT: a value of 0 or any positive value indicates success, and a negative value (sign bit set) indicates failure — use StatusIsSuccess to test. TRK_E_REFERRAL and TRK_E_POTENTIAL_FILE_FOUND are failure HRESULTs that nonetheless carry meaningful [out] parameters (the referred FileLocation / MachineID and a candidate FileID respectively), so callers inspect them specifically.

const (
    // StatusSuccess (S_OK) — the file was found and its UNC is returned.
    StatusSuccess uint32 = 0x00000000
    // TrkEReferral — the file has moved off this server; pmcidNext/pdroidNext refer the
    // client to the server that now holds it ([MS-DLTW] 3.1.4.1).
    TrkEReferral uint32 = 0x8DEAD101
    // TrkEPotentialFileFound — a file matching some but not all criteria was found;
    // pdroidBirthNext carries the candidate FileID ([MS-DLTW] 3.1.4.1).
    TrkEPotentialFileFound uint32 = 0x8DEAD106
    // EptSNotRegistered — the requested endpoint was not found; when it was reached over
    // \trkwks the client retries over \ntsvcs ([MS-DLTW] 3.2.4.1, [MS-RPCE]).
    EptSNotRegistered uint32 = 0xC0020017
)

Opnums for the on-the-wire methods. Opnums 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 are “not used on the wire” and are omitted.

const (
    OpnumLnkSearchMachine uint16 = 12
)

PipeName is the IPC$-relative named pipe for the trkwks interface.

Per [MS-DLTW] 2.1 (Transport) the DLT Workstation server SHOULD listen on \pipe\trkwks and MAY also listen on \pipe\ntsvcs; the client SHOULD try \pipe\trkwks first and fall back to \pipe\ntsvcs on an endpoint-not-registered error (0x8DEAD… / EPT_S_NOT_REGISTERED).

const PipeName = `\trkwks`

PipeNameFallback is the alternate endpoint the client uses when \trkwks is not registered ([MS-DLTW] 2.1).

const PipeNameFallback = `\ntsvcs`

Variables

NameToOpnum is the reverse of OpnumToName, built at init so the two never drift.

var NameToOpnum = func() map[string]uint16 {
    m := make(map[string]uint16, len(OpnumToName))
    for op, name := range OpnumToName {
        m[name] = op
    }
    return m
}()

OpnumToName maps each on-the-wire opnum to its method name; the single source of truth.

var OpnumToName = map[uint16]string{
    OpnumLnkSearchMachine: "LnkSearchMachine",
}

func StatusIsSuccess

func StatusIsSuccess(status uint32) bool

StatusIsSuccess reports whether an HRESULT returned by this interface indicates success. HRESULTs are signed: success is any value with the sign bit clear (>= 0), matching [MS-DLTW] 3.1.4.1 (“a value of 0 or any positive value indicates success”).

func StatusString

func StatusString(status uint32) string

StatusString returns a mnemonic for the documented status codes, otherwise the hex value.

func SyntaxID

func SyntaxID() syntax.SyntaxID

SyntaxID returns the trkwks abstract syntax identifier: 300f3532-38cc-11d0-a3f0-0020af6b0add, version 1.2.

Subpackages