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

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.

Subpackages