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

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

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.

Subpackages