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

rpcinterface_d95afe70a6d54259822e2c84da1ddb0d_1_0

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/d95afe70-a6d5-4259-822e-2c84da1ddb0d/1.0"

Package rpcinterface_d95afe70a6d54259822e2c84da1ddb0d_1_0 is the descriptor for the WindowsShutdown RPC interface, abstract syntax d95afe70-a6d5-4259-822e-2c84da1ddb0d version 1.0 ([MS-RSP]).

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 (
    OpnumWsdrInitiateShutdown uint16 = 0
    OpnumWsdrAbortShutdown    uint16 = 1
)

Status codes: the shutdown methods return a Win32 error code from [MS-ERREF] section 2.2 (0 on success, nonzero on failure). These are the codes a caller is most likely to encounter; StatusString falls back to the raw hex for any other.

const (
    StatusSuccess              uint32 = 0x00000000 // ERROR_SUCCESS
    ErrorAccessDenied          uint32 = 0x00000005 // ERROR_ACCESS_DENIED
    ErrorNotReady              uint32 = 0x00000015 // ERROR_NOT_READY
    ErrorInvalidParameter      uint32 = 0x00000057 // ERROR_INVALID_PARAMETER
    ErrorShutdownInProgress    uint32 = 0x0000045B // ERROR_SHUTDOWN_IN_PROGRESS
    ErrorNoShutdownInProgress  uint32 = 0x0000045C // ERROR_NO_SHUTDOWN_IN_PROGRESS
    ErrorMachineLocked         uint32 = 0x000004F7 // ERROR_MACHINE_LOCKED
    ErrorShutdownIsScheduled   uint32 = 0x000004A6 // ERROR_SHUTDOWN_IS_SCHEDULED
    ErrorShutdownUsersLoggedOn uint32 = 0x000004A7 // ERROR_SHUTDOWN_USERS_LOGGED_ON
)

PipeName is intentionally empty: per [MS-RSP] section 2.1 the WindowsShutdown interface is reached over RPC-over-TCP (ncacn_ip_tcp) at a dynamic endpoint assigned by the endpoint mapper ([C706] part 4), not over a well-known named pipe. The constant is retained for descriptor uniformity.

const PipeName = ``

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{
    OpnumWsdrInitiateShutdown: "WsdrInitiateShutdown",
    OpnumWsdrAbortShutdown:    "WsdrAbortShutdown",
}

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 WindowsShutdown abstract syntax identifier: d95afe70-a6d5-4259-822e-2c84da1ddb0d, version 1.0.

Subpackages