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

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

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.

Subpackages