rpcinterface_378e52b0c0a911cf822d00aa0051e40f_1_0
import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/378e52b0-c0a9-11cf-822d-00aa0051e40f/1.0"
Package rpcinterface_378e52b0c0a911cf822d00aa0051e40f_1_0 is the descriptor for the sasec RPC interface, abstract syntax 378e52b0-c0a9-11cf-822d-00aa0051e40f version 1.0 ([MS-TSCH]).
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 were filled in and verified by hand ([MS-TSCH] 2.1, 3.2.5).
Index
- Constants
- Variables
- func IsSuccess(status uint32) bool
- func StatusString(status uint32) string
- func SyntaxID() syntax.SyntaxID
Constants
Opnums for the on-the-wire methods.
const (
OpnumSASetAccountInformation uint16 = 0
OpnumSASetNSAccountInformation uint16 = 1
OpnumSAGetNSAccountInformation uint16 = 2
OpnumSAGetAccountInformation uint16 = 3
)
HRESULT status codes returned by the SASec methods ([MS-TSCH] 3.2.5.3, [MS-ERREF] 2.1). SASec methods return an HRESULT: a value with the high bit clear (S_OK) is success, otherwise a failure. Most failures are HRESULT_FROM_WIN32 forms of Win32 errors.
const (
StatusSuccess uint32 = 0x00000000 // S_OK
ErrorFileNotFound uint32 = 0x80070002 // HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
ErrorAccessDenied uint32 = 0x80070005 // E_ACCESSDENIED
ErrorInvalidData uint32 = 0x8007000D // HRESULT_FROM_WIN32(ERROR_INVALID_DATA)
ErrorInvalidArg uint32 = 0x80070057 // E_INVALIDARG
ErrorLogonFailure uint32 = 0x8007052E // HRESULT_FROM_WIN32(ERROR_LOGON_FAILURE)
)
PipeName is the IPC$-relative named pipe for the sasec interface. Per [MS-TSCH] 2.1 the ATSvc and SASec interfaces share the well-known ncacn_np endpoint \PIPE\atsvc.
const PipeName = `\atsvc`
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{
OpnumSASetAccountInformation: "SASetAccountInformation",
OpnumSASetNSAccountInformation: "SASetNSAccountInformation",
OpnumSAGetNSAccountInformation: "SAGetNSAccountInformation",
OpnumSAGetAccountInformation: "SAGetAccountInformation",
}
func IsSuccess
func IsSuccess(status uint32) bool
IsSuccess reports whether an HRESULT returned by this interface indicates success (high bit clear, e.g. S_OK).
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 sasec abstract syntax identifier: 378e52b0-c0a9-11cf-822d-00aa0051e40f, version 1.0.