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

rpcinterface_894de0c00d5511d3a32200c04fa321a1_1_0

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/894de0c0-0d55-11d3-a322-00c04fa321a1/1.0"

Package rpcinterface_894de0c00d5511d3a32200c04fa321a1_1_0 is the descriptor for the InitShutdown RPC interface, abstract syntax 894de0c0-0d55-11d3-a322-00c04fa321a1 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 (
    OpnumBaseInitiateShutdown   uint16 = 0
    OpnumBaseAbortShutdown      uint16 = 1
    OpnumBaseInitiateShutdownEx uint16 = 2
)

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 the IPC$-relative named pipe for the InitShutdown interface. Per [MS-RSP] section 2.1 the interface has the well-known endpoint \PIPE\InitShutdown over named pipes (ncacn_np).

const PipeName = `\InitShutdown`

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{
    OpnumBaseInitiateShutdown:   "BaseInitiateShutdown",
    OpnumBaseAbortShutdown:      "BaseAbortShutdown",
    OpnumBaseInitiateShutdownEx: "BaseInitiateShutdownEx",
}

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 InitShutdown abstract syntax identifier: 894de0c0-0d55-11d3-a322-00c04fa321a1, version 1.0.

Subpackages