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

rpcinterface_ccd8c074d0e54a4092b4d074faa6ba28_1_1

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/ccd8c074-d0e5-4a40-92b4-d074faa6ba28/1.1"

Package rpcinterface_ccd8c074d0e54a4092b4d074faa6ba28_1_1 is the descriptor for the Witness (Service Witness Protocol) RPC interface, abstract syntax ccd8c074-d0e5-4a40-92b4-d074faa6ba28 version 1.1 ([MS-SWN]).

An RPC interface is identified by its UUID and version, never by the transport it is reached over: the directory is named after the UUID with the version in the nested <maj>.<min>/ directory.

This package holds only the interface-level descriptor (abstract syntax, transport endpoint, opnums, opnum<->name maps, status/version constants). NDR types live in the windows/protocols/ms-swn package (imported as msswn) and method stubs in functions; both depend on this package, never the reverse.

Transport ([MS-SWN] 2.1): the Service Witness Protocol is reached over RPC dynamic endpoints, protocol sequence ncacn_ip_tcp (RPC over TCP/IP), with the endpoint resolved through the RPC endpoint mapper — it is NOT exposed over a named pipe. The RPC server allows any user to bind and uses [MS-RPCE] to obtain the caller identity for per-method access checks. PipeName is therefore empty.

Index

Constants

Opnums for the on-the-wire methods ([MS-SWN] 3.1.4). Opnums 4 and 5 (the *Ex methods) are only applicable to Witness protocol version 2.

const (
    OpnumWitnessrGetInterfaceList uint16 = 0
    OpnumWitnessrRegister         uint16 = 1
    OpnumWitnessrUnRegister       uint16 = 2
    OpnumWitnessrAsyncNotify      uint16 = 3
    OpnumWitnessrRegisterEx       uint16 = 4
    OpnumWitnessrUnRegisterEx     uint16 = 5
)

Witness protocol versions ([MS-SWN] 2.2.2.3). The Version parameter of WitnessrRegister / WitnessrRegisterEx MUST carry one of these values; anything else makes the server return ERROR_REVISION_MISMATCH.

const (
    WitnessVersionV1 uint32 = 0x00010001 // Witness protocol version 1
    WitnessVersionV2 uint32 = 0x00020000 // Witness protocol version 2 (enables the *Ex methods)
)

Status codes returned by this interface. Every Witnessr* method returns a Win32 error code ([MS-ERREF] 2.2, transmitted as the DWORD return value); ERROR_SUCCESS (0) indicates success. These are the codes [MS-SWN] (section 3.1.4) documents its methods returning.

const (
    StatusSuccess           uint32 = 0x00000000 // ERROR_SUCCESS
    StatusAccessDenied      uint32 = 0x00000005 // ERROR_ACCESS_DENIED
    StatusInvalidParameter  uint32 = 0x00000057 // ERROR_INVALID_PARAMETER
    StatusNotFound          uint32 = 0x00000490 // ERROR_NOT_FOUND
    StatusRevisionMismatch  uint32 = 0x0000051A // ERROR_REVISION_MISMATCH
    StatusNoSystemResources uint32 = 0x000005AA // ERROR_NO_SYSTEM_RESOURCES
    StatusInvalidState      uint32 = 0x0000139F // ERROR_INVALID_STATE
)

PipeName is unused for this interface: [MS-SWN] 2.1 uses ncacn_ip_tcp with a dynamic endpoint (endpoint-mapper resolved), not a named pipe. It is retained, empty, for descriptor uniformity across interfaces.

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{
    OpnumWitnessrGetInterfaceList: "WitnessrGetInterfaceList",
    OpnumWitnessrRegister:         "WitnessrRegister",
    OpnumWitnessrUnRegister:       "WitnessrUnRegister",
    OpnumWitnessrAsyncNotify:      "WitnessrAsyncNotify",
    OpnumWitnessrRegisterEx:       "WitnessrRegisterEx",
    OpnumWitnessrUnRegisterEx:     "WitnessrUnRegisterEx",
}

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 Witness abstract syntax identifier: ccd8c074-d0e5-4a40-92b4-d074faa6ba28, version 1.1.

Subpackages