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.