rpcinterface_f5cc5a184264101a8c5908002b2f8426_56_0
import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/f5cc5a18-4264-101a-8c59-08002b2f8426/56.0"
Package rpcinterface_f5cc5a184264101a8c5908002b2f8426_56_0 is the descriptor for the nspi RPC interface, abstract syntax f5cc5a18-4264-101a-8c59-08002b2f8426 version 56.0 ([MS-NSPI]).
Generated by tools/idlgen (descriptor phase) from the IDL, then reviewed and refined by hand: the PipeName (transport, [MS-NSPI] 2.1) and the status-code table ([MS-NSPI] 2.2.2 / [MS-OXCDATA]) are not derivable from the IDL.
Index
Constants
Opnums for the on-the-wire methods. Opnums 15 are “not used on the wire” and are omitted.
const (
OpnumNspiBind uint16 = 0
OpnumNspiUnbind uint16 = 1
OpnumNspiUpdateStat uint16 = 2
OpnumNspiQueryRows uint16 = 3
OpnumNspiSeekEntries uint16 = 4
OpnumNspiGetMatches uint16 = 5
OpnumNspiResortRestriction uint16 = 6
OpnumNspiDNToMId uint16 = 7
OpnumNspiGetPropList uint16 = 8
OpnumNspiGetProps uint16 = 9
OpnumNspiCompareMIds uint16 = 10
OpnumNspiModProps uint16 = 11
OpnumNspiGetSpecialTable uint16 = 12
OpnumNspiGetTemplateInfo uint16 = 13
OpnumNspiModLinkAtt uint16 = 14
OpnumNspiQueryColumns uint16 = 16
OpnumNspiGetNamesFromIDs uint16 = 17
OpnumNspiGetIDsFromNames uint16 = 18
OpnumNspiResolveNames uint16 = 19
OpnumNspiResolveNamesW uint16 = 20
)
Status codes an NSPI method may return. NSPI methods return a LONG whose permitted values are the [MS-NSPI] section 2.2.2 “Permitted Error Code Values”, defined in [MS-OXCDATA] section 2.4 (Error Codes) and 2.5 (Warning Codes). The two success-severity codes (high bit clear) are Success and the ErrorsReturned warning; the remainder are failures ([MS-OXCDATA] values). [MS-NSPI] also permits “TooBig”, whose numeric value is defined in [MS-OXCDATA]; it is intentionally not hardcoded here.
const (
StatusSuccess uint32 = 0x00000000 // Success (S_OK)
StatusErrorsReturned uint32 = 0x00040380 // ErrorsReturned (MAPI_W_ERRORS_RETURNED) — warning
StatusGeneralFailure uint32 = 0x80004005 // GeneralFailure (MAPI_E_CALL_FAILED)
StatusNotSupported uint32 = 0x80040102 // NotSupported (MAPI_E_NO_SUPPORT)
StatusInvalidObject uint32 = 0x80040108 // InvalidObject (MAPI_E_INVALID_OBJECT)
StatusOutOfResources uint32 = 0x8004010E // OutOfResources (MAPI_E_NOT_ENOUGH_RESOURCES)
StatusNotFound uint32 = 0x8004010F // NotFound (MAPI_E_NOT_FOUND)
StatusLogonFailed uint32 = 0x80040111 // LogonFailed (MAPI_E_LOGON_FAILED)
StatusTooComplex uint32 = 0x80040117 // TooComplex (MAPI_E_TOO_COMPLEX)
StatusInvalidCodepage uint32 = 0x8004011E // InvalidCodepage (MAPI_E_UNKNOWN_CPID)
StatusInvalidLocale uint32 = 0x8004011F // InvalidLocale (MAPI_E_UNKNOWN_LCID)
StatusTableTooBig uint32 = 0x80040403 // TableTooBig (MAPI_E_TABLE_TOO_BIG)
StatusInvalidBookmark uint32 = 0x80040405 // InvalidBookmark (MAPI_E_INVALID_BOOKMARK)
StatusAmbiguousRecipient uint32 = 0x80040700 // AmbiguousRecipient (MAPI_E_AMBIGUOUS_RECIP)
StatusAccessDenied uint32 = 0x80070005 // AccessDenied (MAPI_E_NO_ACCESS)
StatusNotEnoughMemory uint32 = 0x8007000E // NotEnoughMemory (MAPI_E_NOT_ENOUGH_MEMORY)
StatusInvalidParameter uint32 = 0x80070057 // InvalidParameter (MAPI_E_INVALID_PARAMETER)
)
PipeName is empty: NSPI has no well-known named-pipe endpoint. [MS-NSPI] section 2.1 (Transport) binds this interface over RPC on dynamic endpoints ([C706] Part 4) across the ncacn_np, ncacn_http, and ncacn_ip_tcp protocol sequences; a client discovers the endpoint through the RPC endpoint mapper (or, for TCP, a server-configured static port), so there is no fixed IPC$-relative pipe. The interface is identified by its UUID/version.
const PipeName = ``
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{
OpnumNspiBind: "NspiBind",
OpnumNspiUnbind: "NspiUnbind",
OpnumNspiUpdateStat: "NspiUpdateStat",
OpnumNspiQueryRows: "NspiQueryRows",
OpnumNspiSeekEntries: "NspiSeekEntries",
OpnumNspiGetMatches: "NspiGetMatches",
OpnumNspiResortRestriction: "NspiResortRestriction",
OpnumNspiDNToMId: "NspiDNToMId",
OpnumNspiGetPropList: "NspiGetPropList",
OpnumNspiGetProps: "NspiGetProps",
OpnumNspiCompareMIds: "NspiCompareMIds",
OpnumNspiModProps: "NspiModProps",
OpnumNspiGetSpecialTable: "NspiGetSpecialTable",
OpnumNspiGetTemplateInfo: "NspiGetTemplateInfo",
OpnumNspiModLinkAtt: "NspiModLinkAtt",
OpnumNspiQueryColumns: "NspiQueryColumns",
OpnumNspiGetNamesFromIDs: "NspiGetNamesFromIDs",
OpnumNspiGetIDsFromNames: "NspiGetIDsFromNames",
OpnumNspiResolveNames: "NspiResolveNames",
OpnumNspiResolveNamesW: "NspiResolveNamesW",
}
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 nspi abstract syntax identifier: f5cc5a18-4264-101a-8c59-08002b2f8426, version 56.0.