rpcinterface_77df7a80f29811d0835800a024c480a8_1_0
import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/77df7a80-f298-11d0-8358-00a024c480a8/1.0"
Package rpcinterface_77df7a80f29811d0835800a024c480a8_1_0 is the descriptor for the dscomm RPC interface, abstract syntax 77df7a80-f298-11d0-8358-00a024c480a8 version 1.0 ([MS-MQDS]).
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. Opnums 9, 15, 16, 17, 18, 24, 25, 26 are “not used on the wire” and are omitted.
const (
OpnumS_DSCreateObject uint16 = 0
OpnumS_DSDeleteObject uint16 = 1
OpnumS_DSGetProps uint16 = 2
OpnumS_DSSetProps uint16 = 3
OpnumS_DSGetObjectSecurity uint16 = 4
OpnumS_DSSetObjectSecurity uint16 = 5
OpnumS_DSLookupBegin uint16 = 6
OpnumS_DSLookupNext uint16 = 7
OpnumS_DSLookupEnd uint16 = 8
OpnumS_DSDeleteObjectGuid uint16 = 10
OpnumS_DSGetPropsGuid uint16 = 11
OpnumS_DSSetPropsGuid uint16 = 12
OpnumS_DSGetObjectSecurityGuid uint16 = 13
OpnumS_DSSetObjectSecurityGuid uint16 = 14
OpnumS_DSQMSetMachineProperties uint16 = 19
OpnumS_DSCreateServersCache uint16 = 20
OpnumS_DSQMGetObjectSecurity uint16 = 21
OpnumS_DSValidateServer uint16 = 22
OpnumS_DSCloseServerHandle uint16 = 23
OpnumS_DSGetServerPort uint16 = 27
)
Status codes returned by this interface. Every dscomm method returns an HRESULT; the values are the Message Queuing result codes ([MS-MQMQ] 2.4, mqerror.h). Only the codes most relevant to directory operations are enumerated here; StatusString falls back to the hex value for any other HRESULT.
const (
StatusSuccess uint32 = 0x00000000 // MQ_OK
MQ_ERROR uint32 = 0xC00E0001
MQ_ERROR_PROPERTY uint32 = 0xC00E0002
MQ_ERROR_QUEUE_NOT_FOUND uint32 = 0xC00E0003
MQ_ERROR_QUEUE_EXISTS uint32 = 0xC00E0005
MQ_ERROR_INVALID_PARAMETER uint32 = 0xC00E0006
MQ_ERROR_INVALID_HANDLE uint32 = 0xC00E0007
MQ_ERROR_NO_DS uint32 = 0xC00E0013
MQ_ERROR_ILLEGAL_QUEUE_PATHNAME uint32 = 0xC00E0014
MQ_ERROR_ACCESS_DENIED uint32 = 0xC00E0025
MQ_ERROR_ILLEGAL_MQCOLUMNS uint32 = 0xC00E0038
MQ_ERROR_ILLEGAL_PROPID uint32 = 0xC00E0039
MQ_ERROR_ILLEGAL_RELATION uint32 = 0xC00E003A
MQ_ERROR_ILLEGAL_PROPERTY_VALUE uint32 = 0xC00E003C
MQ_ERROR_ILLEGAL_RESTRICTION_PROPID uint32 = 0xC00E003E
MQ_ERROR_DS_ERROR uint32 = 0xC00E0043
MQ_ERROR_ILLEGAL_SORT_PROPID uint32 = 0xC00E0055
)
PipeName is retained for descriptor uniformity, but dscomm is NOT a named-pipe interface: per [MS-MQDS] 2.1 the protocol is carried over ncacn_ip_tcp on an RPC dynamic endpoint (resolved through the endpoint mapper), with ncacn_spx as an optional legacy sequence. There is no fixed \pipe transport; the value below is only a stable short name for the interface.
const PipeName = `\dscomm`
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{
OpnumS_DSCreateObject: "S_DSCreateObject",
OpnumS_DSDeleteObject: "S_DSDeleteObject",
OpnumS_DSGetProps: "S_DSGetProps",
OpnumS_DSSetProps: "S_DSSetProps",
OpnumS_DSGetObjectSecurity: "S_DSGetObjectSecurity",
OpnumS_DSSetObjectSecurity: "S_DSSetObjectSecurity",
OpnumS_DSLookupBegin: "S_DSLookupBegin",
OpnumS_DSLookupNext: "S_DSLookupNext",
OpnumS_DSLookupEnd: "S_DSLookupEnd",
OpnumS_DSDeleteObjectGuid: "S_DSDeleteObjectGuid",
OpnumS_DSGetPropsGuid: "S_DSGetPropsGuid",
OpnumS_DSSetPropsGuid: "S_DSSetPropsGuid",
OpnumS_DSGetObjectSecurityGuid: "S_DSGetObjectSecurityGuid",
OpnumS_DSSetObjectSecurityGuid: "S_DSSetObjectSecurityGuid",
OpnumS_DSQMSetMachineProperties: "S_DSQMSetMachineProperties",
OpnumS_DSCreateServersCache: "S_DSCreateServersCache",
OpnumS_DSQMGetObjectSecurity: "S_DSQMGetObjectSecurity",
OpnumS_DSValidateServer: "S_DSValidateServer",
OpnumS_DSCloseServerHandle: "S_DSCloseServerHandle",
OpnumS_DSGetServerPort: "S_DSGetServerPort",
}
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 dscomm abstract syntax identifier: 77df7a80-f298-11d0-8358-00a024c480a8, version 1.0.