rpcinterface_e33c0cc40482101abc0c02608c6ba218_1_0
import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/e33c0cc4-0482-101a-bc0c-02608c6ba218/1.0"
Package rpcinterface_e33c0cc40482101abc0c02608c6ba218_1_0 is the descriptor for the LocToLoc RPC interface, abstract syntax e33c0cc4-0482-101a-bc0c-02608c6ba218 version 1.0 ([MS-RPCL]).
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 (
OpnumI_nsi_lookup_begin uint16 = 0
OpnumI_nsi_lookup_done uint16 = 1
OpnumI_nsi_lookup_next uint16 = 2
OpnumI_nsi_entry_object_inq_next uint16 = 3
OpnumI_nsi_ping_locator uint16 = 4
OpnumI_nsi_entry_object_inq_done uint16 = 5
OpnumI_nsi_entry_object_inq_begin uint16 = 6
)
Status codes returned by this interface. Each method reports its outcome through a trailing [out] status parameter (a 16-bit NSI status for the enumeration methods, a 32-bit error_status_t for I_nsi_ping_locator). Per [MS-RPCL] section 3.1.4, success is NSI_S_OK (0); most methods treat every nonzero value as an undifferentiated failure. The one documented exception is I_nsi_lookup_next ([MS-RPCL] 3.1.4.3), which also returns NSI_S_NO_MORE_BINDINGS to mark the (successful) end of the enumeration.
const (
// StatusSuccess (NSI_S_OK) indicates the method completed successfully.
StatusSuccess uint32 = 0x00000000
// NSI_S_OK is the DCE Name Service Interface success code; it is the value of the
// [out] status parameter on success.
NSI_S_OK uint32 = 0x00000000
// NSI_S_NO_MORE_BINDINGS is returned by I_nsi_lookup_next when no more bindings
// satisfy the criteria (the binding vector is empty). It is the normal terminal
// status of a lookup enumeration, not an error ([MS-RPCL] 3.1.4.3).
NSI_S_NO_MORE_BINDINGS uint32 = 0x00000001
)
PipeName is the IPC$-relative named pipe for the LocToLoc interface. The LocToLoc interface is reached over RPC-over-SMB at the well-known endpoint \pipe\Locator ([MS-RPCL] section 2.1 Transport).
const PipeName = `\Locator`
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{
OpnumI_nsi_lookup_begin: "I_nsi_lookup_begin",
OpnumI_nsi_lookup_done: "I_nsi_lookup_done",
OpnumI_nsi_lookup_next: "I_nsi_lookup_next",
OpnumI_nsi_entry_object_inq_next: "I_nsi_entry_object_inq_next",
OpnumI_nsi_ping_locator: "I_nsi_ping_locator",
OpnumI_nsi_entry_object_inq_done: "I_nsi_entry_object_inq_done",
OpnumI_nsi_entry_object_inq_begin: "I_nsi_entry_object_inq_begin",
}
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 LocToLoc abstract syntax identifier: e33c0cc4-0482-101a-bc0c-02608c6ba218, version 1.0.