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.