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.