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.