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

rpcinterface_906b0ce0c70b1067b31700dd010662da_1_0

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/906b0ce0-c70b-1067-b317-00dd010662da/1.0"

Package rpcinterface_906b0ce0c70b1067b31700dd010662da_1_0 is the descriptor for the IXnRemote RPC interface, abstract syntax 906b0ce0-c70b-1067-b317-00dd010662da version 1.0 ([MS-CMPO]).

Generated by tools/idlgen (descriptor phase) from the IDL, then reviewed by hand: the transport note (IXnRemote is ncacn_ip_tcp, not a named pipe) and the HRESULT status table are not derivable from the IDL and were added on review.

Index

Constants

Opnums for the on-the-wire methods.

const (
    OpnumPoke               uint16 = 0
    OpnumBuildContext       uint16 = 1
    OpnumNegotiateResources uint16 = 2
    OpnumSendReceive        uint16 = 3
    OpnumTearDownContext    uint16 = 4
    OpnumBeginTearDown      uint16 = 5
    OpnumPokeW              uint16 = 6
    OpnumBuildContextW      uint16 = 7
)

HRESULT codes returned by the IXnRemote methods. Every method returns an HRESULT ([MS-DTYP] 2.2.18); success is S_OK. [MS-CMPO] does not enumerate a closed set of failure codes, so beyond S_OK only the standard HRESULT values a partner may surface are named here — any other code is rendered as hex by StatusString.

const (
    // StatusSuccess (S_OK) indicates the method succeeded.
    StatusSuccess uint32 = 0x00000000
    // StatusFail (E_FAIL) is the generic unspecified-failure HRESULT.
    StatusFail uint32 = 0x80004005
    // StatusOutOfMemory (E_OUTOFMEMORY) indicates the partner could not allocate memory.
    StatusOutOfMemory uint32 = 0x8007000E
    // StatusInvalidArg (E_INVALIDARG) indicates one or more arguments were invalid.
    StatusInvalidArg uint32 = 0x80070057
)

PipeName is retained for descriptor uniformity, but IXnRemote is NOT a named-pipe interface: per [MS-CMPO] 2.1 the protocol is carried over ncacn_ip_tcp on a dynamic endpoint that the client resolves through the RPC endpoint mapper (TCP/135) by this interface’s UUID — the endpoint and options are passed empty to rpc_string_binding_compose ([MS-CMPO] 3.4.2.1). The value below is a placeholder, not the standard binding for this interface.

const PipeName = `\IXnRemote`

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{
    OpnumPoke:               "Poke",
    OpnumBuildContext:       "BuildContext",
    OpnumNegotiateResources: "NegotiateResources",
    OpnumSendReceive:        "SendReceive",
    OpnumTearDownContext:    "TearDownContext",
    OpnumBeginTearDown:      "BeginTearDown",
    OpnumPokeW:              "PokeW",
    OpnumBuildContextW:      "BuildContextW",
}

func StatusString

func StatusString(status uint32) string

StatusString returns a mnemonic for the recognized HRESULT codes, otherwise the hex value.

func SyntaxID

func SyntaxID() syntax.SyntaxID

SyntaxID returns the IXnRemote abstract syntax identifier: 906b0ce0-c70b-1067-b317-00dd010662da, version 1.0.

Subpackages