rpcinterface_6bffd098a1123610983346c3f874532d_1_0
import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/6bffd098-a112-3610-9833-46c3f874532d/1.0"
Package rpcinterface_6bffd098a1123610983346c3f874532d_1_0 is the descriptor for the dhcpsrv RPC interface, abstract syntax 6bffd098-a112-3610-9833-46c3f874532d version 1.0 ([MS-DHCPM]).
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
- Variables
- func StatusIsPagination(status uint32) bool
- func StatusString(status uint32) string
- func SyntaxID() syntax.SyntaxID
Constants
Opnums for the on-the-wire methods.
const (
OpnumR_DhcpCreateSubnet uint16 = 0
OpnumR_DhcpSetSubnetInfo uint16 = 1
OpnumR_DhcpGetSubnetInfo uint16 = 2
OpnumR_DhcpEnumSubnets uint16 = 3
OpnumR_DhcpAddSubnetElement uint16 = 4
OpnumR_DhcpEnumSubnetElements uint16 = 5
OpnumR_DhcpRemoveSubnetElement uint16 = 6
OpnumR_DhcpDeleteSubnet uint16 = 7
OpnumR_DhcpCreateOption uint16 = 8
OpnumR_DhcpSetOptionInfo uint16 = 9
OpnumR_DhcpGetOptionInfo uint16 = 10
OpnumR_DhcpRemoveOption uint16 = 11
OpnumR_DhcpSetOptionValue uint16 = 12
OpnumR_DhcpGetOptionValue uint16 = 13
OpnumR_DhcpEnumOptionValues uint16 = 14
OpnumR_DhcpRemoveOptionValue uint16 = 15
OpnumR_DhcpCreateClientInfo uint16 = 16
OpnumR_DhcpSetClientInfo uint16 = 17
OpnumR_DhcpGetClientInfo uint16 = 18
OpnumR_DhcpDeleteClientInfo uint16 = 19
OpnumR_DhcpEnumSubnetClients uint16 = 20
OpnumR_DhcpGetClientOptions uint16 = 21
OpnumR_DhcpGetMibInfo uint16 = 22
OpnumR_DhcpEnumOptions uint16 = 23
OpnumR_DhcpSetOptionValues uint16 = 24
OpnumR_DhcpServerSetConfig uint16 = 25
OpnumR_DhcpServerGetConfig uint16 = 26
OpnumR_DhcpScanDatabase uint16 = 27
OpnumR_DhcpGetVersion uint16 = 28
OpnumR_DhcpAddSubnetElementV4 uint16 = 29
OpnumR_DhcpEnumSubnetElementsV4 uint16 = 30
OpnumR_DhcpRemoveSubnetElementV4 uint16 = 31
OpnumR_DhcpCreateClientInfoV4 uint16 = 32
OpnumR_DhcpSetClientInfoV4 uint16 = 33
OpnumR_DhcpGetClientInfoV4 uint16 = 34
OpnumR_DhcpEnumSubnetClientsV4 uint16 = 35
OpnumR_DhcpSetSuperScopeV4 uint16 = 36
OpnumR_DhcpGetSuperScopeInfoV4 uint16 = 37
OpnumR_DhcpDeleteSuperScopeV4 uint16 = 38
OpnumR_DhcpServerSetConfigV4 uint16 = 39
OpnumR_DhcpServerGetConfigV4 uint16 = 40
OpnumR_DhcpServerSetConfigVQ uint16 = 41
OpnumR_DhcpServerGetConfigVQ uint16 = 42
OpnumR_DhcpGetMibInfoVQ uint16 = 43
OpnumR_DhcpCreateClientInfoVQ uint16 = 44
OpnumR_DhcpSetClientInfoVQ uint16 = 45
OpnumR_DhcpGetClientInfoVQ uint16 = 46
OpnumR_DhcpEnumSubnetClientsVQ uint16 = 47
OpnumR_DhcpCreateSubnetVQ uint16 = 48
OpnumR_DhcpGetSubnetInfoVQ uint16 = 49
OpnumR_DhcpSetSubnetInfoVQ uint16 = 50
)
Status codes returned by this interface. The DHCP Server Management Protocol returns Win32 error codes: ERROR_SUCCESS on success, the generic Win32 errors for common failures, and the DHCP-specific ERROR_DHCP_* codes (base 20000 / 0x00004E20) documented in [MS-DHCPM] 2.2.1.2 and [MS-ERREF] 2.2. The Enum* and pagination methods additionally return ERROR_MORE_DATA / ERROR_NO_MORE_ITEMS, which callers treat as success (see StatusIsPagination).
const (
StatusSuccess uint32 = 0x00000000 // ERROR_SUCCESS
// Generic Win32 error codes ([MS-ERREF] 2.2).
ErrorFileNotFound uint32 = 0x00000002 // ERROR_FILE_NOT_FOUND
ErrorAccessDenied uint32 = 0x00000005 // ERROR_ACCESS_DENIED
ErrorInvalidData uint32 = 0x0000000D // ERROR_INVALID_DATA
ErrorInvalidParameter uint32 = 0x00000057 // ERROR_INVALID_PARAMETER
ErrorAlreadyExists uint32 = 0x000000B7 // ERROR_ALREADY_EXISTS
ErrorMoreData uint32 = 0x000000EA // ERROR_MORE_DATA
ErrorNoMoreItems uint32 = 0x00000103 // ERROR_NO_MORE_ITEMS
// DHCP-specific error codes ([MS-DHCPM] 2.2.1.2, base 0x00004E20 = 20000).
ErrorDhcpRegistryInitFailed uint32 = 0x00004E20 // ERROR_DHCP_REGISTRY_INIT_FAILED
ErrorDhcpDatabaseInitFailed uint32 = 0x00004E21 // ERROR_DHCP_DATABASE_INIT_FAILED
ErrorDhcpRpcInitFailed uint32 = 0x00004E22 // ERROR_DHCP_RPC_INIT_FAILED
ErrorDhcpNetworkInitFailed uint32 = 0x00004E23 // ERROR_DHCP_NETWORK_INIT_FAILED
ErrorDhcpSubnetExists uint32 = 0x00004E24 // ERROR_DHCP_SUBNET_EXISTS
ErrorDhcpSubnetNotPresent uint32 = 0x00004E25 // ERROR_DHCP_SUBNET_NOT_PRESENT
ErrorDhcpPrimaryNotFound uint32 = 0x00004E26 // ERROR_DHCP_PRIMARY_NOT_FOUND
ErrorDhcpElementCantRemove uint32 = 0x00004E27 // ERROR_DHCP_ELEMENT_CANT_REMOVE
ErrorDhcpOptionExists uint32 = 0x00004E29 // ERROR_DHCP_OPTION_EXISTS
ErrorDhcpOptionNotPresent uint32 = 0x00004E2A // ERROR_DHCP_OPTION_NOT_PRESENT
ErrorDhcpAddressNotAvailable uint32 = 0x00004E2B // ERROR_DHCP_ADDRESS_NOT_AVAILABLE
ErrorDhcpRangeFull uint32 = 0x00004E2C // ERROR_DHCP_RANGE_FULL
ErrorDhcpJetError uint32 = 0x00004E2D // ERROR_DHCP_JET_ERROR
ErrorDhcpClientExists uint32 = 0x00004E2E // ERROR_DHCP_CLIENT_EXISTS
ErrorDhcpInvalidDhcpMessage uint32 = 0x00004E2F // ERROR_DHCP_INVALID_DHCP_MESSAGE
ErrorDhcpInvalidDhcpClient uint32 = 0x00004E30 // ERROR_DHCP_INVALID_DHCP_CLIENT
ErrorDhcpServicePaused uint32 = 0x00004E31 // ERROR_DHCP_SERVICE_PAUSED
ErrorDhcpNotReservedClient uint32 = 0x00004E32 // ERROR_DHCP_NOT_RESERVED_CLIENT
ErrorDhcpReservedClient uint32 = 0x00004E33 // ERROR_DHCP_RESERVED_CLIENT
ErrorDhcpRangeTooSmall uint32 = 0x00004E34 // ERROR_DHCP_RANGE_TOO_SMALL
ErrorDhcpIPRangeExists uint32 = 0x00004E35 // ERROR_DHCP_IPRANGE_EXISTS
ErrorDhcpReservedIPExists uint32 = 0x00004E36 // ERROR_DHCP_RESERVEDIP_EXISTS
ErrorDhcpInvalidRange uint32 = 0x00004E37 // ERROR_DHCP_INVALID_RANGE
ErrorDhcpRangeExtended uint32 = 0x00004E38 // ERROR_DHCP_RANGE_EXTENDED
ErrorDhcpSuperScopeNameTooLong uint32 = 0x00004E3E // ERROR_DHCP_SUPER_SCOPE_NAME_TOO_LONG
ErrorDhcpClassNotFound uint32 = 0x00004E4C // ERROR_DHCP_CLASS_NOT_FOUND
ErrorDhcpClassAlreadyExists uint32 = 0x00004E4D // ERROR_DHCP_CLASS_ALREADY_EXISTS
)
PipeName is the IPC$-relative named pipe for the dhcpsrv interface. The DHCP Server Management Protocol is reached over the \PIPE\dhcpserver named pipe ([MS-DHCPM] 2.1 Transport).
const PipeName = `\dhcpserver`
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{
OpnumR_DhcpCreateSubnet: "R_DhcpCreateSubnet",
OpnumR_DhcpSetSubnetInfo: "R_DhcpSetSubnetInfo",
OpnumR_DhcpGetSubnetInfo: "R_DhcpGetSubnetInfo",
OpnumR_DhcpEnumSubnets: "R_DhcpEnumSubnets",
OpnumR_DhcpAddSubnetElement: "R_DhcpAddSubnetElement",
OpnumR_DhcpEnumSubnetElements: "R_DhcpEnumSubnetElements",
OpnumR_DhcpRemoveSubnetElement: "R_DhcpRemoveSubnetElement",
OpnumR_DhcpDeleteSubnet: "R_DhcpDeleteSubnet",
OpnumR_DhcpCreateOption: "R_DhcpCreateOption",
OpnumR_DhcpSetOptionInfo: "R_DhcpSetOptionInfo",
OpnumR_DhcpGetOptionInfo: "R_DhcpGetOptionInfo",
OpnumR_DhcpRemoveOption: "R_DhcpRemoveOption",
OpnumR_DhcpSetOptionValue: "R_DhcpSetOptionValue",
OpnumR_DhcpGetOptionValue: "R_DhcpGetOptionValue",
OpnumR_DhcpEnumOptionValues: "R_DhcpEnumOptionValues",
OpnumR_DhcpRemoveOptionValue: "R_DhcpRemoveOptionValue",
OpnumR_DhcpCreateClientInfo: "R_DhcpCreateClientInfo",
OpnumR_DhcpSetClientInfo: "R_DhcpSetClientInfo",
OpnumR_DhcpGetClientInfo: "R_DhcpGetClientInfo",
OpnumR_DhcpDeleteClientInfo: "R_DhcpDeleteClientInfo",
OpnumR_DhcpEnumSubnetClients: "R_DhcpEnumSubnetClients",
OpnumR_DhcpGetClientOptions: "R_DhcpGetClientOptions",
OpnumR_DhcpGetMibInfo: "R_DhcpGetMibInfo",
OpnumR_DhcpEnumOptions: "R_DhcpEnumOptions",
OpnumR_DhcpSetOptionValues: "R_DhcpSetOptionValues",
OpnumR_DhcpServerSetConfig: "R_DhcpServerSetConfig",
OpnumR_DhcpServerGetConfig: "R_DhcpServerGetConfig",
OpnumR_DhcpScanDatabase: "R_DhcpScanDatabase",
OpnumR_DhcpGetVersion: "R_DhcpGetVersion",
OpnumR_DhcpAddSubnetElementV4: "R_DhcpAddSubnetElementV4",
OpnumR_DhcpEnumSubnetElementsV4: "R_DhcpEnumSubnetElementsV4",
OpnumR_DhcpRemoveSubnetElementV4: "R_DhcpRemoveSubnetElementV4",
OpnumR_DhcpCreateClientInfoV4: "R_DhcpCreateClientInfoV4",
OpnumR_DhcpSetClientInfoV4: "R_DhcpSetClientInfoV4",
OpnumR_DhcpGetClientInfoV4: "R_DhcpGetClientInfoV4",
OpnumR_DhcpEnumSubnetClientsV4: "R_DhcpEnumSubnetClientsV4",
OpnumR_DhcpSetSuperScopeV4: "R_DhcpSetSuperScopeV4",
OpnumR_DhcpGetSuperScopeInfoV4: "R_DhcpGetSuperScopeInfoV4",
OpnumR_DhcpDeleteSuperScopeV4: "R_DhcpDeleteSuperScopeV4",
OpnumR_DhcpServerSetConfigV4: "R_DhcpServerSetConfigV4",
OpnumR_DhcpServerGetConfigV4: "R_DhcpServerGetConfigV4",
OpnumR_DhcpServerSetConfigVQ: "R_DhcpServerSetConfigVQ",
OpnumR_DhcpServerGetConfigVQ: "R_DhcpServerGetConfigVQ",
OpnumR_DhcpGetMibInfoVQ: "R_DhcpGetMibInfoVQ",
OpnumR_DhcpCreateClientInfoVQ: "R_DhcpCreateClientInfoVQ",
OpnumR_DhcpSetClientInfoVQ: "R_DhcpSetClientInfoVQ",
OpnumR_DhcpGetClientInfoVQ: "R_DhcpGetClientInfoVQ",
OpnumR_DhcpEnumSubnetClientsVQ: "R_DhcpEnumSubnetClientsVQ",
OpnumR_DhcpCreateSubnetVQ: "R_DhcpCreateSubnetVQ",
OpnumR_DhcpGetSubnetInfoVQ: "R_DhcpGetSubnetInfoVQ",
OpnumR_DhcpSetSubnetInfoVQ: "R_DhcpSetSubnetInfoVQ",
}
func StatusIsPagination
func StatusIsPagination(status uint32) bool
StatusIsPagination reports whether status is one of the pagination sentinels (ERROR_MORE_DATA / ERROR_NO_MORE_ITEMS) that the Enum* and Get* methods return alongside a valid result rather than to signal failure.
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 dhcpsrv abstract syntax identifier: 6bffd098-a112-3610-9833-46c3f874532d, version 1.0.