rpcinterface_7c44d7d431d5424cbd5e2b3e1f323d22_1_0
import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/7c44d7d4-31d5-424c-bd5e-2b3e1f323d22/1.0"
Package rpcinterface_7c44d7d431d5424cbd5e2b3e1f323d22_1_0 is the descriptor for the dsaop RPC interface, abstract syntax 7c44d7d4-31d5-424c-bd5e-2b3e1f323d22 version 1.0 ([MS-DRSR]).
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.
const (
OpnumIDL_DSAPrepareScript uint16 = 0
OpnumIDL_DSAExecuteScript uint16 = 1
)
Status codes returned by this interface. dsaop methods return Win32 error codes (a DWORD return value), NOT NTSTATUS — so StatusSuccess is ERROR_SUCCESS (0). Extend this table (and StatusString) with additional codes as each method is wire-validated.
const (
StatusSuccess uint32 = 0x00000000 // ERROR_SUCCESS
ErrorAccessDenied uint32 = 0x00000005 // ERROR_ACCESS_DENIED
ErrorNotSupported uint32 = 0x00000032 // ERROR_NOT_SUPPORTED
ErrorInvalidParameter uint32 = 0x00000057 // ERROR_INVALID_PARAMETER
)
PipeName is retained for descriptor uniformity, but dsaop (the directory-service administration interface used for RODC demotion scripting, [MS-DRSR]) is not a named-pipe interface: like drsuapi it is carried over ncacn_ip_tcp on a dynamic endpoint resolved through the endpoint mapper (TCP/135). This constant is not the standard binding for this interface.
const PipeName = `\drsuapi`
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{
OpnumIDL_DSAPrepareScript: "IDL_DSAPrepareScript",
OpnumIDL_DSAExecuteScript: "IDL_DSAExecuteScript",
}
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 dsaop abstract syntax identifier: 7c44d7d4-31d5-424c-bd5e-2b3e1f323d22, version 1.0.