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

rpcinterface_20610036fa2211cf982300a0c911e5df_1_0

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/20610036-fa22-11cf-9823-00a0c911e5df/1.0"

Package rpcinterface_20610036fa2211cf982300a0c911e5df_1_0 is the descriptor for the rasrpc RPC interface, abstract syntax 20610036-fa22-11cf-9823-00a0c911e5df version 1.0 ([MS-RRASM]).

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 0, 1, 2, 3, 4, 6, 7, 8, 13, 16 are “not used on the wire” and are omitted.

const (
    OpnumRasRpcDeleteEntry             uint16 = 5
    OpnumRasRpcGetUserPreferences      uint16 = 9
    OpnumRasRpcSetUserPreferences      uint16 = 10
    OpnumRasRpcGetSystemDirectory      uint16 = 11
    OpnumRasRpcSubmitRequest           uint16 = 12
    OpnumRasRpcGetInstalledProtocolsEx uint16 = 14
    OpnumRasRpcGetVersion              uint16 = 15
)

Status codes. rasrpc methods return a Win32 error code (32-bit) as their return value ([MS-RRASM] 3.3.4; [MS-ERREF] 2.2). The values below are the ones commonly returned; any other code is rendered as hex by StatusString.

const (
    StatusSuccess            uint32 = 0x00000000 // ERROR_SUCCESS
    StatusFileNotFound       uint32 = 0x00000002 // ERROR_FILE_NOT_FOUND
    StatusAccessDenied       uint32 = 0x00000005 // ERROR_ACCESS_DENIED
    StatusInvalidHandle      uint32 = 0x00000006 // ERROR_INVALID_HANDLE
    StatusNotEnoughMemory    uint32 = 0x00000008 // ERROR_NOT_ENOUGH_MEMORY
    StatusNotSupported       uint32 = 0x00000032 // ERROR_NOT_SUPPORTED
    StatusInvalidParameter   uint32 = 0x00000057 // ERROR_INVALID_PARAMETER
    StatusInsufficientBuffer uint32 = 0x0000007A // ERROR_INSUFFICIENT_BUFFER
    StatusBufferTooSmall     uint32 = 0x0000025B // ERROR_BUFFER_TOO_SMALL
)

PipeName is the IPC$-relative named pipe for the rasrpc interface. The rasrpc and dimsvc interfaces are both reached over \PIPE\ROUTER ([MS-RRASM] 2.1 Transport).

const PipeName = `\ROUTER`

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{
    OpnumRasRpcDeleteEntry:             "RasRpcDeleteEntry",
    OpnumRasRpcGetUserPreferences:      "RasRpcGetUserPreferences",
    OpnumRasRpcSetUserPreferences:      "RasRpcSetUserPreferences",
    OpnumRasRpcGetSystemDirectory:      "RasRpcGetSystemDirectory",
    OpnumRasRpcSubmitRequest:           "RasRpcSubmitRequest",
    OpnumRasRpcGetInstalledProtocolsEx: "RasRpcGetInstalledProtocolsEx",
    OpnumRasRpcGetVersion:              "RasRpcGetVersion",
}

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 rasrpc abstract syntax identifier: 20610036-fa22-11cf-9823-00a0c911e5df, version 1.0.

Subpackages