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

rpcinterface_bde95fdfeee045de9e12e5a61cd0d4fe_1_0

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/bde95fdf-eee0-45de-9e12-e5a61cd0d4fe/1.0"

Package rpcinterface_bde95fdfeee045de9e12e5a61cd0d4fe_1_0 is the descriptor for the RCMPublic RPC interface, abstract syntax bde95fdf-eee0-45de-9e12-e5a61cd0d4fe version 1.0 ([MS-TSTS]).

Generated by tools/idlgen (descriptor phase) from the IDL, then reviewed: the PipeName (from [MS-TSTS] 1.9) and the status-code table are not derivable from the IDL and were completed by hand.

Index

Constants

Opnums for the on-the-wire methods. Opnums 5, 6, 7 are “not used on the wire” and are omitted.

const (
    OpnumRpcGetClientData                   uint16 = 0
    OpnumRpcGetConfigData                   uint16 = 1
    OpnumRpcGetProtocolStatus               uint16 = 2
    OpnumRpcGetLastInputTime                uint16 = 3
    OpnumRpcGetRemoteAddress                uint16 = 4
    OpnumRpcGetAllListeners                 uint16 = 8
    OpnumRpcGetSessionProtocolLastInputTime uint16 = 9
    OpnumRpcGetUserCertificates             uint16 = 10
    OpnumRpcQuerySessionData                uint16 = 11
)

Status codes for this interface. Its methods return an HRESULT ([MS-ERREF] 2.1); success is S_OK (0x00000000). The values below are the common failures; StatusString falls back to the raw hex for any other value.

const (
    StatusSuccess  uint32 = 0x00000000 // S_OK
    E_ABORT        uint32 = 0x80004004
    E_FAIL         uint32 = 0x80004005
    E_OUTOFMEMORY  uint32 = 0x8007000e
    E_ACCESSDENIED uint32 = 0x80070005
    E_INVALIDARG   uint32 = 0x80070057
)

PipeName is the IPC$-relative named pipe for the RCMPublic interface. The endpoint is assigned in [MS-TSTS] section 1.9 (Standards Assignments).

const PipeName = `\TermSrv_API_service`

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{
    OpnumRpcGetClientData:                   "RpcGetClientData",
    OpnumRpcGetConfigData:                   "RpcGetConfigData",
    OpnumRpcGetProtocolStatus:               "RpcGetProtocolStatus",
    OpnumRpcGetLastInputTime:                "RpcGetLastInputTime",
    OpnumRpcGetRemoteAddress:                "RpcGetRemoteAddress",
    OpnumRpcGetAllListeners:                 "RpcGetAllListeners",
    OpnumRpcGetSessionProtocolLastInputTime: "RpcGetSessionProtocolLastInputTime",
    OpnumRpcGetUserCertificates:             "RpcGetUserCertificates",
    OpnumRpcQuerySessionData:                "RpcQuerySessionData",
}

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 RCMPublic abstract syntax identifier: bde95fdf-eee0-45de-9e12-e5a61cd0d4fe, version 1.0.

Subpackages