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

rpcinterface_4fc742e04a1011cf827300aa004ae673_3_0

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/4fc742e0-4a10-11cf-8273-00aa004ae673/3.0"

Package rpcinterface_4fc742e04a1011cf827300aa004ae673_3_0 is the descriptor for the netdfs RPC interface, abstract syntax 4fc742e0-4a10-11cf-8273-00aa004ae673 version 3.0 ([MS-DFSNM]).

Generated by tools/idlgen (descriptor phase) from the IDL, then reviewed by hand: the PipeName (\PIPE\netdfs, [MS-DFSNM] 2.1) and the Win32/NET_API_STATUS code table ([MS-ERREF] 2.2) are not carried by the IDL and were filled in from the spec.

Index

Constants

Opnums for the on-the-wire methods. Opnums 7, 8, 9 are “not used on the wire” and are omitted.

const (
    OpnumNetrDfsManagerGetVersion            uint16 = 0
    OpnumNetrDfsAdd                          uint16 = 1
    OpnumNetrDfsRemove                       uint16 = 2
    OpnumNetrDfsSetInfo                      uint16 = 3
    OpnumNetrDfsGetInfo                      uint16 = 4
    OpnumNetrDfsEnum                         uint16 = 5
    OpnumNetrDfsMove                         uint16 = 6
    OpnumNetrDfsAddFtRoot                    uint16 = 10
    OpnumNetrDfsRemoveFtRoot                 uint16 = 11
    OpnumNetrDfsAddStdRoot                   uint16 = 12
    OpnumNetrDfsRemoveStdRoot                uint16 = 13
    OpnumNetrDfsManagerInitialize            uint16 = 14
    OpnumNetrDfsAddStdRootForced             uint16 = 15
    OpnumNetrDfsGetDcAddress                 uint16 = 16
    OpnumNetrDfsSetDcAddress                 uint16 = 17
    OpnumNetrDfsFlushFtTable                 uint16 = 18
    OpnumNetrDfsAdd2                         uint16 = 19
    OpnumNetrDfsRemove2                      uint16 = 20
    OpnumNetrDfsEnumEx                       uint16 = 21
    OpnumNetrDfsSetInfo2                     uint16 = 22
    OpnumNetrDfsAddRootTarget                uint16 = 23
    OpnumNetrDfsRemoveRootTarget             uint16 = 24
    OpnumNetrDfsGetSupportedNamespaceVersion uint16 = 25
)

Status codes returned by this interface. The netdfs methods return a Win32 error code (NET_API_STATUS) rather than an NTSTATUS ([MS-DFSNM] 2.2 and the per-method “Return Values” tables; the numeric values are the Win32 codes of [MS-ERREF] 2.2).

const (
    StatusSuccess         uint32 = 0x00000000 // ERROR_SUCCESS
    ErrorFileNotFound     uint32 = 0x00000002 // ERROR_FILE_NOT_FOUND
    ErrorAccessDenied     uint32 = 0x00000005 // ERROR_ACCESS_DENIED
    ErrorNotEnoughMemory  uint32 = 0x00000008 // ERROR_NOT_ENOUGH_MEMORY
    ErrorNotSupported     uint32 = 0x00000032 // ERROR_NOT_SUPPORTED
    ErrorFileExists       uint32 = 0x00000050 // ERROR_FILE_EXISTS
    ErrorInvalidParameter uint32 = 0x00000057 // ERROR_INVALID_PARAMETER
    ErrorInvalidName      uint32 = 0x0000007B // ERROR_INVALID_NAME
    ErrorDirNotEmpty      uint32 = 0x00000091 // ERROR_DIR_NOT_EMPTY
    ErrorAlreadyExists    uint32 = 0x000000B7 // ERROR_ALREADY_EXISTS
    ErrorNotFound         uint32 = 0x00000490 // ERROR_NOT_FOUND
)

PipeName is the IPC$-relative named pipe for the netdfs interface. DFS servers use the well-known endpoint \PIPE\netdfs ([MS-DFSNM] 2.1 Transport).

const PipeName = `\netdfs`

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{
    OpnumNetrDfsManagerGetVersion:            "NetrDfsManagerGetVersion",
    OpnumNetrDfsAdd:                          "NetrDfsAdd",
    OpnumNetrDfsRemove:                       "NetrDfsRemove",
    OpnumNetrDfsSetInfo:                      "NetrDfsSetInfo",
    OpnumNetrDfsGetInfo:                      "NetrDfsGetInfo",
    OpnumNetrDfsEnum:                         "NetrDfsEnum",
    OpnumNetrDfsMove:                         "NetrDfsMove",
    OpnumNetrDfsAddFtRoot:                    "NetrDfsAddFtRoot",
    OpnumNetrDfsRemoveFtRoot:                 "NetrDfsRemoveFtRoot",
    OpnumNetrDfsAddStdRoot:                   "NetrDfsAddStdRoot",
    OpnumNetrDfsRemoveStdRoot:                "NetrDfsRemoveStdRoot",
    OpnumNetrDfsManagerInitialize:            "NetrDfsManagerInitialize",
    OpnumNetrDfsAddStdRootForced:             "NetrDfsAddStdRootForced",
    OpnumNetrDfsGetDcAddress:                 "NetrDfsGetDcAddress",
    OpnumNetrDfsSetDcAddress:                 "NetrDfsSetDcAddress",
    OpnumNetrDfsFlushFtTable:                 "NetrDfsFlushFtTable",
    OpnumNetrDfsAdd2:                         "NetrDfsAdd2",
    OpnumNetrDfsRemove2:                      "NetrDfsRemove2",
    OpnumNetrDfsEnumEx:                       "NetrDfsEnumEx",
    OpnumNetrDfsSetInfo2:                     "NetrDfsSetInfo2",
    OpnumNetrDfsAddRootTarget:                "NetrDfsAddRootTarget",
    OpnumNetrDfsRemoveRootTarget:             "NetrDfsRemoveRootTarget",
    OpnumNetrDfsGetSupportedNamespaceVersion: "NetrDfsGetSupportedNamespaceVersion",
}

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 netdfs abstract syntax identifier: 4fc742e0-4a10-11cf-8273-00aa004ae673, version 3.0.

Subpackages