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

rpcinterface_41208ee0e97011d19b9e00e02c064c39_1_0

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/41208ee0-e970-11d1-9b9e-00e02c064c39/1.0"

Package rpcinterface_41208ee0e97011d19b9e00e02c064c39_1_0 is the descriptor for the qmmgmt RPC interface, abstract syntax 41208ee0-e970-11d1-9b9e-00e02c064c39 version 1.0 ([MS-MQMR]).

Generated by tools/idlgen (descriptor phase) from the IDL, then reviewed: the PipeName, the status-code table, and doc comments are not derivable from the IDL and must be confirmed by hand (see the TODO markers).

Index

Constants

Opnums for the on-the-wire methods.

const (
    OpnumR_QMMgmtGetInfo uint16 = 0
    OpnumR_QMMgmtAction  uint16 = 1
)

Status codes returned by this interface. Both qmmgmt methods return an HRESULT; the values are Message Queuing result codes ([MS-MQMQ] 2.4, mqerror.h). [MS-MQMR] 3.1.4.1 and 3.1.4.2 name only the codes below; StatusString falls back to the hex value for any other failure HRESULT.

const (
    StatusSuccess uint32 = 0x00000000 // MQ_OK

    MQ_ERROR                   uint32 = 0xC00E0001 // generic error
    MQ_ERROR_INVALID_PARAMETER uint32 = 0xC00E0006 // e.g. MGMT_SESSION type or bad lpwszAction
    MQ_ERROR_ILLEGAL_PROPID    uint32 = 0xC00E0039 // a property id in aProp is not valid for the object
)

Action strings for R_QMMgmtAction’s lpwszAction parameter ([MS-MQMR] 3.1.4.2). The value is not case-sensitive; these are the documented canonical spellings.

const (
    ActionConnect    = "CONNECT"    // machine: connect to the network and directory service
    ActionDisconnect = "DISCONNECT" // machine: disconnect from the network and directory service
    ActionTidy       = "TIDY"       // machine: clean up empty message files
    ActionPause      = "PAUSE"      // outgoing queue: stop sending messages
    ActionResume     = "RESUME"     // outgoing queue: restart sending after a pause
    ActionEODResend  = "EOD_RESEND" // outgoing queue: resend the pending transaction sequence
)

PipeName is empty: qmmgmt has no named-pipe endpoint. [MS-MQMR] section 2.1 binds this interface over RPC-on-TCP (ncacn_ip_tcp) only, at a dynamic endpoint assigned by the RPC endpoint mapper ([C706] Part 4), so there is no IPC$-relative pipe.

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{
    OpnumR_QMMgmtGetInfo: "R_QMMgmtGetInfo",
    OpnumR_QMMgmtAction:  "R_QMMgmtAction",
}

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 qmmgmt abstract syntax identifier: 41208ee0-e970-11d1-9b9e-00e02c064c39, version 1.0.

Subpackages