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

rpcinterface_1088a980eae511d08d9b00a02453c337_1_0

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/1088a980-eae5-11d0-8d9b-00a02453c337/1.0"

Package rpcinterface_1088a980eae511d08d9b00a02453c337_1_0 is the descriptor for the qm2qm RPC interface, abstract syntax 1088a980-eae5-11d0-8d9b-00a02453c337 version 1.0 ([MS-MQQP]).

Generated by tools/idlgen (descriptor phase) from the IDL, then reviewed by hand against [MS-MQQP] and [MS-MQMQ]: the transport note on PipeName, the status-code table, and the doc comments are not derivable from the IDL and were confirmed against the spec.

Index

Constants

Opnums for the on-the-wire methods.

const (
    OpnumRemoteQMStartReceive           uint16 = 0
    OpnumRemoteQMEndReceive             uint16 = 1
    OpnumRemoteQMOpenQueue              uint16 = 2
    OpnumRemoteQMCloseQueue             uint16 = 3
    OpnumRemoteQMCloseCursor            uint16 = 4
    OpnumRemoteQMCancelReceive          uint16 = 5
    OpnumRemoteQMPurgeQueue             uint16 = 6
    OpnumRemoteQMGetQMQMServerPort      uint16 = 7
    OpnumRemoteQmGetVersion             uint16 = 8
    OpnumRemoteQMStartReceive2          uint16 = 9
    OpnumRemoteQMStartReceiveByLookupId uint16 = 10
)

Status codes returned by the HRESULT-returning methods of this interface. The values are the Message Queuing result codes ([MS-MQMQ] 2.4, mqerror.h), plus the one NTSTATUS the spec cites directly. MQ_OK is success; per [MS-MQQP] 3.1.4.x the client MUST treat every failure HRESULT identically. Only the codes the [MS-MQQP] method sections enumerate are listed here; StatusString falls back to the hex value for any other code.

Note the two exceptions among the opnums: RemoteQMGetQMQMServerPort (opnum 7) does NOT return an HRESULT — its DWORD result is a TCP/SPX port, with 0x00000000 signalling failure — and RemoteQmGetVersion (opnum 8) has no return value at all.

const (
    StatusSuccess uint32 = 0x00000000 // MQ_OK

    MQ_ERROR                   uint32 = 0xC00E0001
    MQ_ERROR_INVALID_PARAMETER uint32 = 0xC00E0006
    MQ_ERROR_INVALID_HANDLE    uint32 = 0xC00E0007
    MQ_ERROR_IO_TIMEOUT        uint32 = 0xC00E001B

    STATUS_INVALID_PARAMETER uint32 = 0xC000000D
)

PipeName is empty: qm2qm has no named-pipe endpoint. Per [MS-MQQP] section 2.1 the interface is bound over RPC-on-TCP (ncacn_ip_tcp) — and, on legacy Windows NT/2000, ncacn_spx — at an RPC dynamic endpoint assigned by the endpoint mapper ([C706] Part 4), so there is no IPC$-relative pipe. A static endpoint MAY instead be obtained by calling RemoteQMGetQMQMServerPort (opnum 7, section 3.1.4.8).

const PipeName = ``

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{
    OpnumRemoteQMStartReceive:           "RemoteQMStartReceive",
    OpnumRemoteQMEndReceive:             "RemoteQMEndReceive",
    OpnumRemoteQMOpenQueue:              "RemoteQMOpenQueue",
    OpnumRemoteQMCloseQueue:             "RemoteQMCloseQueue",
    OpnumRemoteQMCloseCursor:            "RemoteQMCloseCursor",
    OpnumRemoteQMCancelReceive:          "RemoteQMCancelReceive",
    OpnumRemoteQMPurgeQueue:             "RemoteQMPurgeQueue",
    OpnumRemoteQMGetQMQMServerPort:      "RemoteQMGetQMQMServerPort",
    OpnumRemoteQmGetVersion:             "RemoteQmGetVersion",
    OpnumRemoteQMStartReceive2:          "RemoteQMStartReceive2",
    OpnumRemoteQMStartReceiveByLookupId: "RemoteQMStartReceiveByLookupId",
}

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 qm2qm abstract syntax identifier: 1088a980-eae5-11d0-8d9b-00a02453c337, version 1.0.

Subpackages