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

rpcinterface_708cca10956911d1b2a50060977d8118_1_0

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/708cca10-9569-11d1-b2a5-0060977d8118/1.0"

Package rpcinterface_708cca10956911d1b2a50060977d8118_1_0 is the descriptor for the dscomm2 RPC interface, abstract syntax 708cca10-9569-11d1-b2a5-0060977d8118 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 7 are “not used on the wire” and are omitted.

const (
    OpnumS_DSGetComputerSites        uint16 = 0
    OpnumS_DSGetPropsEx              uint16 = 1
    OpnumS_DSGetPropsGuidEx          uint16 = 2
    OpnumS_DSBeginDeleteNotification uint16 = 3
    OpnumS_DSNotifyDelete            uint16 = 4
    OpnumS_DSEndDeleteNotification   uint16 = 5
    OpnumS_DSIsServerGC              uint16 = 6
    OpnumS_DSGetGCListInDomain       uint16 = 8
)

Status codes returned by this interface. Most dscomm2 methods return an HRESULT (the Message Queuing result codes, [MS-MQMQ] 2.4, mqerror.h); S_DSIsServerGC returns a Boolean-valued long. 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_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_PROPID         uint32 = 0xC00E0039
    MQ_ERROR_ILLEGAL_PROPERTY_VALUE uint32 = 0xC00E003C
    MQ_ERROR_DS_ERROR               uint32 = 0xC00E0043
)

PipeName is retained for descriptor uniformity, but dscomm2 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 = `\dscomm2`

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_DSGetComputerSites:        "S_DSGetComputerSites",
    OpnumS_DSGetPropsEx:              "S_DSGetPropsEx",
    OpnumS_DSGetPropsGuidEx:          "S_DSGetPropsGuidEx",
    OpnumS_DSBeginDeleteNotification: "S_DSBeginDeleteNotification",
    OpnumS_DSNotifyDelete:            "S_DSNotifyDelete",
    OpnumS_DSEndDeleteNotification:   "S_DSEndDeleteNotification",
    OpnumS_DSIsServerGC:              "S_DSIsServerGC",
    OpnumS_DSGetGCListInDomain:       "S_DSGetGCListInDomain",
}

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 dscomm2 abstract syntax identifier: 708cca10-9569-11d1-b2a5-0060977d8118, version 1.0.

Subpackages