epm

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Syntax UUID
	EpmSyntaxUUID = &uuid.UUID{TimeLow: 0xe1af8308, TimeMid: 0x5d1f, TimeHiAndVersion: 0x11c9, ClockSeqHiAndReserved: 0x91, ClockSeqLow: 0xa4, Node: [6]uint8{0x8, 0x0, 0x2b, 0x14, 0xa0, 0xfa}}
	// Syntax ID
	EpmSyntaxV3_0 = &dcerpc.SyntaxID{IfUUID: EpmSyntaxUUID, IfVersionMajor: 3, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "epm"
)
View Source
var MaxAnnotationSize = 64

MaxAnnotationSize represents the ept_max_annotation_size RPC constant

Functions

func EndpointMapper

func EndpointMapper(ctx context.Context, addr string, opts ...dcerpc.Option) dcerpc.Option

func EpmServerHandle

func EpmServerHandle(ctx context.Context, o EpmServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)

func NewEpmServerHandle

func NewEpmServerHandle(o EpmServer) dcerpc.ServerHandle

func NewMapper

func NewMapper(ctx context.Context, addr string, opts ...dcerpc.Option) dcerpc.EndpointMapper

func RegisterEpmServer

func RegisterEpmServer(conn dcerpc.Conn, o EpmServer, opts ...dcerpc.Option)

Types

type DeleteRequest

type DeleteRequest struct {
	EntriesLength uint32   `idl:"name:num_ents" json:"entries_length"`
	Entries       []*Entry `idl:"name:entries;size_is:(num_ents)" json:"entries"`
}

DeleteRequest structure represents the ept_delete operation request

func (*DeleteRequest) MarshalNDR

func (o *DeleteRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeleteRequest) UnmarshalNDR

func (o *DeleteRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeleteResponse

type DeleteResponse struct {
	Status uint32 `idl:"name:status" json:"status"`
}

DeleteResponse structure represents the ept_delete operation response

func (*DeleteResponse) MarshalNDR

func (o *DeleteResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeleteResponse) UnmarshalNDR

func (o *DeleteResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type Entry

type Entry struct {
	Object     *dtyp.GUID      `idl:"name:object" json:"object"`
	Tower      *dcetypes.Tower `idl:"name:tower" json:"tower"`
	Annotation string          `idl:"name:annotation;string" json:"annotation"`
}

Entry structure represents ept_entry_t RPC structure.

func (*Entry) MarshalNDR

func (o *Entry) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Entry) UnmarshalNDR

func (o *Entry) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type EpmClient

type EpmClient interface {

	// ept_insert operation.
	Insert(context.Context, *InsertRequest, ...dcerpc.CallOption) (*InsertResponse, error)

	// ept_delete operation.
	Delete(context.Context, *DeleteRequest, ...dcerpc.CallOption) (*DeleteResponse, error)

	// ept_lookup operation.
	Lookup(context.Context, *LookupRequest, ...dcerpc.CallOption) (*LookupResponse, error)

	// ept_map operation.
	Map(context.Context, *MapRequest, ...dcerpc.CallOption) (*MapResponse, error)

	// ept_lookup_handle_free operation.
	LookupHandleFree(context.Context, *LookupHandleFreeRequest, ...dcerpc.CallOption) (*LookupHandleFreeResponse, error)

	// ept_inq_object operation.
	InquireObject(context.Context, *InquireObjectRequest, ...dcerpc.CallOption) (*InquireObjectResponse, error)

	// ept_mgmt_delete operation.
	ManagementDelete(context.Context, *ManagementDeleteRequest, ...dcerpc.CallOption) (*ManagementDeleteResponse, error)

	// AlterContext alters the client context.
	AlterContext(context.Context, ...dcerpc.Option) error
}

epm interface.

func NewEpmClient

func NewEpmClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (EpmClient, error)

type EpmServer

type EpmServer interface {

	// ept_insert operation.
	Insert(context.Context, *InsertRequest) (*InsertResponse, error)

	// ept_delete operation.
	Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)

	// ept_lookup operation.
	Lookup(context.Context, *LookupRequest) (*LookupResponse, error)

	// ept_map operation.
	Map(context.Context, *MapRequest) (*MapResponse, error)

	// ept_lookup_handle_free operation.
	LookupHandleFree(context.Context, *LookupHandleFreeRequest) (*LookupHandleFreeResponse, error)

	// ept_inq_object operation.
	InquireObject(context.Context, *InquireObjectRequest) (*InquireObjectResponse, error)

	// ept_mgmt_delete operation.
	ManagementDelete(context.Context, *ManagementDeleteRequest) (*ManagementDeleteResponse, error)
}

epm server interface.

type InquireObjectRequest

type InquireObjectRequest struct {
}

InquireObjectRequest structure represents the ept_inq_object operation request

func (*InquireObjectRequest) MarshalNDR

func (o *InquireObjectRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*InquireObjectRequest) UnmarshalNDR

func (o *InquireObjectRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type InquireObjectResponse

type InquireObjectResponse struct {
	Object *dtyp.GUID `idl:"name:ept_object" json:"object"`
	Status uint32     `idl:"name:status" json:"status"`
}

InquireObjectResponse structure represents the ept_inq_object operation response

func (*InquireObjectResponse) MarshalNDR

func (o *InquireObjectResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*InquireObjectResponse) UnmarshalNDR

func (o *InquireObjectResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type InsertRequest

type InsertRequest struct {
	EntriesLength uint32   `idl:"name:num_ents" json:"entries_length"`
	Entries       []*Entry `idl:"name:entries;size_is:(num_ents)" json:"entries"`
	Replace       bool     `idl:"name:replace" json:"replace"`
}

InsertRequest structure represents the ept_insert operation request

func (*InsertRequest) MarshalNDR

func (o *InsertRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*InsertRequest) UnmarshalNDR

func (o *InsertRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type InsertResponse

type InsertResponse struct {
	Status uint32 `idl:"name:status" json:"status"`
}

InsertResponse structure represents the ept_insert operation response

func (*InsertResponse) MarshalNDR

func (o *InsertResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*InsertResponse) UnmarshalNDR

func (o *InsertResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type LookupHandle

type LookupHandle dcetypes.ContextHandle

LookupHandle structure represents ept_lookup_handle_t RPC structure.

func (*LookupHandle) ContextHandle

func (o *LookupHandle) ContextHandle() *dcetypes.ContextHandle

func (*LookupHandle) MarshalNDR

func (o *LookupHandle) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*LookupHandle) UnmarshalNDR

func (o *LookupHandle) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type LookupHandleFreeRequest

type LookupHandleFreeRequest struct {
	EntryHandle *LookupHandle `idl:"name:entry_handle" json:"entry_handle"`
}

LookupHandleFreeRequest structure represents the ept_lookup_handle_free operation request

func (*LookupHandleFreeRequest) MarshalNDR

func (o *LookupHandleFreeRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*LookupHandleFreeRequest) UnmarshalNDR

func (o *LookupHandleFreeRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type LookupHandleFreeResponse

type LookupHandleFreeResponse struct {
	EntryHandle *LookupHandle `idl:"name:entry_handle" json:"entry_handle"`
	Status      uint32        `idl:"name:status" json:"status"`
}

LookupHandleFreeResponse structure represents the ept_lookup_handle_free operation response

func (*LookupHandleFreeResponse) MarshalNDR

func (o *LookupHandleFreeResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*LookupHandleFreeResponse) UnmarshalNDR

func (o *LookupHandleFreeResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type LookupRequest

type LookupRequest struct {
	InquiryType uint32                `idl:"name:inquiry_type" json:"inquiry_type"`
	Object      *dtyp.GUID            `idl:"name:object" json:"object"`
	InterfaceID *dcetypes.InterfaceID `idl:"name:interface_id" json:"interface_id"`
	VersOption  uint32                `idl:"name:vers_option" json:"vers_option"`
	EntryHandle *LookupHandle         `idl:"name:entry_handle" json:"entry_handle"`
	MaxEntries  uint32                `idl:"name:max_ents" json:"max_entries"`
}

LookupRequest structure represents the ept_lookup operation request

func (*LookupRequest) MarshalNDR

func (o *LookupRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*LookupRequest) UnmarshalNDR

func (o *LookupRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type LookupResponse

type LookupResponse struct {
	EntryHandle   *LookupHandle `idl:"name:entry_handle" json:"entry_handle"`
	EntriesLength uint32        `idl:"name:num_ents" json:"entries_length"`
	Entries       []*Entry      `idl:"name:entries;size_is:(max_ents);length_is:(num_ents)" json:"entries"`
	Status        uint32        `idl:"name:status" json:"status"`
}

LookupResponse structure represents the ept_lookup operation response

func (*LookupResponse) MarshalNDR

func (o *LookupResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*LookupResponse) UnmarshalNDR

func (o *LookupResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ManagementDeleteRequest

type ManagementDeleteRequest struct {
	ObjectSpeced bool            `idl:"name:object_speced" json:"object_speced"`
	Object       *dtyp.GUID      `idl:"name:object" json:"object"`
	Tower        *dcetypes.Tower `idl:"name:tower" json:"tower"`
}

ManagementDeleteRequest structure represents the ept_mgmt_delete operation request

func (*ManagementDeleteRequest) MarshalNDR

func (o *ManagementDeleteRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ManagementDeleteRequest) UnmarshalNDR

func (o *ManagementDeleteRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ManagementDeleteResponse

type ManagementDeleteResponse struct {
	Status uint32 `idl:"name:status" json:"status"`
}

ManagementDeleteResponse structure represents the ept_mgmt_delete operation response

func (*ManagementDeleteResponse) MarshalNDR

func (o *ManagementDeleteResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ManagementDeleteResponse) UnmarshalNDR

func (o *ManagementDeleteResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type MapRequest

type MapRequest struct {
	Object      *dtyp.GUID      `idl:"name:object" json:"object"`
	MapTower    *dcetypes.Tower `idl:"name:map_tower" json:"map_tower"`
	EntryHandle *LookupHandle   `idl:"name:entry_handle" json:"entry_handle"`
	MaxTowers   uint32          `idl:"name:max_towers" json:"max_towers"`
}

MapRequest structure represents the ept_map operation request

func (*MapRequest) MarshalNDR

func (o *MapRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MapRequest) UnmarshalNDR

func (o *MapRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type MapResponse

type MapResponse struct {
	EntryHandle  *LookupHandle     `idl:"name:entry_handle" json:"entry_handle"`
	TowersLength uint32            `idl:"name:num_towers" json:"towers_length"`
	Towers       []*dcetypes.Tower `idl:"name:towers;size_is:(max_towers);length_is:(num_towers)" json:"towers"`
	Status       uint32            `idl:"name:status" json:"status"`
}

MapResponse structure represents the ept_map operation response

func (*MapResponse) MarshalNDR

func (o *MapResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MapResponse) UnmarshalNDR

func (o *MapResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type Mapper

type Mapper struct {
	WellKnown well_known.WellKnownMapper
	// contains filtered or unexported fields
}

func (*Mapper) Map

func (m *Mapper) Map(ctx context.Context, in *dcerpc.Binding) ([]dcerpc.StringBinding, error)

func (*Mapper) WithErr

func (m *Mapper) WithErr(err error) *Mapper

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL