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

rpcinterface_6bffd098a1123610983346c3f87e345a_1_0

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/6bffd098-a112-3610-9833-46c3f87e345a/1.0"

Package rpcinterface_6bffd098a1123610983346c3f87e345a_1_0 is the descriptor for the wkssvc RPC interface, abstract syntax 6bffd098-a112-3610-9833-46c3f87e345a version 1.0 ([MS-WKST]).

Generated by tools/idlgen (descriptor phase) from the IDL, then reviewed by hand: the PipeName (\wkssvc), the NET_API_STATUS code table, and doc comments are not derivable from the IDL and were filled in from [MS-WKST] and [MS-ERREF].

Index

Constants

Opnums for the on-the-wire methods. Opnums 3, 4, 12, 14, 15, 16, 17, 18, 19, 21 are “not used on the wire” and are omitted.

const (
    OpnumNetrWkstaGetInfo                 uint16 = 0
    OpnumNetrWkstaSetInfo                 uint16 = 1
    OpnumNetrWkstaUserEnum                uint16 = 2
    OpnumNetrWkstaTransportEnum           uint16 = 5
    OpnumNetrWkstaTransportAdd            uint16 = 6
    OpnumNetrWkstaTransportDel            uint16 = 7
    OpnumNetrUseAdd                       uint16 = 8
    OpnumNetrUseGetInfo                   uint16 = 9
    OpnumNetrUseDel                       uint16 = 10
    OpnumNetrUseEnum                      uint16 = 11
    OpnumNetrWorkstationStatisticsGet     uint16 = 13
    OpnumNetrGetJoinInformation           uint16 = 20
    OpnumNetrJoinDomain2                  uint16 = 22
    OpnumNetrUnjoinDomain2                uint16 = 23
    OpnumNetrRenameMachineInDomain2       uint16 = 24
    OpnumNetrValidateName2                uint16 = 25
    OpnumNetrGetJoinableOUs2              uint16 = 26
    OpnumNetrAddAlternateComputerName     uint16 = 27
    OpnumNetrRemoveAlternateComputerName  uint16 = 28
    OpnumNetrSetPrimaryComputerName       uint16 = 29
    OpnumNetrEnumerateComputerNames       uint16 = 30
    OpnumNetrJoinDomain3                  uint16 = 31
    OpnumNetrUnjoinDomain3                uint16 = 32
    OpnumNetrRenameMachineInDomain3       uint16 = 33
    OpnumNetrValidateName3                uint16 = 34
    OpnumNetrAddAlternateComputerName2    uint16 = 35
    OpnumNetrRemoveAlternateComputerName2 uint16 = 36
    OpnumNetrSetPrimaryComputerName2      uint16 = 37
)

Status codes returned by this interface. wkssvc methods return a NET_API_STATUS (a Win32 error code / NERR_* code from [MS-ERREF] and the workstation-service section of [MS-WKST] 3.2.4), not an NTSTATUS.

const (
    StatusSuccess uint32 = 0x00000000 // ERROR_SUCCESS / NERR_Success

    // Common Win32 error codes ([MS-ERREF] 2.2).
    ErrorAccessDenied      uint32 = 0x00000005 // ERROR_ACCESS_DENIED
    ErrorNotEnoughMemory   uint32 = 0x00000008 // ERROR_NOT_ENOUGH_MEMORY
    ErrorNotSupported      uint32 = 0x00000032 // ERROR_NOT_SUPPORTED
    ErrorInvalidParameter  uint32 = 0x00000057 // ERROR_INVALID_PARAMETER
    ErrorInvalidName       uint32 = 0x0000007B // ERROR_INVALID_NAME
    ErrorInvalidLevel      uint32 = 0x0000007C // ERROR_INVALID_LEVEL
    ErrorMoreData          uint32 = 0x000000EA // ERROR_MORE_DATA
    ErrorInvalidDomainRole uint32 = 0x0000054A // ERROR_INVALID_DOMAIN_ROLE
    ErrorNoSuchDomain      uint32 = 0x0000054B // ERROR_NO_SUCH_DOMAIN

    // NERR_* codes (NERR_BASE = 2100) relevant to wkssvc ([MS-ERREF] 2.4).
    NerrBufTooSmall           uint32 = 0x0000084B // NERR_BufTooSmall (2123)
    NerrWkstaNotStarted       uint32 = 0x0000085A // NERR_WkstaNotStarted (2138)
    NerrUseNotFound           uint32 = 0x000008CA // NERR_UseNotFound (2250)
    NerrInvalidComputer       uint32 = 0x0000092F // NERR_InvalidComputer (2351)
    NerrSetupAlreadyJoined    uint32 = 0x00000A83 // NERR_SetupAlreadyJoined (2691)
    NerrSetupNotJoined        uint32 = 0x00000A84 // NERR_SetupNotJoined (2692)
    NerrSetupDomainController uint32 = 0x00000A85 // NERR_SetupDomainController (2693)
    NerrDefaultJoinRequired   uint32 = 0x00000A86 // NERR_DefaultJoinRequired (2694)
)

PipeName is the IPC$-relative named pipe for the wkssvc interface. [MS-WKST] 2.1 binds this interface over ncacn_np to the well-known endpoint \PIPE\wkssvc.

const PipeName = `\wkssvc`

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{
    OpnumNetrWkstaGetInfo:                 "NetrWkstaGetInfo",
    OpnumNetrWkstaSetInfo:                 "NetrWkstaSetInfo",
    OpnumNetrWkstaUserEnum:                "NetrWkstaUserEnum",
    OpnumNetrWkstaTransportEnum:           "NetrWkstaTransportEnum",
    OpnumNetrWkstaTransportAdd:            "NetrWkstaTransportAdd",
    OpnumNetrWkstaTransportDel:            "NetrWkstaTransportDel",
    OpnumNetrUseAdd:                       "NetrUseAdd",
    OpnumNetrUseGetInfo:                   "NetrUseGetInfo",
    OpnumNetrUseDel:                       "NetrUseDel",
    OpnumNetrUseEnum:                      "NetrUseEnum",
    OpnumNetrWorkstationStatisticsGet:     "NetrWorkstationStatisticsGet",
    OpnumNetrGetJoinInformation:           "NetrGetJoinInformation",
    OpnumNetrJoinDomain2:                  "NetrJoinDomain2",
    OpnumNetrUnjoinDomain2:                "NetrUnjoinDomain2",
    OpnumNetrRenameMachineInDomain2:       "NetrRenameMachineInDomain2",
    OpnumNetrValidateName2:                "NetrValidateName2",
    OpnumNetrGetJoinableOUs2:              "NetrGetJoinableOUs2",
    OpnumNetrAddAlternateComputerName:     "NetrAddAlternateComputerName",
    OpnumNetrRemoveAlternateComputerName:  "NetrRemoveAlternateComputerName",
    OpnumNetrSetPrimaryComputerName:       "NetrSetPrimaryComputerName",
    OpnumNetrEnumerateComputerNames:       "NetrEnumerateComputerNames",
    OpnumNetrJoinDomain3:                  "NetrJoinDomain3",
    OpnumNetrUnjoinDomain3:                "NetrUnjoinDomain3",
    OpnumNetrRenameMachineInDomain3:       "NetrRenameMachineInDomain3",
    OpnumNetrValidateName3:                "NetrValidateName3",
    OpnumNetrAddAlternateComputerName2:    "NetrAddAlternateComputerName2",
    OpnumNetrRemoveAlternateComputerName2: "NetrRemoveAlternateComputerName2",
    OpnumNetrSetPrimaryComputerName2:      "NetrSetPrimaryComputerName2",
}

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 wkssvc abstract syntax identifier: 6bffd098-a112-3610-9833-46c3f87e345a, version 1.0.

Subpackages