ua

package
v0.3.7 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2022 License: MIT Imports: 15 Imported by: 100

Documentation

Overview

Package ua defines the structures, decoders and encoder for built-in data types described in Part 6 Section 5 Data encoding and for services in OPC UA Binary Protocol.

Index

Constants

View Source
const (
	DataValueValue             = 0x1
	DataValueStatusCode        = 0x2
	DataValueSourceTimestamp   = 0x4
	DataValueServerTimestamp   = 0x8
	DataValueSourcePicoseconds = 0x10
	DataValueServerPicoseconds = 0x20
)

These flags define which fields of a DataValue are set. Bits are or'ed together if multiple fields are set.

View Source
const (
	LocalizedTextLocale = 0x1
	LocalizedTextText   = 0x2
)

These flags define which fields of a LocalizedText are set. Bits are or'ed together if multiple fields are set.

View Source
const (
	DiagnosticInfoSymbolicID          = 0x1
	DiagnosticInfoNamespaceURI        = 0x2
	DiagnosticInfoLocalizedText       = 0x4
	DiagnosticInfoLocale              = 0x8
	DiagnosticInfoAdditionalInfo      = 0x10
	DiagnosticInfoInnerStatusCode     = 0x20
	DiagnosticInfoInnerDiagnosticInfo = 0x40
)

These flags define which fields of a DiagnosticInfo are set. Bits are or'ed together if multiple fields are set.

View Source
const (
	SecurityPolicyURIPrefix              = "http://opcfoundation.org/UA/SecurityPolicy#"
	SecurityPolicyURINone                = "http://opcfoundation.org/UA/SecurityPolicy#None"
	SecurityPolicyURIBasic128Rsa15       = "http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15"
	SecurityPolicyURIBasic256            = "http://opcfoundation.org/UA/SecurityPolicy#Basic256"
	SecurityPolicyURIBasic256Sha256      = "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"
	SecurityPolicyURIAes128Sha256RsaOaep = "http://opcfoundation.org/UA/SecurityPolicy#Aes128_Sha256_RsaOaep"
	SecurityPolicyURIAes256Sha256RsaPss  = "http://opcfoundation.org/UA/SecurityPolicy#Aes256_Sha256_RsaPss"
)
View Source
const (
	ExtensionObjectEmpty  = 0
	ExtensionObjectBinary = 1
	ExtensionObjectXML    = 2
)

These flags define the value type of an ExtensionObject. They cannot be combined.

View Source
const (
	ServiceLevelSymbolicID         = 0x1
	ServiceLevelLocalizedText      = 0x2
	ServiceLevelAdditionalInfo     = 0x4
	ServiceLevelInnerStatusCode    = 0x8
	ServiceLevelInnerDiagnostics   = 0x10
	OperationLevelSymbolicID       = 0x20
	OperationLevelLocalizedText    = 0x40
	OperationLevelAdditionalInfo   = 0x80
	OperationLevelInnerStatusCode  = 0x100
	OperationLevelInnerDiagnostics = 0x200

	ServiceLevelAll = ServiceLevelSymbolicID |
		ServiceLevelLocalizedText |
		ServiceLevelAdditionalInfo |
		ServiceLevelInnerStatusCode |
		ServiceLevelInnerDiagnostics

	OperationLevelAll = OperationLevelSymbolicID |
		OperationLevelLocalizedText |
		OperationLevelAdditionalInfo |
		OperationLevelInnerStatusCode |
		OperationLevelInnerDiagnostics

	ReturnDiagnosticsAll = ServiceLevelAll | OperationLevelAll
)

These flags define the options for the ReturnDiagnostics field of the RequestHeader. Bits are or'ed together if multiple fields are set.

View Source
const (
	// VariantArrayDimensions flags whether the array has more than one dimension
	VariantArrayDimensions = 0x40

	// VariantArrayValues flags whether the value is an array.
	VariantArrayValues = 0x80
)

Variables

View Source
var (
	// MaxVariantArrayLength sets a limit on the number of elements in array
	MaxVariantArrayLength = 0xffff
)
View Source
var SecurityPolicyURIs = map[string]string{
	"None":                SecurityPolicyURINone,
	"Basic128Rsa15":       SecurityPolicyURIBasic128Rsa15,
	"Basic256":            SecurityPolicyURIBasic256,
	"Basic256Sha256":      SecurityPolicyURIBasic256Sha256,
	"Aes128Sha256RsaOaep": SecurityPolicyURIAes128Sha256RsaOaep,
	"Aes256Sha256RsaPss":  SecurityPolicyURIAes256Sha256RsaPss,
}
View Source
var StatusCodes = map[StatusCode]StatusCodeDesc{}/* 238 elements not displayed */

StatusCodes maps status codes to the status code error types.

Functions

func Decode

func Decode(b []byte, v interface{}) (int, error)

func Encode

func Encode(v interface{}) ([]byte, error)

func FormatSecurityPolicyURI

func FormatSecurityPolicyURI(policy string) string

FormatSecurityPolicy converts a short name for a security policy into a canonical policy URI.

func RegisterExtensionObject added in v0.1.3

func RegisterExtensionObject(typeID *NodeID, v interface{})

RegisterExtensionObject registers a new extension object type. It panics if the type or the id is already registered.

func RegisterService added in v0.1.3

func RegisterService(typeID uint16, v interface{})

RegisterService registers a new service object type. It panics if the type or the id is already registered.

func ServiceTypeID

func ServiceTypeID(v interface{}) uint16

ServiceTypeID returns the id of the service object type as registered with RegisterService. If the service object is not known the function returns 0.

Types

type AccessLevelExType

type AccessLevelExType uint32
const (
	AccessLevelExTypeNone               AccessLevelExType = 0
	AccessLevelExTypeCurrentRead        AccessLevelExType = 1
	AccessLevelExTypeCurrentWrite       AccessLevelExType = 2
	AccessLevelExTypeHistoryRead        AccessLevelExType = 4
	AccessLevelExTypeHistoryWrite       AccessLevelExType = 8
	AccessLevelExTypeSemanticChange     AccessLevelExType = 16
	AccessLevelExTypeStatusWrite        AccessLevelExType = 32
	AccessLevelExTypeTimestampWrite     AccessLevelExType = 64
	AccessLevelExTypeNonatomicRead      AccessLevelExType = 256
	AccessLevelExTypeNonatomicWrite     AccessLevelExType = 512
	AccessLevelExTypeWriteFullArrayOnly AccessLevelExType = 1024
)

func AccessLevelExTypeFromString

func AccessLevelExTypeFromString(s string) AccessLevelExType

func (AccessLevelExType) String

func (i AccessLevelExType) String() string

type AccessLevelType

type AccessLevelType uint8
const (
	AccessLevelTypeNone           AccessLevelType = 0
	AccessLevelTypeCurrentRead    AccessLevelType = 1
	AccessLevelTypeCurrentWrite   AccessLevelType = 2
	AccessLevelTypeHistoryRead    AccessLevelType = 4
	AccessLevelTypeHistoryWrite   AccessLevelType = 8
	AccessLevelTypeSemanticChange AccessLevelType = 16
	AccessLevelTypeStatusWrite    AccessLevelType = 32
	AccessLevelTypeTimestampWrite AccessLevelType = 64
)

func AccessLevelTypeFromString

func AccessLevelTypeFromString(s string) AccessLevelType

func (AccessLevelType) String

func (i AccessLevelType) String() string

type ActivateSessionRequest

type ActivateSessionRequest struct {
	RequestHeader              *RequestHeader
	ClientSignature            *SignatureData
	ClientSoftwareCertificates []*SignedSoftwareCertificate
	LocaleIDs                  []string
	UserIdentityToken          *ExtensionObject
	UserTokenSignature         *SignatureData
}

func (*ActivateSessionRequest) Header added in v0.1.6

func (*ActivateSessionRequest) SetHeader added in v0.1.6

func (t *ActivateSessionRequest) SetHeader(h *RequestHeader)

type ActivateSessionResponse

type ActivateSessionResponse struct {
	ResponseHeader  *ResponseHeader
	ServerNonce     []byte
	Results         []StatusCode
	DiagnosticInfos []*DiagnosticInfo
}

func (*ActivateSessionResponse) Header added in v0.1.6

func (*ActivateSessionResponse) SetHeader added in v0.1.6

func (t *ActivateSessionResponse) SetHeader(h *ResponseHeader)

type AddNodesItem

type AddNodesItem struct {
	ParentNodeID       *ExpandedNodeID
	ReferenceTypeID    *NodeID
	RequestedNewNodeID *ExpandedNodeID
	BrowseName         *QualifiedName
	NodeClass          NodeClass
	NodeAttributes     *ExtensionObject
	TypeDefinition     *ExpandedNodeID
}

type AddNodesRequest

type AddNodesRequest struct {
	RequestHeader *RequestHeader
	NodesToAdd    []*AddNodesItem
}

func (*AddNodesRequest) Header added in v0.1.6

func (t *AddNodesRequest) Header() *RequestHeader

func (*AddNodesRequest) SetHeader added in v0.1.6

func (t *AddNodesRequest) SetHeader(h *RequestHeader)

type AddNodesResponse

type AddNodesResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []*AddNodesResult
	DiagnosticInfos []*DiagnosticInfo
}

func (*AddNodesResponse) Header added in v0.1.6

func (t *AddNodesResponse) Header() *ResponseHeader

func (*AddNodesResponse) SetHeader added in v0.1.6

func (t *AddNodesResponse) SetHeader(h *ResponseHeader)

type AddNodesResult

type AddNodesResult struct {
	StatusCode  StatusCode
	AddedNodeID *NodeID
}

type AddReferencesItem

type AddReferencesItem struct {
	SourceNodeID    *NodeID
	ReferenceTypeID *NodeID
	IsForward       bool
	TargetServerURI string
	TargetNodeID    *ExpandedNodeID
	TargetNodeClass NodeClass
}

type AddReferencesRequest

type AddReferencesRequest struct {
	RequestHeader   *RequestHeader
	ReferencesToAdd []*AddReferencesItem
}

func (*AddReferencesRequest) Header added in v0.1.6

func (t *AddReferencesRequest) Header() *RequestHeader

func (*AddReferencesRequest) SetHeader added in v0.1.6

func (t *AddReferencesRequest) SetHeader(h *RequestHeader)

type AddReferencesResponse

type AddReferencesResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []StatusCode
	DiagnosticInfos []*DiagnosticInfo
}

func (*AddReferencesResponse) Header added in v0.1.6

func (*AddReferencesResponse) SetHeader added in v0.1.6

func (t *AddReferencesResponse) SetHeader(h *ResponseHeader)

type AdditionalParametersType

type AdditionalParametersType struct {
	Parameters []*KeyValuePair
}

type AggregateConfiguration

type AggregateConfiguration struct {
	UseServerCapabilitiesDefaults bool
	TreatUncertainAsBad           bool
	PercentDataBad                uint8
	PercentDataGood               uint8
	UseSlopedExtrapolation        bool
}

type AggregateFilter

type AggregateFilter struct {
	StartTime              time.Time
	AggregateType          *NodeID
	ProcessingInterval     float64
	AggregateConfiguration *AggregateConfiguration
}

type AggregateFilterResult

type AggregateFilterResult struct {
	RevisedStartTime              time.Time
	RevisedProcessingInterval     float64
	RevisedAggregateConfiguration *AggregateConfiguration
}

type Annotation

type Annotation struct {
	Message        string
	UserName       string
	AnnotationTime time.Time
}

type AnonymousIdentityToken

type AnonymousIdentityToken struct {
	PolicyID string
}

type ApplicationDescription

type ApplicationDescription struct {
	ApplicationURI      string
	ProductURI          string
	ApplicationName     *LocalizedText
	ApplicationType     ApplicationType
	GatewayServerURI    string
	DiscoveryProfileURI string
	DiscoveryURLs       []string
}

type ApplicationType

type ApplicationType uint32
const (
	ApplicationTypeServer          ApplicationType = 0
	ApplicationTypeClient          ApplicationType = 1
	ApplicationTypeClientAndServer ApplicationType = 2
	ApplicationTypeDiscoveryServer ApplicationType = 3
)

func ApplicationTypeFromString

func ApplicationTypeFromString(s string) ApplicationType

func (ApplicationType) String

func (i ApplicationType) String() string

type Argument

type Argument struct {
	Name            string
	DataType        *NodeID
	ValueRank       int32
	ArrayDimensions []uint32
	Description     *LocalizedText
}

type AttributeID

type AttributeID uint32

Identifiers assigned to Attributes.

Specification: Part 6, A.1

const (
	AttributeIDInvalid                 AttributeID = 0
	AttributeIDNodeID                  AttributeID = 1
	AttributeIDNodeClass               AttributeID = 2
	AttributeIDBrowseName              AttributeID = 3
	AttributeIDDisplayName             AttributeID = 4
	AttributeIDDescription             AttributeID = 5
	AttributeIDWriteMask               AttributeID = 6
	AttributeIDUserWriteMask           AttributeID = 7
	AttributeIDIsAbstract              AttributeID = 8
	AttributeIDSymmetric               AttributeID = 9
	AttributeIDInverseName             AttributeID = 10
	AttributeIDContainsNoLoops         AttributeID = 11
	AttributeIDEventNotifier           AttributeID = 12
	AttributeIDValue                   AttributeID = 13
	AttributeIDDataType                AttributeID = 14
	AttributeIDValueRank               AttributeID = 15
	AttributeIDArrayDimensions         AttributeID = 16
	AttributeIDAccessLevel             AttributeID = 17
	AttributeIDUserAccessLevel         AttributeID = 18
	AttributeIDMinimumSamplingInterval AttributeID = 19
	AttributeIDHistorizing             AttributeID = 20
	AttributeIDExecutable              AttributeID = 21
	AttributeIDUserExecutable          AttributeID = 22
	AttributeIDDataTypeDefinition      AttributeID = 23
	AttributeIDRolePermissions         AttributeID = 24
	AttributeIDUserRolePermissions     AttributeID = 25
	AttributeIDAccessRestrictions      AttributeID = 26
	AttributeIDAccessLevelEx           AttributeID = 27
)

func (AttributeID) String

func (i AttributeID) String() string

type AttributeOperand

type AttributeOperand struct {
	NodeID      *NodeID
	Alias       string
	BrowsePath  *RelativePath
	AttributeID AttributeID
	IndexRange  string
}

type AttributeWriteMask

type AttributeWriteMask uint32
const (
	AttributeWriteMaskNone                    AttributeWriteMask = 0
	AttributeWriteMaskAccessLevel             AttributeWriteMask = 1
	AttributeWriteMaskArrayDimensions         AttributeWriteMask = 2
	AttributeWriteMaskBrowseName              AttributeWriteMask = 4
	AttributeWriteMaskContainsNoLoops         AttributeWriteMask = 8
	AttributeWriteMaskDataType                AttributeWriteMask = 16
	AttributeWriteMaskDescription             AttributeWriteMask = 32
	AttributeWriteMaskDisplayName             AttributeWriteMask = 64
	AttributeWriteMaskEventNotifier           AttributeWriteMask = 128
	AttributeWriteMaskExecutable              AttributeWriteMask = 256
	AttributeWriteMaskHistorizing             AttributeWriteMask = 512
	AttributeWriteMaskInverseName             AttributeWriteMask = 1024
	AttributeWriteMaskIsAbstract              AttributeWriteMask = 2048
	AttributeWriteMaskMinimumSamplingInterval AttributeWriteMask = 4096
	AttributeWriteMaskNodeClass               AttributeWriteMask = 8192
	AttributeWriteMaskNodeID                  AttributeWriteMask = 16384
	AttributeWriteMaskSymmetric               AttributeWriteMask = 32768
	AttributeWriteMaskUserAccessLevel         AttributeWriteMask = 65536
	AttributeWriteMaskUserExecutable          AttributeWriteMask = 131072
	AttributeWriteMaskUserWriteMask           AttributeWriteMask = 262144
	AttributeWriteMaskValueRank               AttributeWriteMask = 524288
	AttributeWriteMaskWriteMask               AttributeWriteMask = 1048576
	AttributeWriteMaskValueForVariableType    AttributeWriteMask = 2097152
	AttributeWriteMaskDataTypeDefinition      AttributeWriteMask = 4194304
	AttributeWriteMaskRolePermissions         AttributeWriteMask = 8388608
	AttributeWriteMaskAccessRestrictions      AttributeWriteMask = 16777216
	AttributeWriteMaskAccessLevelEx           AttributeWriteMask = 33554432
)

func AttributeWriteMaskFromString

func AttributeWriteMaskFromString(s string) AttributeWriteMask

func (AttributeWriteMask) String

func (i AttributeWriteMask) String() string

type AxisInformation

type AxisInformation struct {
	EngineeringUnits *EUInformation
	EURange          *Range
	Title            *LocalizedText
	AxisScaleType    AxisScaleEnumeration
	AxisSteps        []float64
}

type AxisScaleEnumeration

type AxisScaleEnumeration uint32
const (
	AxisScaleEnumerationLinear AxisScaleEnumeration = 0
	AxisScaleEnumerationLog    AxisScaleEnumeration = 1
	AxisScaleEnumerationLn     AxisScaleEnumeration = 2
)

func AxisScaleEnumerationFromString

func AxisScaleEnumerationFromString(s string) AxisScaleEnumeration

func (AxisScaleEnumeration) String

func (i AxisScaleEnumeration) String() string

type BinaryDecoder

type BinaryDecoder interface {
	Decode([]byte) (int, error)
}

type BinaryEncoder

type BinaryEncoder interface {
	Encode() ([]byte, error)
}

BinaryEncoder is the interface implemented by an object that can marshal itself into a binary OPC/UA representation.

type BrokerConnectionTransportDataType

type BrokerConnectionTransportDataType struct {
	ResourceURI              string
	AuthenticationProfileURI string
}

type BrokerDataSetReaderTransportDataType

type BrokerDataSetReaderTransportDataType struct {
	QueueName                  string
	ResourceURI                string
	AuthenticationProfileURI   string
	RequestedDeliveryGuarantee BrokerTransportQoS
	MetaDataQueueName          string
}

type BrokerDataSetWriterTransportDataType

type BrokerDataSetWriterTransportDataType struct {
	QueueName                  string
	ResourceURI                string
	AuthenticationProfileURI   string
	RequestedDeliveryGuarantee BrokerTransportQoS
	MetaDataQueueName          string
	MetaDataUpdateTime         float64
}

type BrokerTransportQoS

type BrokerTransportQoS uint32
const (
	BrokerTransportQoSNotSpecified BrokerTransportQoS = 0
	BrokerTransportQoSBestEffort   BrokerTransportQoS = 1
	BrokerTransportQoSAtLeastOnce  BrokerTransportQoS = 2
	BrokerTransportQoSAtMostOnce   BrokerTransportQoS = 3
	BrokerTransportQoSExactlyOnce  BrokerTransportQoS = 4
)

func BrokerTransportQoSFromString

func BrokerTransportQoSFromString(s string) BrokerTransportQoS

func (BrokerTransportQoS) String

func (i BrokerTransportQoS) String() string

type BrokerWriterGroupTransportDataType

type BrokerWriterGroupTransportDataType struct {
	QueueName                  string
	ResourceURI                string
	AuthenticationProfileURI   string
	RequestedDeliveryGuarantee BrokerTransportQoS
}

type BrowseDescription

type BrowseDescription struct {
	NodeID          *NodeID
	BrowseDirection BrowseDirection
	ReferenceTypeID *NodeID
	IncludeSubtypes bool
	NodeClassMask   uint32
	ResultMask      uint32
}

type BrowseDirection

type BrowseDirection uint32
const (
	BrowseDirectionForward BrowseDirection = 0
	BrowseDirectionInverse BrowseDirection = 1
	BrowseDirectionBoth    BrowseDirection = 2
	BrowseDirectionInvalid BrowseDirection = 3
)

func BrowseDirectionFromString

func BrowseDirectionFromString(s string) BrowseDirection

func (BrowseDirection) String

func (i BrowseDirection) String() string

type BrowseNextRequest

type BrowseNextRequest struct {
	RequestHeader             *RequestHeader
	ReleaseContinuationPoints bool
	ContinuationPoints        [][]byte
}

func (*BrowseNextRequest) Header added in v0.1.6

func (t *BrowseNextRequest) Header() *RequestHeader

func (*BrowseNextRequest) SetHeader added in v0.1.6

func (t *BrowseNextRequest) SetHeader(h *RequestHeader)

type BrowseNextResponse

type BrowseNextResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []*BrowseResult
	DiagnosticInfos []*DiagnosticInfo
}

func (*BrowseNextResponse) Header added in v0.1.6

func (t *BrowseNextResponse) Header() *ResponseHeader

func (*BrowseNextResponse) SetHeader added in v0.1.6

func (t *BrowseNextResponse) SetHeader(h *ResponseHeader)

type BrowsePath

type BrowsePath struct {
	StartingNode *NodeID
	RelativePath *RelativePath
}

type BrowsePathResult

type BrowsePathResult struct {
	StatusCode StatusCode
	Targets    []*BrowsePathTarget
}

type BrowsePathTarget

type BrowsePathTarget struct {
	TargetID           *ExpandedNodeID
	RemainingPathIndex uint32
}

type BrowseRequest

type BrowseRequest struct {
	RequestHeader                 *RequestHeader
	View                          *ViewDescription
	RequestedMaxReferencesPerNode uint32
	NodesToBrowse                 []*BrowseDescription
}

func (*BrowseRequest) Header added in v0.1.6

func (t *BrowseRequest) Header() *RequestHeader

func (*BrowseRequest) SetHeader added in v0.1.6

func (t *BrowseRequest) SetHeader(h *RequestHeader)

type BrowseResponse

type BrowseResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []*BrowseResult
	DiagnosticInfos []*DiagnosticInfo
}

func (*BrowseResponse) Header added in v0.1.6

func (t *BrowseResponse) Header() *ResponseHeader

func (*BrowseResponse) SetHeader added in v0.1.6

func (t *BrowseResponse) SetHeader(h *ResponseHeader)

type BrowseResult

type BrowseResult struct {
	StatusCode        StatusCode
	ContinuationPoint []byte
	References        []*ReferenceDescription
}

type BrowseResultMask

type BrowseResultMask uint32
const (
	BrowseResultMaskNone              BrowseResultMask = 0
	BrowseResultMaskReferenceTypeID   BrowseResultMask = 1
	BrowseResultMaskIsForward         BrowseResultMask = 2
	BrowseResultMaskNodeClass         BrowseResultMask = 4
	BrowseResultMaskBrowseName        BrowseResultMask = 8
	BrowseResultMaskDisplayName       BrowseResultMask = 16
	BrowseResultMaskTypeDefinition    BrowseResultMask = 32
	BrowseResultMaskAll               BrowseResultMask = 63
	BrowseResultMaskReferenceTypeInfo BrowseResultMask = 3
	BrowseResultMaskTargetInfo        BrowseResultMask = 60
)

func BrowseResultMaskFromString

func BrowseResultMaskFromString(s string) BrowseResultMask

func (BrowseResultMask) String

func (i BrowseResultMask) String() string

type Buffer

type Buffer struct {
	// contains filtered or unexported fields
}

func NewBuffer

func NewBuffer(b []byte) *Buffer

func (*Buffer) Bytes

func (b *Buffer) Bytes() []byte

func (*Buffer) Error

func (b *Buffer) Error() error

func (*Buffer) Len

func (b *Buffer) Len() int

func (*Buffer) Pos

func (b *Buffer) Pos() int

func (*Buffer) ReadBool

func (b *Buffer) ReadBool() bool

func (*Buffer) ReadByte

func (b *Buffer) ReadByte() byte

func (*Buffer) ReadBytes

func (b *Buffer) ReadBytes() []byte

func (*Buffer) ReadFloat32

func (b *Buffer) ReadFloat32() float32

func (*Buffer) ReadFloat64

func (b *Buffer) ReadFloat64() float64

func (*Buffer) ReadInt16

func (b *Buffer) ReadInt16() int16

func (*Buffer) ReadInt32

func (b *Buffer) ReadInt32() int32

func (*Buffer) ReadInt64

func (b *Buffer) ReadInt64() int64

func (*Buffer) ReadInt8

func (b *Buffer) ReadInt8() int8

func (*Buffer) ReadN

func (b *Buffer) ReadN(n int) []byte

func (*Buffer) ReadString

func (b *Buffer) ReadString() string

func (*Buffer) ReadStruct

func (b *Buffer) ReadStruct(r interface{})

func (*Buffer) ReadTime

func (b *Buffer) ReadTime() time.Time

func (*Buffer) ReadUint16

func (b *Buffer) ReadUint16() uint16

func (*Buffer) ReadUint32

func (b *Buffer) ReadUint32() uint32

func (*Buffer) ReadUint64

func (b *Buffer) ReadUint64() uint64

func (*Buffer) Write

func (b *Buffer) Write(d []byte)

func (*Buffer) WriteBool

func (b *Buffer) WriteBool(v bool)

func (*Buffer) WriteByte

func (b *Buffer) WriteByte(n byte)

func (*Buffer) WriteByteString

func (b *Buffer) WriteByteString(d []byte)

func (*Buffer) WriteFloat32

func (b *Buffer) WriteFloat32(n float32)

func (*Buffer) WriteFloat64

func (b *Buffer) WriteFloat64(n float64)

func (*Buffer) WriteInt16

func (b *Buffer) WriteInt16(n int16)

func (*Buffer) WriteInt32

func (b *Buffer) WriteInt32(n int32)

func (*Buffer) WriteInt64

func (b *Buffer) WriteInt64(n int64)

func (*Buffer) WriteInt8

func (b *Buffer) WriteInt8(n int8)

func (*Buffer) WriteString

func (b *Buffer) WriteString(s string)

func (*Buffer) WriteStruct

func (b *Buffer) WriteStruct(w interface{})

func (*Buffer) WriteTime

func (b *Buffer) WriteTime(v time.Time)

func (*Buffer) WriteUint16

func (b *Buffer) WriteUint16(n uint16)

func (*Buffer) WriteUint32

func (b *Buffer) WriteUint32(n uint32)

func (*Buffer) WriteUint64

func (b *Buffer) WriteUint64(n uint64)

func (*Buffer) WriteUint8

func (b *Buffer) WriteUint8(n uint8)

type BuildInfo

type BuildInfo struct {
	ProductURI       string
	ManufacturerName string
	ProductName      string
	SoftwareVersion  string
	BuildNumber      string
	BuildDate        time.Time
}

type ByteArray added in v0.2.0

type ByteArray []byte

ByteArray encodes a byte array as an OPC/UA array of Byte.

type CallMethodRequest

type CallMethodRequest struct {
	ObjectID       *NodeID
	MethodID       *NodeID
	InputArguments []*Variant
}

type CallMethodResult

type CallMethodResult struct {
	StatusCode                   StatusCode
	InputArgumentResults         []StatusCode
	InputArgumentDiagnosticInfos []*DiagnosticInfo
	OutputArguments              []*Variant
}

type CallRequest

type CallRequest struct {
	RequestHeader *RequestHeader
	MethodsToCall []*CallMethodRequest
}

func (*CallRequest) Header added in v0.1.6

func (t *CallRequest) Header() *RequestHeader

func (*CallRequest) SetHeader added in v0.1.6

func (t *CallRequest) SetHeader(h *RequestHeader)

type CallResponse

type CallResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []*CallMethodResult
	DiagnosticInfos []*DiagnosticInfo
}

func (*CallResponse) Header added in v0.1.6

func (t *CallResponse) Header() *ResponseHeader

func (*CallResponse) SetHeader added in v0.1.6

func (t *CallResponse) SetHeader(h *ResponseHeader)

type CancelRequest

type CancelRequest struct {
	RequestHeader *RequestHeader
	RequestHandle uint32
}

func (*CancelRequest) Header added in v0.1.6

func (t *CancelRequest) Header() *RequestHeader

func (*CancelRequest) SetHeader added in v0.1.6

func (t *CancelRequest) SetHeader(h *RequestHeader)

type CancelResponse

type CancelResponse struct {
	ResponseHeader *ResponseHeader
	CancelCount    uint32
}

func (*CancelResponse) Header added in v0.1.6

func (t *CancelResponse) Header() *ResponseHeader

func (*CancelResponse) SetHeader added in v0.1.6

func (t *CancelResponse) SetHeader(h *ResponseHeader)

type ChannelSecurityToken

type ChannelSecurityToken struct {
	ChannelID       uint32
	TokenID         uint32
	CreatedAt       time.Time
	RevisedLifetime uint32
}

type CloseSecureChannelRequest

type CloseSecureChannelRequest struct {
	RequestHeader *RequestHeader
}

func (*CloseSecureChannelRequest) Header added in v0.1.6

func (*CloseSecureChannelRequest) SetHeader added in v0.1.6

func (t *CloseSecureChannelRequest) SetHeader(h *RequestHeader)

type CloseSecureChannelResponse

type CloseSecureChannelResponse struct {
	ResponseHeader *ResponseHeader
}

func (*CloseSecureChannelResponse) Header added in v0.1.6

func (*CloseSecureChannelResponse) SetHeader added in v0.1.6

func (t *CloseSecureChannelResponse) SetHeader(h *ResponseHeader)

type CloseSessionRequest

type CloseSessionRequest struct {
	RequestHeader       *RequestHeader
	DeleteSubscriptions bool
}

func (*CloseSessionRequest) Header added in v0.1.6

func (t *CloseSessionRequest) Header() *RequestHeader

func (*CloseSessionRequest) SetHeader added in v0.1.6

func (t *CloseSessionRequest) SetHeader(h *RequestHeader)

type CloseSessionResponse

type CloseSessionResponse struct {
	ResponseHeader *ResponseHeader
}

func (*CloseSessionResponse) Header added in v0.1.6

func (t *CloseSessionResponse) Header() *ResponseHeader

func (*CloseSessionResponse) SetHeader added in v0.1.6

func (t *CloseSessionResponse) SetHeader(h *ResponseHeader)

type ComplexNumberType

type ComplexNumberType struct {
	Real      float32
	Imaginary float32
}

type ConfigurationVersionDataType

type ConfigurationVersionDataType struct {
	MajorVersion uint32
	MinorVersion uint32
}

type ConnectionTransportDataType added in v0.1.12

type ConnectionTransportDataType struct{}

type ContentFilter

type ContentFilter struct {
	Elements []*ContentFilterElement
}

type ContentFilterElement

type ContentFilterElement struct {
	FilterOperator FilterOperator
	FilterOperands []*ExtensionObject
}

type ContentFilterElementResult

type ContentFilterElementResult struct {
	StatusCode             StatusCode
	OperandStatusCodes     []StatusCode
	OperandDiagnosticInfos []*DiagnosticInfo
}

type ContentFilterResult

type ContentFilterResult struct {
	ElementResults         []*ContentFilterElementResult
	ElementDiagnosticInfos []*DiagnosticInfo
}

type CreateMonitoredItemsRequest

type CreateMonitoredItemsRequest struct {
	RequestHeader      *RequestHeader
	SubscriptionID     uint32
	TimestampsToReturn TimestampsToReturn
	ItemsToCreate      []*MonitoredItemCreateRequest
}

func (*CreateMonitoredItemsRequest) Header added in v0.1.6

func (*CreateMonitoredItemsRequest) SetHeader added in v0.1.6

func (t *CreateMonitoredItemsRequest) SetHeader(h *RequestHeader)

type CreateMonitoredItemsResponse

type CreateMonitoredItemsResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []*MonitoredItemCreateResult
	DiagnosticInfos []*DiagnosticInfo
}

func (*CreateMonitoredItemsResponse) Header added in v0.1.6

func (*CreateMonitoredItemsResponse) SetHeader added in v0.1.6

type CreateSessionRequest

type CreateSessionRequest struct {
	RequestHeader           *RequestHeader
	ClientDescription       *ApplicationDescription
	ServerURI               string
	EndpointURL             string
	SessionName             string
	ClientNonce             []byte
	ClientCertificate       []byte
	RequestedSessionTimeout float64
	MaxResponseMessageSize  uint32
}

func (*CreateSessionRequest) Header added in v0.1.6

func (t *CreateSessionRequest) Header() *RequestHeader

func (*CreateSessionRequest) SetHeader added in v0.1.6

func (t *CreateSessionRequest) SetHeader(h *RequestHeader)

type CreateSessionResponse

type CreateSessionResponse struct {
	ResponseHeader             *ResponseHeader
	SessionID                  *NodeID
	AuthenticationToken        *NodeID
	RevisedSessionTimeout      float64
	ServerNonce                []byte
	ServerCertificate          []byte
	ServerEndpoints            []*EndpointDescription
	ServerSoftwareCertificates []*SignedSoftwareCertificate
	ServerSignature            *SignatureData
	MaxRequestMessageSize      uint32
}

func (*CreateSessionResponse) Header added in v0.1.6

func (*CreateSessionResponse) SetHeader added in v0.1.6

func (t *CreateSessionResponse) SetHeader(h *ResponseHeader)

type CreateSubscriptionRequest

type CreateSubscriptionRequest struct {
	RequestHeader               *RequestHeader
	RequestedPublishingInterval float64
	RequestedLifetimeCount      uint32
	RequestedMaxKeepAliveCount  uint32
	MaxNotificationsPerPublish  uint32
	PublishingEnabled           bool
	Priority                    uint8
}

func (*CreateSubscriptionRequest) Header added in v0.1.6

func (*CreateSubscriptionRequest) SetHeader added in v0.1.6

func (t *CreateSubscriptionRequest) SetHeader(h *RequestHeader)

type CreateSubscriptionResponse

type CreateSubscriptionResponse struct {
	ResponseHeader            *ResponseHeader
	SubscriptionID            uint32
	RevisedPublishingInterval float64
	RevisedLifetimeCount      uint32
	RevisedMaxKeepAliveCount  uint32
}

func (*CreateSubscriptionResponse) Header added in v0.1.6

func (*CreateSubscriptionResponse) SetHeader added in v0.1.6

func (t *CreateSubscriptionResponse) SetHeader(h *ResponseHeader)

type DataChangeFilter

type DataChangeFilter struct {
	Trigger       DataChangeTrigger
	DeadbandType  uint32
	DeadbandValue float64
}

type DataChangeNotification

type DataChangeNotification struct {
	MonitoredItems  []*MonitoredItemNotification
	DiagnosticInfos []*DiagnosticInfo
}

type DataChangeTrigger

type DataChangeTrigger uint32
const (
	DataChangeTriggerStatus               DataChangeTrigger = 0
	DataChangeTriggerStatusValue          DataChangeTrigger = 1
	DataChangeTriggerStatusValueTimestamp DataChangeTrigger = 2
)

func DataChangeTriggerFromString

func DataChangeTriggerFromString(s string) DataChangeTrigger

func (DataChangeTrigger) String

func (i DataChangeTrigger) String() string

type DataSetFieldContentMask

type DataSetFieldContentMask uint32
const (
	DataSetFieldContentMaskNone              DataSetFieldContentMask = 0
	DataSetFieldContentMaskStatusCode        DataSetFieldContentMask = 1
	DataSetFieldContentMaskSourceTimestamp   DataSetFieldContentMask = 2
	DataSetFieldContentMaskServerTimestamp   DataSetFieldContentMask = 4
	DataSetFieldContentMaskSourcePicoSeconds DataSetFieldContentMask = 8
	DataSetFieldContentMaskServerPicoSeconds DataSetFieldContentMask = 16
	DataSetFieldContentMaskRawData           DataSetFieldContentMask = 32
)

func DataSetFieldContentMaskFromString

func DataSetFieldContentMaskFromString(s string) DataSetFieldContentMask

func (DataSetFieldContentMask) String

func (i DataSetFieldContentMask) String() string

type DataSetFieldFlags

type DataSetFieldFlags uint16
const (
	DataSetFieldFlagsNone          DataSetFieldFlags = 0
	DataSetFieldFlagsPromotedField DataSetFieldFlags = 1
)

func DataSetFieldFlagsFromString

func DataSetFieldFlagsFromString(s string) DataSetFieldFlags

func (DataSetFieldFlags) String

func (i DataSetFieldFlags) String() string

type DataSetMetaDataType

type DataSetMetaDataType struct {
	Namespaces           []string
	StructureDataTypes   []*StructureDescription
	EnumDataTypes        []*EnumDescription
	SimpleDataTypes      []*SimpleTypeDescription
	Name                 string
	Description          *LocalizedText
	Fields               []*FieldMetaData
	DataSetClassID       *GUID
	ConfigurationVersion *ConfigurationVersionDataType
}

type DataSetOrderingType

type DataSetOrderingType uint32
const (
	DataSetOrderingTypeUndefined               DataSetOrderingType = 0
	DataSetOrderingTypeAscendingWriterID       DataSetOrderingType = 1
	DataSetOrderingTypeAscendingWriterIDSingle DataSetOrderingType = 2
)

func DataSetOrderingTypeFromString

func DataSetOrderingTypeFromString(s string) DataSetOrderingType

func (DataSetOrderingType) String

func (i DataSetOrderingType) String() string

type DataSetReaderDataType

type DataSetReaderDataType struct {
	Name                    string
	Enabled                 bool
	PublisherID             *Variant
	WriterGroupID           uint16
	DataSetWriterID         uint16
	DataSetMetaData         *DataSetMetaDataType
	DataSetFieldContentMask DataSetFieldContentMask
	MessageReceiveTimeout   float64
	KeyFrameCount           uint32
	HeaderLayoutURI         string
	SecurityMode            MessageSecurityMode
	SecurityGroupID         string
	SecurityKeyServices     []*EndpointDescription
	DataSetReaderProperties []*KeyValuePair
	TransportSettings       *ExtensionObject
	MessageSettings         *ExtensionObject
	SubscribedDataSet       *ExtensionObject
}

type DataSetReaderMessageDataType added in v0.1.12

type DataSetReaderMessageDataType struct{}

type DataSetReaderTransportDataType added in v0.1.12

type DataSetReaderTransportDataType struct{}

type DataSetWriterDataType

type DataSetWriterDataType struct {
	Name                    string
	Enabled                 bool
	DataSetWriterID         uint16
	DataSetFieldContentMask DataSetFieldContentMask
	KeyFrameCount           uint32
	DataSetName             string
	DataSetWriterProperties []*KeyValuePair
	TransportSettings       *ExtensionObject
	MessageSettings         *ExtensionObject
}

type DataSetWriterMessageDataType added in v0.1.12

type DataSetWriterMessageDataType struct{}

type DataSetWriterTransportDataType added in v0.1.12

type DataSetWriterTransportDataType struct{}

type DataTypeAttributes

type DataTypeAttributes struct {
	SpecifiedAttributes uint32
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	IsAbstract          bool
}

type DataTypeDescription

type DataTypeDescription struct {
	DataTypeID *NodeID
	Name       *QualifiedName
}

type DataTypeNode

type DataTypeNode struct {
	NodeID              *NodeID
	NodeClass           NodeClass
	BrowseName          *QualifiedName
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	RolePermissions     []*RolePermissionType
	UserRolePermissions []*RolePermissionType
	AccessRestrictions  uint16
	References          []*ReferenceNode
	IsAbstract          bool
	DataTypeDefinition  *ExtensionObject
}

type DataTypeSchemaHeader

type DataTypeSchemaHeader struct {
	Namespaces         []string
	StructureDataTypes []*StructureDescription
	EnumDataTypes      []*EnumDescription
	SimpleDataTypes    []*SimpleTypeDescription
}

type DataValue

type DataValue struct {
	EncodingMask      byte
	Value             *Variant
	Status            StatusCode
	SourceTimestamp   time.Time
	SourcePicoseconds uint16
	ServerTimestamp   time.Time
	ServerPicoseconds uint16
}

DataValue is always preceded by a mask that indicates which fields are present in the stream.

Specification: Part 6, 5.2.2.17

func (*DataValue) Decode

func (d *DataValue) Decode(b []byte) (int, error)

func (*DataValue) Encode

func (d *DataValue) Encode() ([]byte, error)

func (*DataValue) Has

func (d *DataValue) Has(mask byte) bool

func (*DataValue) UpdateMask

func (d *DataValue) UpdateMask()

type DatagramConnectionTransportDataType

type DatagramConnectionTransportDataType struct {
	DiscoveryAddress *ExtensionObject
}

type DatagramWriterGroupTransportDataType

type DatagramWriterGroupTransportDataType struct {
	MessageRepeatCount uint8
	MessageRepeatDelay float64
}

type DeadbandType

type DeadbandType uint32
const (
	DeadbandTypeNone     DeadbandType = 0
	DeadbandTypeAbsolute DeadbandType = 1
	DeadbandTypePercent  DeadbandType = 2
)

func DeadbandTypeFromString

func DeadbandTypeFromString(s string) DeadbandType

func (DeadbandType) String

func (i DeadbandType) String() string

type DecimalDataType

type DecimalDataType struct {
	Scale int16
	Value []byte
}

type DeleteAtTimeDetails

type DeleteAtTimeDetails struct {
	NodeID   *NodeID
	ReqTimes []time.Time
}

type DeleteEventDetails

type DeleteEventDetails struct {
	NodeID   *NodeID
	EventIDs [][]byte
}

type DeleteMonitoredItemsRequest

type DeleteMonitoredItemsRequest struct {
	RequestHeader    *RequestHeader
	SubscriptionID   uint32
	MonitoredItemIDs []uint32
}

func (*DeleteMonitoredItemsRequest) Header added in v0.1.6

func (*DeleteMonitoredItemsRequest) SetHeader added in v0.1.6

func (t *DeleteMonitoredItemsRequest) SetHeader(h *RequestHeader)

type DeleteMonitoredItemsResponse

type DeleteMonitoredItemsResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []StatusCode
	DiagnosticInfos []*DiagnosticInfo
}

func (*DeleteMonitoredItemsResponse) Header added in v0.1.6

func (*DeleteMonitoredItemsResponse) SetHeader added in v0.1.6

type DeleteNodesItem

type DeleteNodesItem struct {
	NodeID                 *NodeID
	DeleteTargetReferences bool
}

type DeleteNodesRequest

type DeleteNodesRequest struct {
	RequestHeader *RequestHeader
	NodesToDelete []*DeleteNodesItem
}

func (*DeleteNodesRequest) Header added in v0.1.6

func (t *DeleteNodesRequest) Header() *RequestHeader

func (*DeleteNodesRequest) SetHeader added in v0.1.6

func (t *DeleteNodesRequest) SetHeader(h *RequestHeader)

type DeleteNodesResponse

type DeleteNodesResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []StatusCode
	DiagnosticInfos []*DiagnosticInfo
}

func (*DeleteNodesResponse) Header added in v0.1.6

func (t *DeleteNodesResponse) Header() *ResponseHeader

func (*DeleteNodesResponse) SetHeader added in v0.1.6

func (t *DeleteNodesResponse) SetHeader(h *ResponseHeader)

type DeleteRawModifiedDetails

type DeleteRawModifiedDetails struct {
	NodeID           *NodeID
	IsDeleteModified bool
	StartTime        time.Time
	EndTime          time.Time
}

type DeleteReferencesItem

type DeleteReferencesItem struct {
	SourceNodeID        *NodeID
	ReferenceTypeID     *NodeID
	IsForward           bool
	TargetNodeID        *ExpandedNodeID
	DeleteBidirectional bool
}

type DeleteReferencesRequest

type DeleteReferencesRequest struct {
	RequestHeader      *RequestHeader
	ReferencesToDelete []*DeleteReferencesItem
}

func (*DeleteReferencesRequest) Header added in v0.1.6

func (*DeleteReferencesRequest) SetHeader added in v0.1.6

func (t *DeleteReferencesRequest) SetHeader(h *RequestHeader)

type DeleteReferencesResponse

type DeleteReferencesResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []StatusCode
	DiagnosticInfos []*DiagnosticInfo
}

func (*DeleteReferencesResponse) Header added in v0.1.6

func (*DeleteReferencesResponse) SetHeader added in v0.1.6

func (t *DeleteReferencesResponse) SetHeader(h *ResponseHeader)

type DeleteSubscriptionsRequest

type DeleteSubscriptionsRequest struct {
	RequestHeader   *RequestHeader
	SubscriptionIDs []uint32
}

func (*DeleteSubscriptionsRequest) Header added in v0.1.6

func (*DeleteSubscriptionsRequest) SetHeader added in v0.1.6

func (t *DeleteSubscriptionsRequest) SetHeader(h *RequestHeader)

type DeleteSubscriptionsResponse

type DeleteSubscriptionsResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []StatusCode
	DiagnosticInfos []*DiagnosticInfo
}

func (*DeleteSubscriptionsResponse) Header added in v0.1.6

func (*DeleteSubscriptionsResponse) SetHeader added in v0.1.6

type DiagnosticInfo

type DiagnosticInfo struct {
	EncodingMask        uint8
	SymbolicID          int32
	NamespaceURI        int32
	Locale              int32
	LocalizedText       int32
	AdditionalInfo      string
	InnerStatusCode     StatusCode
	InnerDiagnosticInfo *DiagnosticInfo
}

DiagnosticInfo represents the DiagnosticInfo.

Specification: Part 4, 7.8

func (*DiagnosticInfo) Decode

func (d *DiagnosticInfo) Decode(b []byte) (int, error)

func (*DiagnosticInfo) Encode

func (d *DiagnosticInfo) Encode() ([]byte, error)

func (*DiagnosticInfo) Has

func (d *DiagnosticInfo) Has(mask byte) bool

func (*DiagnosticInfo) UpdateMask

func (d *DiagnosticInfo) UpdateMask()

type DiagnosticsLevel

type DiagnosticsLevel uint32
const (
	DiagnosticsLevelBasic    DiagnosticsLevel = 0
	DiagnosticsLevelAdvanced DiagnosticsLevel = 1
	DiagnosticsLevelInfo     DiagnosticsLevel = 2
	DiagnosticsLevelLog      DiagnosticsLevel = 3
	DiagnosticsLevelDebug    DiagnosticsLevel = 4
)

func DiagnosticsLevelFromString

func DiagnosticsLevelFromString(s string) DiagnosticsLevel

func (DiagnosticsLevel) String

func (i DiagnosticsLevel) String() string

type DiscoveryConfiguration added in v0.1.12

type DiscoveryConfiguration struct{}

type DoubleComplexNumberType

type DoubleComplexNumberType struct {
	Real      float64
	Imaginary float64
}

type EUInformation

type EUInformation struct {
	NamespaceURI string
	UnitID       int32
	DisplayName  *LocalizedText
	Description  *LocalizedText
}

type ElementOperand

type ElementOperand struct {
	Index uint32
}

type EndpointConfiguration

type EndpointConfiguration struct {
	OperationTimeout      int32
	UseBinaryEncoding     bool
	MaxStringLength       int32
	MaxByteStringLength   int32
	MaxArrayLength        int32
	MaxMessageSize        int32
	MaxBufferSize         int32
	ChannelLifetime       int32
	SecurityTokenLifetime int32
}

type EndpointDescription

type EndpointDescription struct {
	EndpointURL         string
	Server              *ApplicationDescription
	ServerCertificate   []byte
	SecurityMode        MessageSecurityMode
	SecurityPolicyURI   string
	UserIdentityTokens  []*UserTokenPolicy
	TransportProfileURI string
	SecurityLevel       uint8
}

type EndpointType

type EndpointType struct {
	EndpointURL         string
	SecurityMode        MessageSecurityMode
	SecurityPolicyURI   string
	TransportProfileURI string
}

type EndpointURLListDataType

type EndpointURLListDataType struct {
	EndpointURLList []string
}

type EnumDefinition

type EnumDefinition struct {
	Fields []*EnumField
}

type EnumDescription

type EnumDescription struct {
	DataTypeID     *NodeID
	Name           *QualifiedName
	EnumDefinition *EnumDefinition
	BuiltInType    uint8
}

type EnumField

type EnumField struct {
	Value       int64
	DisplayName *LocalizedText
	Description *LocalizedText
	Name        string
}

type EnumValueType

type EnumValueType struct {
	Value       int64
	DisplayName *LocalizedText
	Description *LocalizedText
}

type EphemeralKeyType

type EphemeralKeyType struct {
	PublicKey []byte
	Signature []byte
}

type EventFieldList

type EventFieldList struct {
	ClientHandle uint32
	EventFields  []*Variant
}

type EventFilter

type EventFilter struct {
	SelectClauses []*SimpleAttributeOperand
	WhereClause   *ContentFilter
}

type EventFilterResult

type EventFilterResult struct {
	SelectClauseResults         []StatusCode
	SelectClauseDiagnosticInfos []*DiagnosticInfo
	WhereClauseResult           *ContentFilterResult
}

type EventNotificationList

type EventNotificationList struct {
	Events []*EventFieldList
}

type EventNotifierType

type EventNotifierType uint8
const (
	EventNotifierTypeNone              EventNotifierType = 0
	EventNotifierTypeSubscribeToEvents EventNotifierType = 1
	EventNotifierTypeHistoryRead       EventNotifierType = 4
	EventNotifierTypeHistoryWrite      EventNotifierType = 8
)

func EventNotifierTypeFromString

func EventNotifierTypeFromString(s string) EventNotifierType

func (EventNotifierType) String

func (i EventNotifierType) String() string

type ExceptionDeviationFormat

type ExceptionDeviationFormat uint32
const (
	ExceptionDeviationFormatAbsoluteValue    ExceptionDeviationFormat = 0
	ExceptionDeviationFormatPercentOfValue   ExceptionDeviationFormat = 1
	ExceptionDeviationFormatPercentOfRange   ExceptionDeviationFormat = 2
	ExceptionDeviationFormatPercentOfEURange ExceptionDeviationFormat = 3
	ExceptionDeviationFormatUnknown          ExceptionDeviationFormat = 4
)

func ExceptionDeviationFormatFromString

func ExceptionDeviationFormatFromString(s string) ExceptionDeviationFormat

func (ExceptionDeviationFormat) String

func (i ExceptionDeviationFormat) String() string

type ExpandedNodeID

type ExpandedNodeID struct {
	NodeID       *NodeID
	NamespaceURI string
	ServerIndex  uint32
}

ExpandedNodeID extends the NodeID structure by allowing the NamespaceURI to be explicitly specified instead of using the NamespaceIndex. The NamespaceURI is optional. If it is specified, then the NamespaceIndex inside the NodeID shall be ignored.

Specification: Part 6, 5.2.2.10

func DecodeService

func DecodeService(b []byte) (*ExpandedNodeID, interface{}, error)

func ExtensionObjectTypeID

func ExtensionObjectTypeID(v interface{}) *ExpandedNodeID

func NewByteStringExpandedNodeID added in v0.2.4

func NewByteStringExpandedNodeID(ns uint16, id []byte) *ExpandedNodeID

NewByteStringExpandedNodeID creates a byte string expanded node id.

func NewExpandedNodeID

func NewExpandedNodeID(nodeID *NodeID, uri string, idx uint32) *ExpandedNodeID

NewExpandedNodeID creates a new ExpandedNodeID.

func NewFourByteExpandedNodeID

func NewFourByteExpandedNodeID(ns uint8, id uint16) *ExpandedNodeID

NewFourByteExpandedNodeID creates a four byte numeric expanded node id.

func NewGUIDExpandedNodeID added in v0.2.4

func NewGUIDExpandedNodeID(ns uint16, id string) *ExpandedNodeID

NewGUIDExpandedNodeID creates a GUID expanded node id.

func NewNumericExpandedNodeID added in v0.2.4

func NewNumericExpandedNodeID(ns uint16, id uint32) *ExpandedNodeID

NewNumericExpandedNodeID creates a numeric expanded node id.

func NewStringExpandedNodeID added in v0.2.4

func NewStringExpandedNodeID(ns uint16, id string) *ExpandedNodeID

NewStringExpandedNodeID creates a string expanded node id.

func NewTwoByteExpandedNodeID

func NewTwoByteExpandedNodeID(id uint8) *ExpandedNodeID

NewTwoByteExpandedNodeID creates a two byte numeric expanded node id.

func ParseExpandedNodeID added in v0.2.4

func ParseExpandedNodeID(s string, ns []string) (*ExpandedNodeID, error)

ParseExpandedNodeID returns a node id from a string definition of the format '{ns,nsu}=<namespace>;{s,i,b,g}=<identifier>'.

The 's=' prefix can be omitted for string node ids in namespace 0.

For numeric ids the smallest possible type which can store the namespace and id value is returned.

Namespace URIs are resolved to ids from the provided list of namespaces.

func (*ExpandedNodeID) Decode

func (e *ExpandedNodeID) Decode(b []byte) (int, error)

func (*ExpandedNodeID) Encode

func (e *ExpandedNodeID) Encode() ([]byte, error)

func (*ExpandedNodeID) HasNamespaceURI

func (e *ExpandedNodeID) HasNamespaceURI() bool

HasNamespaceURI checks if an ExpandedNodeID has NamespaceURI Flag.

func (*ExpandedNodeID) HasServerIndex

func (e *ExpandedNodeID) HasServerIndex() bool

HasServerIndex checks if an ExpandedNodeID has ServerIndex Flag.

func (ExpandedNodeID) String added in v0.1.6

func (a ExpandedNodeID) String() string

type ExtensionObject

type ExtensionObject struct {
	EncodingMask uint8
	TypeID       *ExpandedNodeID
	Value        interface{}
}

ExtensionObject is encoded as sequence of bytes prefixed by the NodeId of its DataTypeEncoding and the number of bytes encoded.

Specification: Part 6, 5.2.2.15

func NewExtensionObject

func NewExtensionObject(value interface{}) *ExtensionObject

func (*ExtensionObject) Decode

func (e *ExtensionObject) Decode(b []byte) (int, error)

func (*ExtensionObject) Encode

func (e *ExtensionObject) Encode() ([]byte, error)

func (*ExtensionObject) UpdateMask

func (e *ExtensionObject) UpdateMask()

type FieldMetaData

type FieldMetaData struct {
	Name            string
	Description     *LocalizedText
	FieldFlags      DataSetFieldFlags
	BuiltInType     uint8
	DataType        *NodeID
	ValueRank       int32
	ArrayDimensions []uint32
	MaxStringLength uint32
	DataSetFieldID  *GUID
	Properties      []*KeyValuePair
}

type FieldTargetDataType

type FieldTargetDataType struct {
	DataSetFieldID        *GUID
	ReceiverIndexRange    string
	TargetNodeID          *NodeID
	AttributeID           AttributeID
	WriteIndexRange       string
	OverrideValueHandling OverrideValueHandling
	OverrideValue         *Variant
}

type FilterOperand added in v0.1.12

type FilterOperand struct{}

type FilterOperator

type FilterOperator uint32
const (
	FilterOperatorEquals             FilterOperator = 0
	FilterOperatorIsNull             FilterOperator = 1
	FilterOperatorGreaterThan        FilterOperator = 2
	FilterOperatorLessThan           FilterOperator = 3
	FilterOperatorGreaterThanOrEqual FilterOperator = 4
	FilterOperatorLessThanOrEqual    FilterOperator = 5
	FilterOperatorLike               FilterOperator = 6
	FilterOperatorNot                FilterOperator = 7
	FilterOperatorBetween            FilterOperator = 8
	FilterOperatorInList             FilterOperator = 9
	FilterOperatorAnd                FilterOperator = 10
	FilterOperatorOr                 FilterOperator = 11
	FilterOperatorCast               FilterOperator = 12
	FilterOperatorInView             FilterOperator = 13
	FilterOperatorOfType             FilterOperator = 14
	FilterOperatorRelatedTo          FilterOperator = 15
	FilterOperatorBitwiseAnd         FilterOperator = 16
	FilterOperatorBitwiseOr          FilterOperator = 17
)

func FilterOperatorFromString

func FilterOperatorFromString(s string) FilterOperator

func (FilterOperator) String

func (i FilterOperator) String() string

type FindServersOnNetworkRequest

type FindServersOnNetworkRequest struct {
	RequestHeader          *RequestHeader
	StartingRecordID       uint32
	MaxRecordsToReturn     uint32
	ServerCapabilityFilter []string
}

func (*FindServersOnNetworkRequest) Header added in v0.1.6

func (*FindServersOnNetworkRequest) SetHeader added in v0.1.6

func (t *FindServersOnNetworkRequest) SetHeader(h *RequestHeader)

type FindServersOnNetworkResponse

type FindServersOnNetworkResponse struct {
	ResponseHeader       *ResponseHeader
	LastCounterResetTime time.Time
	Servers              []*ServerOnNetwork
}

func (*FindServersOnNetworkResponse) Header added in v0.1.6

func (*FindServersOnNetworkResponse) SetHeader added in v0.1.6

type FindServersRequest

type FindServersRequest struct {
	RequestHeader *RequestHeader
	EndpointURL   string
	LocaleIDs     []string
	ServerURIs    []string
}

func (*FindServersRequest) Header added in v0.1.6

func (t *FindServersRequest) Header() *RequestHeader

func (*FindServersRequest) SetHeader added in v0.1.6

func (t *FindServersRequest) SetHeader(h *RequestHeader)

type FindServersResponse

type FindServersResponse struct {
	ResponseHeader *ResponseHeader
	Servers        []*ApplicationDescription
}

func (*FindServersResponse) Header added in v0.1.6

func (t *FindServersResponse) Header() *ResponseHeader

func (*FindServersResponse) SetHeader added in v0.1.6

func (t *FindServersResponse) SetHeader(h *ResponseHeader)

type GUID

type GUID struct {
	Data1 uint32
	Data2 uint16
	Data3 uint16
	Data4 []byte
}

GUID represents GUID in binary stream. It is a 16-byte globally unique identifier.

Specification: Part 6, 5.1.3

func NewGUID

func NewGUID(guid string) *GUID

NewGUID creates a new GUID. Input should be GUID string of 16 hexadecimal characters like 1111AAAA-22BB-33CC-44DD-55EE77FF9900. Dash can be omitted, and alphabets are not case-sensitive.

func (*GUID) Decode

func (g *GUID) Decode(b []byte) (int, error)

func (*GUID) Encode

func (g *GUID) Encode() ([]byte, error)

func (*GUID) String

func (g *GUID) String() string

String returns GUID in human-readable string.

type GenericAttributeValue

type GenericAttributeValue struct {
	AttributeID AttributeID
	Value       *Variant
}

type GenericAttributes

type GenericAttributes struct {
	SpecifiedAttributes uint32
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	AttributeValues     []*GenericAttributeValue
}

type GetEndpointsRequest

type GetEndpointsRequest struct {
	RequestHeader *RequestHeader
	EndpointURL   string
	LocaleIDs     []string
	ProfileURIs   []string
}

func (*GetEndpointsRequest) Header added in v0.1.6

func (t *GetEndpointsRequest) Header() *RequestHeader

func (*GetEndpointsRequest) SetHeader added in v0.1.6

func (t *GetEndpointsRequest) SetHeader(h *RequestHeader)

type GetEndpointsResponse

type GetEndpointsResponse struct {
	ResponseHeader *ResponseHeader
	Endpoints      []*EndpointDescription
}

func (*GetEndpointsResponse) Header added in v0.1.6

func (t *GetEndpointsResponse) Header() *ResponseHeader

func (*GetEndpointsResponse) SetHeader added in v0.1.6

func (t *GetEndpointsResponse) SetHeader(h *ResponseHeader)

type HistoryData

type HistoryData struct {
	DataValues []*DataValue
}

type HistoryEvent

type HistoryEvent struct {
	Events []*HistoryEventFieldList
}

type HistoryEventFieldList

type HistoryEventFieldList struct {
	EventFields []*Variant
}

type HistoryModifiedData

type HistoryModifiedData struct {
	DataValues        []*DataValue
	ModificationInfos []*ModificationInfo
}

type HistoryReadDetails added in v0.1.12

type HistoryReadDetails struct{}

type HistoryReadRequest

type HistoryReadRequest struct {
	RequestHeader             *RequestHeader
	HistoryReadDetails        *ExtensionObject
	TimestampsToReturn        TimestampsToReturn
	ReleaseContinuationPoints bool
	NodesToRead               []*HistoryReadValueID
}

func (*HistoryReadRequest) Header added in v0.1.6

func (t *HistoryReadRequest) Header() *RequestHeader

func (*HistoryReadRequest) SetHeader added in v0.1.6

func (t *HistoryReadRequest) SetHeader(h *RequestHeader)

type HistoryReadResponse

type HistoryReadResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []*HistoryReadResult
	DiagnosticInfos []*DiagnosticInfo
}

func (*HistoryReadResponse) Header added in v0.1.6

func (t *HistoryReadResponse) Header() *ResponseHeader

func (*HistoryReadResponse) SetHeader added in v0.1.6

func (t *HistoryReadResponse) SetHeader(h *ResponseHeader)

type HistoryReadResult

type HistoryReadResult struct {
	StatusCode        StatusCode
	ContinuationPoint []byte
	HistoryData       *ExtensionObject
}

type HistoryReadValueID

type HistoryReadValueID struct {
	NodeID            *NodeID
	IndexRange        string
	DataEncoding      *QualifiedName
	ContinuationPoint []byte
}

type HistoryUpdateDetails

type HistoryUpdateDetails struct {
	NodeID *NodeID
}

type HistoryUpdateRequest

type HistoryUpdateRequest struct {
	RequestHeader        *RequestHeader
	HistoryUpdateDetails []*ExtensionObject
}

func (*HistoryUpdateRequest) Header added in v0.1.6

func (t *HistoryUpdateRequest) Header() *RequestHeader

func (*HistoryUpdateRequest) SetHeader added in v0.1.6

func (t *HistoryUpdateRequest) SetHeader(h *RequestHeader)

type HistoryUpdateResponse

type HistoryUpdateResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []*HistoryUpdateResult
	DiagnosticInfos []*DiagnosticInfo
}

func (*HistoryUpdateResponse) Header added in v0.1.6

func (*HistoryUpdateResponse) SetHeader added in v0.1.6

func (t *HistoryUpdateResponse) SetHeader(h *ResponseHeader)

type HistoryUpdateResult

type HistoryUpdateResult struct {
	StatusCode       StatusCode
	OperationResults []StatusCode
	DiagnosticInfos  []*DiagnosticInfo
}

type HistoryUpdateType

type HistoryUpdateType uint32
const (
	HistoryUpdateTypeInsert  HistoryUpdateType = 1
	HistoryUpdateTypeReplace HistoryUpdateType = 2
	HistoryUpdateTypeUpdate  HistoryUpdateType = 3
	HistoryUpdateTypeDelete  HistoryUpdateType = 4
)

func HistoryUpdateTypeFromString

func HistoryUpdateTypeFromString(s string) HistoryUpdateType

func (HistoryUpdateType) String

func (i HistoryUpdateType) String() string

type IDType

type IDType uint32
const (
	IDTypeNumeric IDType = 0
	IDTypeString  IDType = 1
	IDTypeGUID    IDType = 2
	IDTypeOpaque  IDType = 3
)

func IDTypeFromString

func IDTypeFromString(s string) IDType

func (IDType) String

func (i IDType) String() string

type IdentityCriteriaType

type IdentityCriteriaType uint32
const (
	IdentityCriteriaTypeUserName          IdentityCriteriaType = 1
	IdentityCriteriaTypeThumbprint        IdentityCriteriaType = 2
	IdentityCriteriaTypeRole              IdentityCriteriaType = 3
	IdentityCriteriaTypeGroupID           IdentityCriteriaType = 4
	IdentityCriteriaTypeAnonymous         IdentityCriteriaType = 5
	IdentityCriteriaTypeAuthenticatedUser IdentityCriteriaType = 6
)

func IdentityCriteriaTypeFromString

func IdentityCriteriaTypeFromString(s string) IdentityCriteriaType

func (IdentityCriteriaType) String

func (i IdentityCriteriaType) String() string

type IdentityMappingRuleType

type IdentityMappingRuleType struct {
	CriteriaType IdentityCriteriaType
	Criteria     string
}

type InstanceNode

type InstanceNode struct {
	NodeID              *NodeID
	NodeClass           NodeClass
	BrowseName          *QualifiedName
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	RolePermissions     []*RolePermissionType
	UserRolePermissions []*RolePermissionType
	AccessRestrictions  uint16
	References          []*ReferenceNode
}

type IssuedIdentityToken

type IssuedIdentityToken struct {
	PolicyID            string
	TokenData           []byte
	EncryptionAlgorithm string
}

type JSONDataSetMessageContentMask

type JSONDataSetMessageContentMask uint32
const (
	JSONDataSetMessageContentMaskNone            JSONDataSetMessageContentMask = 0
	JSONDataSetMessageContentMaskDataSetWriterID JSONDataSetMessageContentMask = 1
	JSONDataSetMessageContentMaskMetaDataVersion JSONDataSetMessageContentMask = 2
	JSONDataSetMessageContentMaskSequenceNumber  JSONDataSetMessageContentMask = 4
	JSONDataSetMessageContentMaskTimestamp       JSONDataSetMessageContentMask = 8
	JSONDataSetMessageContentMaskStatus          JSONDataSetMessageContentMask = 16
)

func JSONDataSetMessageContentMaskFromString

func JSONDataSetMessageContentMaskFromString(s string) JSONDataSetMessageContentMask

func (JSONDataSetMessageContentMask) String

type JSONDataSetReaderMessageDataType

type JSONDataSetReaderMessageDataType struct {
	NetworkMessageContentMask JSONNetworkMessageContentMask
	DataSetMessageContentMask JSONDataSetMessageContentMask
}

type JSONDataSetWriterMessageDataType

type JSONDataSetWriterMessageDataType struct {
	DataSetMessageContentMask JSONDataSetMessageContentMask
}

type JSONNetworkMessageContentMask

type JSONNetworkMessageContentMask uint32
const (
	JSONNetworkMessageContentMaskNone                 JSONNetworkMessageContentMask = 0
	JSONNetworkMessageContentMaskNetworkMessageHeader JSONNetworkMessageContentMask = 1
	JSONNetworkMessageContentMaskDataSetMessageHeader JSONNetworkMessageContentMask = 2
	JSONNetworkMessageContentMaskSingleDataSetMessage JSONNetworkMessageContentMask = 4
	JSONNetworkMessageContentMaskPublisherID          JSONNetworkMessageContentMask = 8
	JSONNetworkMessageContentMaskDataSetClassID       JSONNetworkMessageContentMask = 16
	JSONNetworkMessageContentMaskReplyTo              JSONNetworkMessageContentMask = 32
)

func JSONNetworkMessageContentMaskFromString

func JSONNetworkMessageContentMaskFromString(s string) JSONNetworkMessageContentMask

func (JSONNetworkMessageContentMask) String

type JSONWriterGroupMessageDataType

type JSONWriterGroupMessageDataType struct {
	NetworkMessageContentMask JSONNetworkMessageContentMask
}

type KeyValuePair

type KeyValuePair struct {
	Key   *QualifiedName
	Value *Variant
}

type LiteralOperand

type LiteralOperand struct {
	Value *Variant
}

type LocalizedText

type LocalizedText struct {
	EncodingMask uint8
	Locale       string
	Text         string
}

LocalizedText represents a LocalizedText. A LocalizedText structure contains two fields that could be missing. For that reason, the encoding uses a bit mask to indicate which fields are actually present in the encoded form.

Specification: Part 6, 5.2.2.14

func NewLocalizedText added in v0.1.12

func NewLocalizedText(text string) *LocalizedText

NewLocalizedText creates a new localized text without a locale.

func NewLocalizedTextWithLocale added in v0.1.12

func NewLocalizedTextWithLocale(text, locale string) *LocalizedText

NewLocalizedTextWithLocale creates a new localized text with a locale.

func (*LocalizedText) Decode

func (l *LocalizedText) Decode(b []byte) (int, error)

func (*LocalizedText) Encode

func (l *LocalizedText) Encode() ([]byte, error)

func (*LocalizedText) Has

func (l *LocalizedText) Has(mask byte) bool

func (*LocalizedText) UpdateMask

func (l *LocalizedText) UpdateMask()

type MdnsDiscoveryConfiguration

type MdnsDiscoveryConfiguration struct {
	MdnsServerName     string
	ServerCapabilities []string
}

type MessageSecurityMode

type MessageSecurityMode uint32
const (
	MessageSecurityModeInvalid        MessageSecurityMode = 0
	MessageSecurityModeNone           MessageSecurityMode = 1
	MessageSecurityModeSign           MessageSecurityMode = 2
	MessageSecurityModeSignAndEncrypt MessageSecurityMode = 3
)

func MessageSecurityModeFromString

func MessageSecurityModeFromString(s string) MessageSecurityMode

func (MessageSecurityMode) String

func (i MessageSecurityMode) String() string

type MethodAttributes

type MethodAttributes struct {
	SpecifiedAttributes uint32
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	Executable          bool
	UserExecutable      bool
}

type MethodNode

type MethodNode struct {
	NodeID              *NodeID
	NodeClass           NodeClass
	BrowseName          *QualifiedName
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	RolePermissions     []*RolePermissionType
	UserRolePermissions []*RolePermissionType
	AccessRestrictions  uint16
	References          []*ReferenceNode
	Executable          bool
	UserExecutable      bool
}

type ModelChangeStructureDataType

type ModelChangeStructureDataType struct {
	Affected     *NodeID
	AffectedType *NodeID
	Verb         uint8
}

type ModelChangeStructureVerbMask

type ModelChangeStructureVerbMask uint32
const (
	ModelChangeStructureVerbMaskNodeAdded        ModelChangeStructureVerbMask = 1
	ModelChangeStructureVerbMaskNodeDeleted      ModelChangeStructureVerbMask = 2
	ModelChangeStructureVerbMaskReferenceAdded   ModelChangeStructureVerbMask = 4
	ModelChangeStructureVerbMaskReferenceDeleted ModelChangeStructureVerbMask = 8
	ModelChangeStructureVerbMaskDataTypeChanged  ModelChangeStructureVerbMask = 16
)

func ModelChangeStructureVerbMaskFromString

func ModelChangeStructureVerbMaskFromString(s string) ModelChangeStructureVerbMask

func (ModelChangeStructureVerbMask) String

type ModificationInfo

type ModificationInfo struct {
	ModificationTime time.Time
	UpdateType       HistoryUpdateType
	UserName         string
}

type ModifyMonitoredItemsRequest

type ModifyMonitoredItemsRequest struct {
	RequestHeader      *RequestHeader
	SubscriptionID     uint32
	TimestampsToReturn TimestampsToReturn
	ItemsToModify      []*MonitoredItemModifyRequest
}

func (*ModifyMonitoredItemsRequest) Header added in v0.1.6

func (*ModifyMonitoredItemsRequest) SetHeader added in v0.1.6

func (t *ModifyMonitoredItemsRequest) SetHeader(h *RequestHeader)

type ModifyMonitoredItemsResponse

type ModifyMonitoredItemsResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []*MonitoredItemModifyResult
	DiagnosticInfos []*DiagnosticInfo
}

func (*ModifyMonitoredItemsResponse) Header added in v0.1.6

func (*ModifyMonitoredItemsResponse) SetHeader added in v0.1.6

type ModifySubscriptionRequest

type ModifySubscriptionRequest struct {
	RequestHeader               *RequestHeader
	SubscriptionID              uint32
	RequestedPublishingInterval float64
	RequestedLifetimeCount      uint32
	RequestedMaxKeepAliveCount  uint32
	MaxNotificationsPerPublish  uint32
	Priority                    uint8
}

func (*ModifySubscriptionRequest) Header added in v0.1.6

func (*ModifySubscriptionRequest) SetHeader added in v0.1.6

func (t *ModifySubscriptionRequest) SetHeader(h *RequestHeader)

type ModifySubscriptionResponse

type ModifySubscriptionResponse struct {
	ResponseHeader            *ResponseHeader
	RevisedPublishingInterval float64
	RevisedLifetimeCount      uint32
	RevisedMaxKeepAliveCount  uint32
}

func (*ModifySubscriptionResponse) Header added in v0.1.6

func (*ModifySubscriptionResponse) SetHeader added in v0.1.6

func (t *ModifySubscriptionResponse) SetHeader(h *ResponseHeader)

type MonitoredItemCreateRequest

type MonitoredItemCreateRequest struct {
	ItemToMonitor       *ReadValueID
	MonitoringMode      MonitoringMode
	RequestedParameters *MonitoringParameters
}

type MonitoredItemCreateResult

type MonitoredItemCreateResult struct {
	StatusCode              StatusCode
	MonitoredItemID         uint32
	RevisedSamplingInterval float64
	RevisedQueueSize        uint32
	FilterResult            *ExtensionObject
}

type MonitoredItemModifyRequest

type MonitoredItemModifyRequest struct {
	MonitoredItemID     uint32
	RequestedParameters *MonitoringParameters
}

type MonitoredItemModifyResult

type MonitoredItemModifyResult struct {
	StatusCode              StatusCode
	RevisedSamplingInterval float64
	RevisedQueueSize        uint32
	FilterResult            *ExtensionObject
}

type MonitoredItemNotification

type MonitoredItemNotification struct {
	ClientHandle uint32
	Value        *DataValue
}

type MonitoringFilter added in v0.1.12

type MonitoringFilter struct{}

type MonitoringFilterResult added in v0.1.12

type MonitoringFilterResult struct{}

type MonitoringMode

type MonitoringMode uint32
const (
	MonitoringModeDisabled  MonitoringMode = 0
	MonitoringModeSampling  MonitoringMode = 1
	MonitoringModeReporting MonitoringMode = 2
)

func MonitoringModeFromString

func MonitoringModeFromString(s string) MonitoringMode

func (MonitoringMode) String

func (i MonitoringMode) String() string

type MonitoringParameters

type MonitoringParameters struct {
	ClientHandle     uint32
	SamplingInterval float64
	Filter           *ExtensionObject
	QueueSize        uint32
	DiscardOldest    bool
}

type NamingRuleType

type NamingRuleType uint32
const (
	NamingRuleTypeMandatory  NamingRuleType = 1
	NamingRuleTypeOptional   NamingRuleType = 2
	NamingRuleTypeConstraint NamingRuleType = 3
)

func NamingRuleTypeFromString

func NamingRuleTypeFromString(s string) NamingRuleType

func (NamingRuleType) String

func (i NamingRuleType) String() string

type NetworkAddressDataType

type NetworkAddressDataType struct {
	NetworkInterface string
}

type NetworkAddressURLDataType

type NetworkAddressURLDataType struct {
	NetworkInterface string
	URL              string
}

type NetworkGroupDataType

type NetworkGroupDataType struct {
	ServerURI    string
	NetworkPaths []*EndpointURLListDataType
}

type Node

type Node struct {
	NodeID              *NodeID
	NodeClass           NodeClass
	BrowseName          *QualifiedName
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	RolePermissions     []*RolePermissionType
	UserRolePermissions []*RolePermissionType
	AccessRestrictions  uint16
	References          []*ReferenceNode
}

type NodeAttributes

type NodeAttributes struct {
	SpecifiedAttributes uint32
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
}

type NodeAttributesMask

type NodeAttributesMask uint32
const (
	NodeAttributesMaskNone                    NodeAttributesMask = 0
	NodeAttributesMaskAccessLevel             NodeAttributesMask = 1
	NodeAttributesMaskArrayDimensions         NodeAttributesMask = 2
	NodeAttributesMaskBrowseName              NodeAttributesMask = 4
	NodeAttributesMaskContainsNoLoops         NodeAttributesMask = 8
	NodeAttributesMaskDataType                NodeAttributesMask = 16
	NodeAttributesMaskDescription             NodeAttributesMask = 32
	NodeAttributesMaskDisplayName             NodeAttributesMask = 64
	NodeAttributesMaskEventNotifier           NodeAttributesMask = 128
	NodeAttributesMaskExecutable              NodeAttributesMask = 256
	NodeAttributesMaskHistorizing             NodeAttributesMask = 512
	NodeAttributesMaskInverseName             NodeAttributesMask = 1024
	NodeAttributesMaskIsAbstract              NodeAttributesMask = 2048
	NodeAttributesMaskMinimumSamplingInterval NodeAttributesMask = 4096
	NodeAttributesMaskNodeClass               NodeAttributesMask = 8192
	NodeAttributesMaskNodeID                  NodeAttributesMask = 16384
	NodeAttributesMaskSymmetric               NodeAttributesMask = 32768
	NodeAttributesMaskUserAccessLevel         NodeAttributesMask = 65536
	NodeAttributesMaskUserExecutable          NodeAttributesMask = 131072
	NodeAttributesMaskUserWriteMask           NodeAttributesMask = 262144
	NodeAttributesMaskValueRank               NodeAttributesMask = 524288
	NodeAttributesMaskWriteMask               NodeAttributesMask = 1048576
	NodeAttributesMaskValue                   NodeAttributesMask = 2097152
	NodeAttributesMaskDataTypeDefinition      NodeAttributesMask = 4194304
	NodeAttributesMaskRolePermissions         NodeAttributesMask = 8388608
	NodeAttributesMaskAccessRestrictions      NodeAttributesMask = 16777216
	NodeAttributesMaskAll                     NodeAttributesMask = 33554431
	NodeAttributesMaskBaseNode                NodeAttributesMask = 26501220
	NodeAttributesMaskObject                  NodeAttributesMask = 26501348
	NodeAttributesMaskObjectType              NodeAttributesMask = 26503268
	NodeAttributesMaskVariable                NodeAttributesMask = 26571383
	NodeAttributesMaskVariableType            NodeAttributesMask = 28600438
	NodeAttributesMaskMethod                  NodeAttributesMask = 26632548
	NodeAttributesMaskReferenceType           NodeAttributesMask = 26537060
	NodeAttributesMaskView                    NodeAttributesMask = 26501356
)

func NodeAttributesMaskFromString

func NodeAttributesMaskFromString(s string) NodeAttributesMask

func (NodeAttributesMask) String

func (i NodeAttributesMask) String() string

type NodeClass

type NodeClass uint32
const (
	NodeClassUnspecified   NodeClass = 0
	NodeClassObject        NodeClass = 1
	NodeClassVariable      NodeClass = 2
	NodeClassMethod        NodeClass = 4
	NodeClassObjectType    NodeClass = 8
	NodeClassVariableType  NodeClass = 16
	NodeClassReferenceType NodeClass = 32
	NodeClassDataType      NodeClass = 64
	NodeClassView          NodeClass = 128
)
const (
	NodeClassAll NodeClass = 0xff
)

func NodeClassFromString

func NodeClassFromString(s string) NodeClass

func (NodeClass) String

func (i NodeClass) String() string

type NodeID

type NodeID struct {
	// contains filtered or unexported fields
}

NodeID is an identifier for a node in the address space of an OPC UA Server. The NodeID object encodes all different node id types.

func MustParseNodeID added in v0.2.0

func MustParseNodeID(s string) *NodeID

MustParseNodeID returns a node id from a string definition if it is parseable by ParseNodeID. Otherwise, the function panics.

func NewByteStringNodeID

func NewByteStringNodeID(ns uint16, id []byte) *NodeID

NewByteStringNodeID returns a new byte string node id.

func NewFourByteNodeID

func NewFourByteNodeID(ns uint8, id uint16) *NodeID

NewFourByteNodeID returns a new four byte node id.

func NewGUIDNodeID

func NewGUIDNodeID(ns uint16, id string) *NodeID

NewGUIDNodeID returns a new GUID node id.

func NewNumericNodeID

func NewNumericNodeID(ns uint16, id uint32) *NodeID

NewNumericNodeID returns a new numeric node id.

func NewStringNodeID

func NewStringNodeID(ns uint16, id string) *NodeID

NewStringNodeID returns a new string node id.

func NewTwoByteNodeID

func NewTwoByteNodeID(id uint8) *NodeID

NewTwoByteNodeID returns a new two byte node id.

func ParseNodeID

func ParseNodeID(s string) (*NodeID, error)

ParseNodeID returns a node id from a string definition of the format 'ns=<namespace>;{s,i,b,g}=<identifier>'.

The 's=' prefix can be omitted for string node ids in namespace 0.

For numeric ids the smallest possible type which can store the namespace and id value is returned.

Namespace URIs are not supported since NodeID cannot store them. If you need to support namespace URIs use ParseExpandedNodeID.

func (*NodeID) Decode

func (n *NodeID) Decode(b []byte) (int, error)

func (*NodeID) Encode

func (n *NodeID) Encode() ([]byte, error)

func (*NodeID) EncodingMask

func (n *NodeID) EncodingMask() NodeIDType

EncodingMask returns the encoding mask field including the type information and additional flags.

func (*NodeID) IndexFlag

func (n *NodeID) IndexFlag() bool

IndexFlag returns whether the Index flag is set in EncodingMask.

func (*NodeID) IntID

func (n *NodeID) IntID() uint32

IntID returns the identifier value if the type is TwoByte, FourByte or Numeric. For all other types IntID returns 0.

func (*NodeID) MarshalJSON added in v0.2.0

func (n *NodeID) MarshalJSON() ([]byte, error)

func (*NodeID) Namespace

func (n *NodeID) Namespace() uint16

Namespace returns the namespace id. For two byte node ids this will always be zero.

func (*NodeID) SetIndexFlag

func (n *NodeID) SetIndexFlag()

SetIndexFlag sets NamespaceURI flag in EncodingMask.

func (*NodeID) SetIntID

func (n *NodeID) SetIntID(v uint32) error

SetIntID sets the identifier value for two byte, four byte and numeric node ids. It returns an error for other types.

func (*NodeID) SetNamespace

func (n *NodeID) SetNamespace(v uint16) error

SetNamespace sets the namespace id. It returns an error if the id is not within the range of the node id type.

func (*NodeID) SetStringID

func (n *NodeID) SetStringID(v string) error

SetStringID sets the identifier value for string, guid and opaque node ids. It returns an error for other types.

func (*NodeID) SetURIFlag

func (n *NodeID) SetURIFlag()

SetURIFlag sets NamespaceURI flag in EncodingMask.

func (*NodeID) String

func (n *NodeID) String() string

String returns the string representation of the NodeID in the format described by ParseNodeID.

func (*NodeID) StringID

func (n *NodeID) StringID() string

StringID returns the string value of the identifier for String and GUID NodeIDs, and the base64 encoded value for Opaque types. For all other types StringID returns an empty string.

func (*NodeID) Type

func (n *NodeID) Type() NodeIDType

Type returns the node id type in EncodingMask.

func (*NodeID) URIFlag

func (n *NodeID) URIFlag() bool

URIFlag returns whether the URI flag is set in EncodingMask.

func (*NodeID) UnmarshalJSON added in v0.2.0

func (n *NodeID) UnmarshalJSON(b []byte) error

type NodeIDType

type NodeIDType uint8
const (
	NodeIDTypeTwoByte    NodeIDType = 0
	NodeIDTypeFourByte   NodeIDType = 1
	NodeIDTypeNumeric    NodeIDType = 2
	NodeIDTypeString     NodeIDType = 3
	NodeIDTypeGUID       NodeIDType = 4
	NodeIDTypeByteString NodeIDType = 5
)

func NodeIDTypeFromString

func NodeIDTypeFromString(s string) NodeIDType

func (NodeIDType) String

func (i NodeIDType) String() string

type NodeReference

type NodeReference struct {
	NodeID            *NodeID
	ReferenceTypeID   *NodeID
	IsForward         bool
	ReferencedNodeIDs []*NodeID
}

type NodeTypeDescription

type NodeTypeDescription struct {
	TypeDefinitionNode *ExpandedNodeID
	IncludeSubTypes    bool
	DataToReturn       []*QueryDataDescription
}

type NotificationData added in v0.1.12

type NotificationData struct{}

type NotificationMessage

type NotificationMessage struct {
	SequenceNumber   uint32
	PublishTime      time.Time
	NotificationData []*ExtensionObject
}

type ObjectAttributes

type ObjectAttributes struct {
	SpecifiedAttributes uint32
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	EventNotifier       uint8
}

type ObjectNode

type ObjectNode struct {
	NodeID              *NodeID
	NodeClass           NodeClass
	BrowseName          *QualifiedName
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	RolePermissions     []*RolePermissionType
	UserRolePermissions []*RolePermissionType
	AccessRestrictions  uint16
	References          []*ReferenceNode
	EventNotifier       uint8
}

type ObjectTypeAttributes

type ObjectTypeAttributes struct {
	SpecifiedAttributes uint32
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	IsAbstract          bool
}

type ObjectTypeNode

type ObjectTypeNode struct {
	NodeID              *NodeID
	NodeClass           NodeClass
	BrowseName          *QualifiedName
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	RolePermissions     []*RolePermissionType
	UserRolePermissions []*RolePermissionType
	AccessRestrictions  uint16
	References          []*ReferenceNode
	IsAbstract          bool
}

type OpenFileMode

type OpenFileMode uint32
const (
	OpenFileModeRead          OpenFileMode = 1
	OpenFileModeWrite         OpenFileMode = 2
	OpenFileModeEraseExisting OpenFileMode = 4
	OpenFileModeAppend        OpenFileMode = 8
)

func OpenFileModeFromString

func OpenFileModeFromString(s string) OpenFileMode

func (OpenFileMode) String

func (i OpenFileMode) String() string

type OpenSecureChannelRequest

type OpenSecureChannelRequest struct {
	RequestHeader         *RequestHeader
	ClientProtocolVersion uint32
	RequestType           SecurityTokenRequestType
	SecurityMode          MessageSecurityMode
	ClientNonce           []byte
	RequestedLifetime     uint32
}

func (*OpenSecureChannelRequest) Header added in v0.1.6

func (*OpenSecureChannelRequest) SetHeader added in v0.1.6

func (t *OpenSecureChannelRequest) SetHeader(h *RequestHeader)

type OpenSecureChannelResponse

type OpenSecureChannelResponse struct {
	ResponseHeader        *ResponseHeader
	ServerProtocolVersion uint32
	SecurityToken         *ChannelSecurityToken
	ServerNonce           []byte
}

func (*OpenSecureChannelResponse) Header added in v0.1.6

func (*OpenSecureChannelResponse) SetHeader added in v0.1.6

func (t *OpenSecureChannelResponse) SetHeader(h *ResponseHeader)

type OptionSet

type OptionSet struct {
	Value     []byte
	ValidBits []byte
}

type OverrideValueHandling

type OverrideValueHandling uint32
const (
	OverrideValueHandlingDisabled        OverrideValueHandling = 0
	OverrideValueHandlingLastUsableValue OverrideValueHandling = 1
	OverrideValueHandlingOverrideValue   OverrideValueHandling = 2
)

func OverrideValueHandlingFromString

func OverrideValueHandlingFromString(s string) OverrideValueHandling

func (OverrideValueHandling) String

func (i OverrideValueHandling) String() string

type ParsingResult

type ParsingResult struct {
	StatusCode          StatusCode
	DataStatusCodes     []StatusCode
	DataDiagnosticInfos []*DiagnosticInfo
}

type PerformUpdateType

type PerformUpdateType uint32
const (
	PerformUpdateTypeInsert  PerformUpdateType = 1
	PerformUpdateTypeReplace PerformUpdateType = 2
	PerformUpdateTypeUpdate  PerformUpdateType = 3
	PerformUpdateTypeRemove  PerformUpdateType = 4
)

func PerformUpdateTypeFromString

func PerformUpdateTypeFromString(s string) PerformUpdateType

func (PerformUpdateType) String

func (i PerformUpdateType) String() string

type PermissionType

type PermissionType uint32
const (
	PermissionTypeNone                 PermissionType = 0
	PermissionTypeBrowse               PermissionType = 1
	PermissionTypeReadRolePermissions  PermissionType = 2
	PermissionTypeWriteAttribute       PermissionType = 4
	PermissionTypeWriteRolePermissions PermissionType = 8
	PermissionTypeWriteHistorizing     PermissionType = 16
	PermissionTypeRead                 PermissionType = 32
	PermissionTypeWrite                PermissionType = 64
	PermissionTypeReadHistory          PermissionType = 128
	PermissionTypeInsertHistory        PermissionType = 256
	PermissionTypeModifyHistory        PermissionType = 512
	PermissionTypeDeleteHistory        PermissionType = 1024
	PermissionTypeReceiveEvents        PermissionType = 2048
	PermissionTypeCall                 PermissionType = 4096
	PermissionTypeAddReference         PermissionType = 8192
	PermissionTypeRemoveReference      PermissionType = 16384
	PermissionTypeDeleteNode           PermissionType = 32768
	PermissionTypeAddNode              PermissionType = 65536
)

func PermissionTypeFromString

func PermissionTypeFromString(s string) PermissionType

func (PermissionType) String

func (i PermissionType) String() string

type ProgramDiagnostic2DataType

type ProgramDiagnostic2DataType struct {
	CreateSessionID           *NodeID
	CreateClientName          string
	InvocationCreationTime    time.Time
	LastTransitionTime        time.Time
	LastMethodCall            string
	LastMethodSessionID       *NodeID
	LastMethodInputArguments  []*Argument
	LastMethodOutputArguments []*Argument
	LastMethodInputValues     []*Variant
	LastMethodOutputValues    []*Variant
	LastMethodCallTime        time.Time
	LastMethodReturnStatus    *StatusResult
}

type ProgramDiagnosticDataType

type ProgramDiagnosticDataType struct {
	CreateSessionID           *NodeID
	CreateClientName          string
	InvocationCreationTime    time.Time
	LastTransitionTime        time.Time
	LastMethodCall            string
	LastMethodSessionID       *NodeID
	LastMethodInputArguments  []*Argument
	LastMethodOutputArguments []*Argument
	LastMethodCallTime        time.Time
	LastMethodReturnStatus    *StatusResult
}

type PubSubConfigurationDataType

type PubSubConfigurationDataType struct {
	PublishedDataSets []*PublishedDataSetDataType
	Connections       []*PubSubConnectionDataType
	Enabled           bool
}

type PubSubConnectionDataType

type PubSubConnectionDataType struct {
	Name                 string
	Enabled              bool
	PublisherID          *Variant
	TransportProfileURI  string
	Address              *ExtensionObject
	ConnectionProperties []*KeyValuePair
	TransportSettings    *ExtensionObject
	WriterGroups         []*WriterGroupDataType
	ReaderGroups         []*ReaderGroupDataType
}

type PubSubDiagnosticsCounterClassification

type PubSubDiagnosticsCounterClassification uint32
const (
	PubSubDiagnosticsCounterClassificationInformation PubSubDiagnosticsCounterClassification = 0
	PubSubDiagnosticsCounterClassificationError       PubSubDiagnosticsCounterClassification = 1
)

func PubSubDiagnosticsCounterClassificationFromString

func PubSubDiagnosticsCounterClassificationFromString(s string) PubSubDiagnosticsCounterClassification

func (PubSubDiagnosticsCounterClassification) String

type PubSubGroupDataType

type PubSubGroupDataType struct {
	Name                  string
	Enabled               bool
	SecurityMode          MessageSecurityMode
	SecurityGroupID       string
	SecurityKeyServices   []*EndpointDescription
	MaxNetworkMessageSize uint32
	GroupProperties       []*KeyValuePair
}

type PubSubState

type PubSubState uint32
const (
	PubSubStateDisabled    PubSubState = 0
	PubSubStatePaused      PubSubState = 1
	PubSubStateOperational PubSubState = 2
	PubSubStateError       PubSubState = 3
)

func PubSubStateFromString

func PubSubStateFromString(s string) PubSubState

func (PubSubState) String

func (i PubSubState) String() string

type PublishRequest

type PublishRequest struct {
	RequestHeader                *RequestHeader
	SubscriptionAcknowledgements []*SubscriptionAcknowledgement
}

func (*PublishRequest) Header added in v0.1.6

func (t *PublishRequest) Header() *RequestHeader

func (*PublishRequest) SetHeader added in v0.1.6

func (t *PublishRequest) SetHeader(h *RequestHeader)

type PublishResponse

type PublishResponse struct {
	ResponseHeader           *ResponseHeader
	SubscriptionID           uint32
	AvailableSequenceNumbers []uint32
	MoreNotifications        bool
	NotificationMessage      *NotificationMessage
	Results                  []StatusCode
	DiagnosticInfos          []*DiagnosticInfo
}

func (*PublishResponse) Header added in v0.1.6

func (t *PublishResponse) Header() *ResponseHeader

func (*PublishResponse) SetHeader added in v0.1.6

func (t *PublishResponse) SetHeader(h *ResponseHeader)

type PublishedDataItemsDataType

type PublishedDataItemsDataType struct {
	PublishedData []*PublishedVariableDataType
}

type PublishedDataSetDataType

type PublishedDataSetDataType struct {
	Name            string
	DataSetFolder   []string
	DataSetMetaData *DataSetMetaDataType
	ExtensionFields []*KeyValuePair
	DataSetSource   *ExtensionObject
}

type PublishedDataSetSourceDataType added in v0.1.12

type PublishedDataSetSourceDataType struct{}

type PublishedEventsDataType

type PublishedEventsDataType struct {
	EventNotifier  *NodeID
	SelectedFields []*SimpleAttributeOperand
	Filter         *ContentFilter
}

type PublishedVariableDataType

type PublishedVariableDataType struct {
	PublishedVariable    *NodeID
	AttributeID          AttributeID
	SamplingIntervalHint float64
	DeadbandType         uint32
	DeadbandValue        float64
	IndexRange           string
	SubstituteValue      *Variant
	MetaDataProperties   []*QualifiedName
}

type QualifiedName

type QualifiedName struct {
	NamespaceIndex uint16
	Name           string
}

QualifiedName contains a qualified name. It is, for example, used as BrowseName. The name part of the QualifiedName is restricted to 512 characters.

Specification: Part 3, 8.3

type QueryDataDescription

type QueryDataDescription struct {
	RelativePath *RelativePath
	AttributeID  AttributeID
	IndexRange   string
}

type QueryDataSet

type QueryDataSet struct {
	NodeID             *ExpandedNodeID
	TypeDefinitionNode *ExpandedNodeID
	Values             []*Variant
}

type QueryFirstRequest

type QueryFirstRequest struct {
	RequestHeader         *RequestHeader
	View                  *ViewDescription
	NodeTypes             []*NodeTypeDescription
	Filter                *ContentFilter
	MaxDataSetsToReturn   uint32
	MaxReferencesToReturn uint32
}

func (*QueryFirstRequest) Header added in v0.1.6

func (t *QueryFirstRequest) Header() *RequestHeader

func (*QueryFirstRequest) SetHeader added in v0.1.6

func (t *QueryFirstRequest) SetHeader(h *RequestHeader)

type QueryFirstResponse

type QueryFirstResponse struct {
	ResponseHeader    *ResponseHeader
	QueryDataSets     []*QueryDataSet
	ContinuationPoint []byte
	ParsingResults    []*ParsingResult
	DiagnosticInfos   []*DiagnosticInfo
	FilterResult      *ContentFilterResult
}

func (*QueryFirstResponse) Header added in v0.1.6

func (t *QueryFirstResponse) Header() *ResponseHeader

func (*QueryFirstResponse) SetHeader added in v0.1.6

func (t *QueryFirstResponse) SetHeader(h *ResponseHeader)

type QueryNextRequest

type QueryNextRequest struct {
	RequestHeader            *RequestHeader
	ReleaseContinuationPoint bool
	ContinuationPoint        []byte
}

func (*QueryNextRequest) Header added in v0.1.6

func (t *QueryNextRequest) Header() *RequestHeader

func (*QueryNextRequest) SetHeader added in v0.1.6

func (t *QueryNextRequest) SetHeader(h *RequestHeader)

type QueryNextResponse

type QueryNextResponse struct {
	ResponseHeader           *ResponseHeader
	QueryDataSets            []*QueryDataSet
	RevisedContinuationPoint []byte
}

func (*QueryNextResponse) Header added in v0.1.6

func (t *QueryNextResponse) Header() *ResponseHeader

func (*QueryNextResponse) SetHeader added in v0.1.6

func (t *QueryNextResponse) SetHeader(h *ResponseHeader)

type Range

type Range struct {
	Low  float64
	High float64
}

type ReadAtTimeDetails

type ReadAtTimeDetails struct {
	ReqTimes        []time.Time
	UseSimpleBounds bool
}

type ReadEventDetails

type ReadEventDetails struct {
	NumValuesPerNode uint32
	StartTime        time.Time
	EndTime          time.Time
	Filter           *EventFilter
}

type ReadProcessedDetails

type ReadProcessedDetails struct {
	StartTime              time.Time
	EndTime                time.Time
	ProcessingInterval     float64
	AggregateType          []*NodeID
	AggregateConfiguration *AggregateConfiguration
}

type ReadRawModifiedDetails

type ReadRawModifiedDetails struct {
	IsReadModified   bool
	StartTime        time.Time
	EndTime          time.Time
	NumValuesPerNode uint32
	ReturnBounds     bool
}

type ReadRequest

type ReadRequest struct {
	RequestHeader      *RequestHeader
	MaxAge             float64
	TimestampsToReturn TimestampsToReturn
	NodesToRead        []*ReadValueID
}

func (*ReadRequest) Header added in v0.1.6

func (t *ReadRequest) Header() *RequestHeader

func (*ReadRequest) SetHeader added in v0.1.6

func (t *ReadRequest) SetHeader(h *RequestHeader)

type ReadResponse

type ReadResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []*DataValue
	DiagnosticInfos []*DiagnosticInfo
}

func (*ReadResponse) Header added in v0.1.6

func (t *ReadResponse) Header() *ResponseHeader

func (*ReadResponse) SetHeader added in v0.1.6

func (t *ReadResponse) SetHeader(h *ResponseHeader)

type ReadValueID

type ReadValueID struct {
	NodeID       *NodeID
	AttributeID  AttributeID
	IndexRange   string
	DataEncoding *QualifiedName
}

type ReaderGroupDataType

type ReaderGroupDataType struct {
	Name                  string
	Enabled               bool
	SecurityMode          MessageSecurityMode
	SecurityGroupID       string
	SecurityKeyServices   []*EndpointDescription
	MaxNetworkMessageSize uint32
	GroupProperties       []*KeyValuePair
	TransportSettings     *ExtensionObject
	MessageSettings       *ExtensionObject
	DataSetReaders        []*DataSetReaderDataType
}

type ReaderGroupMessageDataType added in v0.1.12

type ReaderGroupMessageDataType struct{}

type ReaderGroupTransportDataType added in v0.1.12

type ReaderGroupTransportDataType struct{}

type RedundancySupport

type RedundancySupport uint32
const (
	RedundancySupportNone           RedundancySupport = 0
	RedundancySupportCold           RedundancySupport = 1
	RedundancySupportWarm           RedundancySupport = 2
	RedundancySupportHot            RedundancySupport = 3
	RedundancySupportTransparent    RedundancySupport = 4
	RedundancySupportHotAndMirrored RedundancySupport = 5
)

func RedundancySupportFromString

func RedundancySupportFromString(s string) RedundancySupport

func (RedundancySupport) String

func (i RedundancySupport) String() string

type RedundantServerDataType

type RedundantServerDataType struct {
	ServerID     string
	ServiceLevel uint8
	ServerState  ServerState
}

type ReferenceDescription

type ReferenceDescription struct {
	ReferenceTypeID *NodeID
	IsForward       bool
	NodeID          *ExpandedNodeID
	BrowseName      *QualifiedName
	DisplayName     *LocalizedText
	NodeClass       NodeClass
	TypeDefinition  *ExpandedNodeID
}

type ReferenceNode

type ReferenceNode struct {
	ReferenceTypeID *NodeID
	IsInverse       bool
	TargetID        *ExpandedNodeID
}

type ReferenceTypeAttributes

type ReferenceTypeAttributes struct {
	SpecifiedAttributes uint32
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	IsAbstract          bool
	Symmetric           bool
	InverseName         *LocalizedText
}

type ReferenceTypeNode

type ReferenceTypeNode struct {
	NodeID              *NodeID
	NodeClass           NodeClass
	BrowseName          *QualifiedName
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	RolePermissions     []*RolePermissionType
	UserRolePermissions []*RolePermissionType
	AccessRestrictions  uint16
	References          []*ReferenceNode
	IsAbstract          bool
	Symmetric           bool
	InverseName         *LocalizedText
}

type RegisterNodesRequest

type RegisterNodesRequest struct {
	RequestHeader   *RequestHeader
	NodesToRegister []*NodeID
}

func (*RegisterNodesRequest) Header added in v0.1.6

func (t *RegisterNodesRequest) Header() *RequestHeader

func (*RegisterNodesRequest) SetHeader added in v0.1.6

func (t *RegisterNodesRequest) SetHeader(h *RequestHeader)

type RegisterNodesResponse

type RegisterNodesResponse struct {
	ResponseHeader    *ResponseHeader
	RegisteredNodeIDs []*NodeID
}

func (*RegisterNodesResponse) Header added in v0.1.6

func (*RegisterNodesResponse) SetHeader added in v0.1.6

func (t *RegisterNodesResponse) SetHeader(h *ResponseHeader)

type RegisterServer2Request

type RegisterServer2Request struct {
	RequestHeader          *RequestHeader
	Server                 *RegisteredServer
	DiscoveryConfiguration []*ExtensionObject
}

func (*RegisterServer2Request) Header added in v0.1.6

func (*RegisterServer2Request) SetHeader added in v0.1.6

func (t *RegisterServer2Request) SetHeader(h *RequestHeader)

type RegisterServer2Response

type RegisterServer2Response struct {
	ResponseHeader       *ResponseHeader
	ConfigurationResults []StatusCode
	DiagnosticInfos      []*DiagnosticInfo
}

func (*RegisterServer2Response) Header added in v0.1.6

func (*RegisterServer2Response) SetHeader added in v0.1.6

func (t *RegisterServer2Response) SetHeader(h *ResponseHeader)

type RegisterServerRequest

type RegisterServerRequest struct {
	RequestHeader *RequestHeader
	Server        *RegisteredServer
}

func (*RegisterServerRequest) Header added in v0.1.6

func (t *RegisterServerRequest) Header() *RequestHeader

func (*RegisterServerRequest) SetHeader added in v0.1.6

func (t *RegisterServerRequest) SetHeader(h *RequestHeader)

type RegisterServerResponse

type RegisterServerResponse struct {
	ResponseHeader *ResponseHeader
}

func (*RegisterServerResponse) Header added in v0.1.6

func (*RegisterServerResponse) SetHeader added in v0.1.6

func (t *RegisterServerResponse) SetHeader(h *ResponseHeader)

type RegisteredServer

type RegisteredServer struct {
	ServerURI         string
	ProductURI        string
	ServerNames       []*LocalizedText
	ServerType        ApplicationType
	GatewayServerURI  string
	DiscoveryURLs     []string
	SemaphoreFilePath string
	IsOnline          bool
}

type RelativePath

type RelativePath struct {
	Elements []*RelativePathElement
}

type RelativePathElement

type RelativePathElement struct {
	ReferenceTypeID *NodeID
	IsInverse       bool
	IncludeSubtypes bool
	TargetName      *QualifiedName
}

type RepublishRequest

type RepublishRequest struct {
	RequestHeader            *RequestHeader
	SubscriptionID           uint32
	RetransmitSequenceNumber uint32
}

func (*RepublishRequest) Header added in v0.1.6

func (t *RepublishRequest) Header() *RequestHeader

func (*RepublishRequest) SetHeader added in v0.1.6

func (t *RepublishRequest) SetHeader(h *RequestHeader)

type RepublishResponse

type RepublishResponse struct {
	ResponseHeader      *ResponseHeader
	NotificationMessage *NotificationMessage
}

func (*RepublishResponse) Header added in v0.1.6

func (t *RepublishResponse) Header() *ResponseHeader

func (*RepublishResponse) SetHeader added in v0.1.6

func (t *RepublishResponse) SetHeader(h *ResponseHeader)

type Request added in v0.1.6

type Request interface {
	Header() *RequestHeader
	SetHeader(*RequestHeader)
}

type RequestHeader

type RequestHeader struct {
	AuthenticationToken *NodeID
	Timestamp           time.Time
	RequestHandle       uint32
	ReturnDiagnostics   uint32
	AuditEntryID        string
	TimeoutHint         uint32
	AdditionalHeader    *ExtensionObject
}

func (*RequestHeader) HasReturnDiagnostics

func (r *RequestHeader) HasReturnDiagnostics(mask uint32) bool

type Response added in v0.1.6

type Response interface {
	Header() *ResponseHeader
	SetHeader(*ResponseHeader)
}

type ResponseHeader

type ResponseHeader struct {
	Timestamp          time.Time
	RequestHandle      uint32
	ServiceResult      StatusCode
	ServiceDiagnostics *DiagnosticInfo
	StringTable        []string
	AdditionalHeader   *ExtensionObject
}

type RolePermissionType

type RolePermissionType struct {
	RoleID      *NodeID
	Permissions PermissionType
}

type SamplingIntervalDiagnosticsDataType

type SamplingIntervalDiagnosticsDataType struct {
	SamplingInterval           float64
	MonitoredItemCount         uint32
	MaxMonitoredItemCount      uint32
	DisabledMonitoredItemCount uint32
}

type SecurityTokenRequestType

type SecurityTokenRequestType uint32
const (
	SecurityTokenRequestTypeIssue SecurityTokenRequestType = 0
	SecurityTokenRequestTypeRenew SecurityTokenRequestType = 1
)

func SecurityTokenRequestTypeFromString

func SecurityTokenRequestTypeFromString(s string) SecurityTokenRequestType

func (SecurityTokenRequestType) String

func (i SecurityTokenRequestType) String() string

type SemanticChangeStructureDataType

type SemanticChangeStructureDataType struct {
	Affected     *NodeID
	AffectedType *NodeID
}

type ServerDiagnosticsSummaryDataType

type ServerDiagnosticsSummaryDataType struct {
	ServerViewCount               uint32
	CurrentSessionCount           uint32
	CumulatedSessionCount         uint32
	SecurityRejectedSessionCount  uint32
	RejectedSessionCount          uint32
	SessionTimeoutCount           uint32
	SessionAbortCount             uint32
	CurrentSubscriptionCount      uint32
	CumulatedSubscriptionCount    uint32
	PublishingIntervalCount       uint32
	SecurityRejectedRequestsCount uint32
	RejectedRequestsCount         uint32
}

type ServerOnNetwork

type ServerOnNetwork struct {
	RecordID           uint32
	ServerName         string
	DiscoveryURL       string
	ServerCapabilities []string
}

type ServerState

type ServerState uint32
const (
	ServerStateRunning            ServerState = 0
	ServerStateFailed             ServerState = 1
	ServerStateNoConfiguration    ServerState = 2
	ServerStateSuspended          ServerState = 3
	ServerStateShutdown           ServerState = 4
	ServerStateTest               ServerState = 5
	ServerStateCommunicationFault ServerState = 6
	ServerStateUnknown            ServerState = 7
)

func ServerStateFromString

func ServerStateFromString(s string) ServerState

func (ServerState) String

func (i ServerState) String() string

type ServerStatusDataType

type ServerStatusDataType struct {
	StartTime           time.Time
	CurrentTime         time.Time
	State               ServerState
	BuildInfo           *BuildInfo
	SecondsTillShutdown uint32
	ShutdownReason      *LocalizedText
}

type ServiceCounterDataType

type ServiceCounterDataType struct {
	TotalCount uint32
	ErrorCount uint32
}

type ServiceFault

type ServiceFault struct {
	ResponseHeader *ResponseHeader
}

func (*ServiceFault) Header added in v0.1.6

func (t *ServiceFault) Header() *ResponseHeader

func (*ServiceFault) SetHeader added in v0.1.6

func (t *ServiceFault) SetHeader(h *ResponseHeader)

type SessionDiagnosticsDataType

type SessionDiagnosticsDataType struct {
	SessionID                          *NodeID
	SessionName                        string
	ClientDescription                  *ApplicationDescription
	ServerURI                          string
	EndpointURL                        string
	LocaleIDs                          []string
	ActualSessionTimeout               float64
	MaxResponseMessageSize             uint32
	ClientConnectionTime               time.Time
	ClientLastContactTime              time.Time
	CurrentSubscriptionsCount          uint32
	CurrentMonitoredItemsCount         uint32
	CurrentPublishRequestsInQueue      uint32
	TotalRequestCount                  *ServiceCounterDataType
	UnauthorizedRequestCount           uint32
	ReadCount                          *ServiceCounterDataType
	HistoryReadCount                   *ServiceCounterDataType
	WriteCount                         *ServiceCounterDataType
	HistoryUpdateCount                 *ServiceCounterDataType
	CallCount                          *ServiceCounterDataType
	CreateMonitoredItemsCount          *ServiceCounterDataType
	ModifyMonitoredItemsCount          *ServiceCounterDataType
	SetMonitoringModeCount             *ServiceCounterDataType
	SetTriggeringCount                 *ServiceCounterDataType
	DeleteMonitoredItemsCount          *ServiceCounterDataType
	CreateSubscriptionCount            *ServiceCounterDataType
	ModifySubscriptionCount            *ServiceCounterDataType
	SetPublishingModeCount             *ServiceCounterDataType
	PublishCount                       *ServiceCounterDataType
	RepublishCount                     *ServiceCounterDataType
	TransferSubscriptionsCount         *ServiceCounterDataType
	DeleteSubscriptionsCount           *ServiceCounterDataType
	AddNodesCount                      *ServiceCounterDataType
	AddReferencesCount                 *ServiceCounterDataType
	DeleteNodesCount                   *ServiceCounterDataType
	DeleteReferencesCount              *ServiceCounterDataType
	BrowseCount                        *ServiceCounterDataType
	BrowseNextCount                    *ServiceCounterDataType
	TranslateBrowsePathsToNodeIDsCount *ServiceCounterDataType
	QueryFirstCount                    *ServiceCounterDataType
	QueryNextCount                     *ServiceCounterDataType
	RegisterNodesCount                 *ServiceCounterDataType
	UnregisterNodesCount               *ServiceCounterDataType
}

type SessionSecurityDiagnosticsDataType

type SessionSecurityDiagnosticsDataType struct {
	SessionID               *NodeID
	ClientUserIDOfSession   string
	ClientUserIDHistory     []string
	AuthenticationMechanism string
	Encoding                string
	TransportProtocol       string
	SecurityMode            MessageSecurityMode
	SecurityPolicyURI       string
	ClientCertificate       []byte
}

type SessionlessInvokeRequestType

type SessionlessInvokeRequestType struct {
	URIsVersion   []uint32
	NamespaceURIs []string
	ServerURIs    []string
	LocaleIDs     []string
	ServiceID     uint32
}

type SessionlessInvokeResponseType

type SessionlessInvokeResponseType struct {
	NamespaceURIs []string
	ServerURIs    []string
	ServiceID     uint32
}

type SetMonitoringModeRequest

type SetMonitoringModeRequest struct {
	RequestHeader    *RequestHeader
	SubscriptionID   uint32
	MonitoringMode   MonitoringMode
	MonitoredItemIDs []uint32
}

func (*SetMonitoringModeRequest) Header added in v0.1.6

func (*SetMonitoringModeRequest) SetHeader added in v0.1.6

func (t *SetMonitoringModeRequest) SetHeader(h *RequestHeader)

type SetMonitoringModeResponse

type SetMonitoringModeResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []StatusCode
	DiagnosticInfos []*DiagnosticInfo
}

func (*SetMonitoringModeResponse) Header added in v0.1.6

func (*SetMonitoringModeResponse) SetHeader added in v0.1.6

func (t *SetMonitoringModeResponse) SetHeader(h *ResponseHeader)

type SetPublishingModeRequest

type SetPublishingModeRequest struct {
	RequestHeader     *RequestHeader
	PublishingEnabled bool
	SubscriptionIDs   []uint32
}

func (*SetPublishingModeRequest) Header added in v0.1.6

func (*SetPublishingModeRequest) SetHeader added in v0.1.6

func (t *SetPublishingModeRequest) SetHeader(h *RequestHeader)

type SetPublishingModeResponse

type SetPublishingModeResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []StatusCode
	DiagnosticInfos []*DiagnosticInfo
}

func (*SetPublishingModeResponse) Header added in v0.1.6

func (*SetPublishingModeResponse) SetHeader added in v0.1.6

func (t *SetPublishingModeResponse) SetHeader(h *ResponseHeader)

type SetTriggeringRequest

type SetTriggeringRequest struct {
	RequestHeader    *RequestHeader
	SubscriptionID   uint32
	TriggeringItemID uint32
	LinksToAdd       []uint32
	LinksToRemove    []uint32
}

func (*SetTriggeringRequest) Header added in v0.1.6

func (t *SetTriggeringRequest) Header() *RequestHeader

func (*SetTriggeringRequest) SetHeader added in v0.1.6

func (t *SetTriggeringRequest) SetHeader(h *RequestHeader)

type SetTriggeringResponse

type SetTriggeringResponse struct {
	ResponseHeader        *ResponseHeader
	AddResults            []StatusCode
	AddDiagnosticInfos    []*DiagnosticInfo
	RemoveResults         []StatusCode
	RemoveDiagnosticInfos []*DiagnosticInfo
}

func (*SetTriggeringResponse) Header added in v0.1.6

func (*SetTriggeringResponse) SetHeader added in v0.1.6

func (t *SetTriggeringResponse) SetHeader(h *ResponseHeader)

type SignatureData

type SignatureData struct {
	Algorithm string
	Signature []byte
}

type SignedSoftwareCertificate

type SignedSoftwareCertificate struct {
	CertificateData []byte
	Signature       []byte
}

type SimpleAttributeOperand

type SimpleAttributeOperand struct {
	TypeDefinitionID *NodeID
	BrowsePath       []*QualifiedName
	AttributeID      AttributeID
	IndexRange       string
}

type SimpleTypeDescription

type SimpleTypeDescription struct {
	DataTypeID   *NodeID
	Name         *QualifiedName
	BaseDataType *NodeID
	BuiltInType  uint8
}

type StatusChangeNotification

type StatusChangeNotification struct {
	Status         StatusCode
	DiagnosticInfo *DiagnosticInfo
}

type StatusCode

type StatusCode uint32

StatusCode is an error type for a status code.

var (
	StatusOK        StatusCode = 0x0
	StatusUncertain StatusCode = 0x40000000
	StatusBad       StatusCode = 0x80000000

	StatusBadUnexpectedError                      StatusCode = 0x80010000
	StatusBadInternalError                        StatusCode = 0x80020000
	StatusBadOutOfMemory                          StatusCode = 0x80030000
	StatusBadResourceUnavailable                  StatusCode = 0x80040000
	StatusBadCommunicationError                   StatusCode = 0x80050000
	StatusBadEncodingError                        StatusCode = 0x80060000
	StatusBadDecodingError                        StatusCode = 0x80070000
	StatusBadEncodingLimitsExceeded               StatusCode = 0x80080000
	StatusBadRequestTooLarge                      StatusCode = 0x80B80000
	StatusBadResponseTooLarge                     StatusCode = 0x80B90000
	StatusBadUnknownResponse                      StatusCode = 0x80090000
	StatusBadTimeout                              StatusCode = 0x800A0000
	StatusBadServiceUnsupported                   StatusCode = 0x800B0000
	StatusBadShutdown                             StatusCode = 0x800C0000
	StatusBadServerNotConnected                   StatusCode = 0x800D0000
	StatusBadServerHalted                         StatusCode = 0x800E0000
	StatusBadNothingToDo                          StatusCode = 0x800F0000
	StatusBadTooManyOperations                    StatusCode = 0x80100000
	StatusBadTooManyMonitoredItems                StatusCode = 0x80DB0000
	StatusBadDataTypeIDUnknown                    StatusCode = 0x80110000
	StatusBadCertificateInvalid                   StatusCode = 0x80120000
	StatusBadSecurityChecksFailed                 StatusCode = 0x80130000
	StatusBadCertificatePolicyCheckFailed         StatusCode = 0x81140000
	StatusBadCertificateTimeInvalid               StatusCode = 0x80140000
	StatusBadCertificateIssuerTimeInvalid         StatusCode = 0x80150000
	StatusBadCertificateHostNameInvalid           StatusCode = 0x80160000
	StatusBadCertificateURIInvalid                StatusCode = 0x80170000
	StatusBadCertificateUseNotAllowed             StatusCode = 0x80180000
	StatusBadCertificateIssuerUseNotAllowed       StatusCode = 0x80190000
	StatusBadCertificateUntrusted                 StatusCode = 0x801A0000
	StatusBadCertificateRevocationUnknown         StatusCode = 0x801B0000
	StatusBadCertificateIssuerRevocationUnknown   StatusCode = 0x801C0000
	StatusBadCertificateRevoked                   StatusCode = 0x801D0000
	StatusBadCertificateIssuerRevoked             StatusCode = 0x801E0000
	StatusBadCertificateChainIncomplete           StatusCode = 0x810D0000
	StatusBadUserAccessDenied                     StatusCode = 0x801F0000
	StatusBadIdentityTokenInvalid                 StatusCode = 0x80200000
	StatusBadIdentityTokenRejected                StatusCode = 0x80210000
	StatusBadSecureChannelIDInvalid               StatusCode = 0x80220000
	StatusBadInvalidTimestamp                     StatusCode = 0x80230000
	StatusBadNonceInvalid                         StatusCode = 0x80240000
	StatusBadSessionIDInvalid                     StatusCode = 0x80250000
	StatusBadSessionClosed                        StatusCode = 0x80260000
	StatusBadSessionNotActivated                  StatusCode = 0x80270000
	StatusBadSubscriptionIDInvalid                StatusCode = 0x80280000
	StatusBadRequestHeaderInvalid                 StatusCode = 0x802A0000
	StatusBadTimestampsToReturnInvalid            StatusCode = 0x802B0000
	StatusBadRequestCancelledByClient             StatusCode = 0x802C0000
	StatusBadTooManyArguments                     StatusCode = 0x80E50000
	StatusBadLicenseExpired                       StatusCode = 0x810E0000
	StatusBadLicenseLimitsExceeded                StatusCode = 0x810F0000
	StatusBadLicenseNotAvailable                  StatusCode = 0x81100000
	StatusGoodSubscriptionTransferred             StatusCode = 0x002D0000
	StatusGoodCompletesAsynchronously             StatusCode = 0x002E0000
	StatusGoodOverload                            StatusCode = 0x002F0000
	StatusGoodClamped                             StatusCode = 0x00300000
	StatusBadNoCommunication                      StatusCode = 0x80310000
	StatusBadWaitingForInitialData                StatusCode = 0x80320000
	StatusBadNodeIDInvalid                        StatusCode = 0x80330000
	StatusBadNodeIDUnknown                        StatusCode = 0x80340000
	StatusBadAttributeIDInvalid                   StatusCode = 0x80350000
	StatusBadIndexRangeInvalid                    StatusCode = 0x80360000
	StatusBadIndexRangeNoData                     StatusCode = 0x80370000
	StatusBadDataEncodingInvalid                  StatusCode = 0x80380000
	StatusBadDataEncodingUnsupported              StatusCode = 0x80390000
	StatusBadNotReadable                          StatusCode = 0x803A0000
	StatusBadNotWritable                          StatusCode = 0x803B0000
	StatusBadOutOfRange                           StatusCode = 0x803C0000
	StatusBadNotSupported                         StatusCode = 0x803D0000
	StatusBadNotFound                             StatusCode = 0x803E0000
	StatusBadObjectDeleted                        StatusCode = 0x803F0000
	StatusBadNotImplemented                       StatusCode = 0x80400000
	StatusBadMonitoringModeInvalid                StatusCode = 0x80410000
	StatusBadMonitoredItemIDInvalid               StatusCode = 0x80420000
	StatusBadMonitoredItemFilterInvalid           StatusCode = 0x80430000
	StatusBadMonitoredItemFilterUnsupported       StatusCode = 0x80440000
	StatusBadFilterNotAllowed                     StatusCode = 0x80450000
	StatusBadStructureMissing                     StatusCode = 0x80460000
	StatusBadEventFilterInvalid                   StatusCode = 0x80470000
	StatusBadContentFilterInvalid                 StatusCode = 0x80480000
	StatusBadFilterOperatorInvalid                StatusCode = 0x80C10000
	StatusBadFilterOperatorUnsupported            StatusCode = 0x80C20000
	StatusBadFilterOperandCountMismatch           StatusCode = 0x80C30000
	StatusBadFilterOperandInvalid                 StatusCode = 0x80490000
	StatusBadFilterElementInvalid                 StatusCode = 0x80C40000
	StatusBadFilterLiteralInvalid                 StatusCode = 0x80C50000
	StatusBadContinuationPointInvalid             StatusCode = 0x804A0000
	StatusBadNoContinuationPoints                 StatusCode = 0x804B0000
	StatusBadReferenceTypeIDInvalid               StatusCode = 0x804C0000
	StatusBadBrowseDirectionInvalid               StatusCode = 0x804D0000
	StatusBadNodeNotInView                        StatusCode = 0x804E0000
	StatusBadNumericOverflow                      StatusCode = 0x81120000
	StatusBadServerURIInvalid                     StatusCode = 0x804F0000
	StatusBadServerNameMissing                    StatusCode = 0x80500000
	StatusBadDiscoveryURLMissing                  StatusCode = 0x80510000
	StatusBadSempahoreFileMissing                 StatusCode = 0x80520000
	StatusBadRequestTypeInvalid                   StatusCode = 0x80530000
	StatusBadSecurityModeRejected                 StatusCode = 0x80540000
	StatusBadSecurityPolicyRejected               StatusCode = 0x80550000
	StatusBadTooManySessions                      StatusCode = 0x80560000
	StatusBadUserSignatureInvalid                 StatusCode = 0x80570000
	StatusBadApplicationSignatureInvalid          StatusCode = 0x80580000
	StatusBadNoValidCertificates                  StatusCode = 0x80590000
	StatusBadIdentityChangeNotSupported           StatusCode = 0x80C60000
	StatusBadRequestCancelledByRequest            StatusCode = 0x805A0000
	StatusBadParentNodeIDInvalid                  StatusCode = 0x805B0000
	StatusBadReferenceNotAllowed                  StatusCode = 0x805C0000
	StatusBadNodeIDRejected                       StatusCode = 0x805D0000
	StatusBadNodeIDExists                         StatusCode = 0x805E0000
	StatusBadNodeClassInvalid                     StatusCode = 0x805F0000
	StatusBadBrowseNameInvalid                    StatusCode = 0x80600000
	StatusBadBrowseNameDuplicated                 StatusCode = 0x80610000
	StatusBadNodeAttributesInvalid                StatusCode = 0x80620000
	StatusBadTypeDefinitionInvalid                StatusCode = 0x80630000
	StatusBadSourceNodeIDInvalid                  StatusCode = 0x80640000
	StatusBadTargetNodeIDInvalid                  StatusCode = 0x80650000
	StatusBadDuplicateReferenceNotAllowed         StatusCode = 0x80660000
	StatusBadInvalidSelfReference                 StatusCode = 0x80670000
	StatusBadReferenceLocalOnly                   StatusCode = 0x80680000
	StatusBadNoDeleteRights                       StatusCode = 0x80690000
	StatusUncertainReferenceNotDeleted            StatusCode = 0x40BC0000
	StatusBadServerIndexInvalid                   StatusCode = 0x806A0000
	StatusBadViewIDUnknown                        StatusCode = 0x806B0000
	StatusBadViewTimestampInvalid                 StatusCode = 0x80C90000
	StatusBadViewParameterMismatch                StatusCode = 0x80CA0000
	StatusBadViewVersionInvalid                   StatusCode = 0x80CB0000
	StatusUncertainNotAllNodesAvailable           StatusCode = 0x40C00000
	StatusGoodResultsMayBeIncomplete              StatusCode = 0x00BA0000
	StatusBadNotTypeDefinition                    StatusCode = 0x80C80000
	StatusUncertainReferenceOutOfServer           StatusCode = 0x406C0000
	StatusBadTooManyMatches                       StatusCode = 0x806D0000
	StatusBadQueryTooComplex                      StatusCode = 0x806E0000
	StatusBadNoMatch                              StatusCode = 0x806F0000
	StatusBadMaxAgeInvalid                        StatusCode = 0x80700000
	StatusBadSecurityModeInsufficient             StatusCode = 0x80E60000
	StatusBadHistoryOperationInvalid              StatusCode = 0x80710000
	StatusBadHistoryOperationUnsupported          StatusCode = 0x80720000
	StatusBadInvalidTimestampArgument             StatusCode = 0x80BD0000
	StatusBadWriteNotSupported                    StatusCode = 0x80730000
	StatusBadTypeMismatch                         StatusCode = 0x80740000
	StatusBadMethodInvalid                        StatusCode = 0x80750000
	StatusBadArgumentsMissing                     StatusCode = 0x80760000
	StatusBadNotExecutable                        StatusCode = 0x81110000
	StatusBadTooManySubscriptions                 StatusCode = 0x80770000
	StatusBadTooManyPublishRequests               StatusCode = 0x80780000
	StatusBadNoSubscription                       StatusCode = 0x80790000
	StatusBadSequenceNumberUnknown                StatusCode = 0x807A0000
	StatusBadMessageNotAvailable                  StatusCode = 0x807B0000
	StatusBadInsufficientClientProfile            StatusCode = 0x807C0000
	StatusBadStateNotActive                       StatusCode = 0x80BF0000
	StatusBadAlreadyExists                        StatusCode = 0x81150000
	StatusBadTCPServerTooBusy                     StatusCode = 0x807D0000
	StatusBadTCPMessageTypeInvalid                StatusCode = 0x807E0000
	StatusBadTCPSecureChannelUnknown              StatusCode = 0x807F0000
	StatusBadTCPMessageTooLarge                   StatusCode = 0x80800000
	StatusBadTCPNotEnoughResources                StatusCode = 0x80810000
	StatusBadTCPInternalError                     StatusCode = 0x80820000
	StatusBadTCPEndpointURLInvalid                StatusCode = 0x80830000
	StatusBadRequestInterrupted                   StatusCode = 0x80840000
	StatusBadRequestTimeout                       StatusCode = 0x80850000
	StatusBadSecureChannelClosed                  StatusCode = 0x80860000
	StatusBadSecureChannelTokenUnknown            StatusCode = 0x80870000
	StatusBadSequenceNumberInvalid                StatusCode = 0x80880000
	StatusBadProtocolVersionUnsupported           StatusCode = 0x80BE0000
	StatusBadConfigurationError                   StatusCode = 0x80890000
	StatusBadNotConnected                         StatusCode = 0x808A0000
	StatusBadDeviceFailure                        StatusCode = 0x808B0000
	StatusBadSensorFailure                        StatusCode = 0x808C0000
	StatusBadOutOfService                         StatusCode = 0x808D0000
	StatusBadDeadbandFilterInvalid                StatusCode = 0x808E0000
	StatusUncertainNoCommunicationLastUsableValue StatusCode = 0x408F0000
	StatusUncertainLastUsableValue                StatusCode = 0x40900000
	StatusUncertainSubstituteValue                StatusCode = 0x40910000
	StatusUncertainInitialValue                   StatusCode = 0x40920000
	StatusUncertainSensorNotAccurate              StatusCode = 0x40930000
	StatusUncertainEngineeringUnitsExceeded       StatusCode = 0x40940000
	StatusUncertainSubNormal                      StatusCode = 0x40950000
	StatusGoodLocalOverride                       StatusCode = 0x00960000
	StatusBadRefreshInProgress                    StatusCode = 0x80970000
	StatusBadConditionAlreadyDisabled             StatusCode = 0x80980000
	StatusBadConditionAlreadyEnabled              StatusCode = 0x80CC0000
	StatusBadConditionDisabled                    StatusCode = 0x80990000
	StatusBadEventIDUnknown                       StatusCode = 0x809A0000
	StatusBadEventNotAcknowledgeable              StatusCode = 0x80BB0000
	StatusBadDialogNotActive                      StatusCode = 0x80CD0000
	StatusBadDialogResponseInvalid                StatusCode = 0x80CE0000
	StatusBadConditionBranchAlreadyAcked          StatusCode = 0x80CF0000
	StatusBadConditionBranchAlreadyConfirmed      StatusCode = 0x80D00000
	StatusBadConditionAlreadyShelved              StatusCode = 0x80D10000
	StatusBadConditionNotShelved                  StatusCode = 0x80D20000
	StatusBadShelvingTimeOutOfRange               StatusCode = 0x80D30000
	StatusBadNoData                               StatusCode = 0x809B0000
	StatusBadBoundNotFound                        StatusCode = 0x80D70000
	StatusBadBoundNotSupported                    StatusCode = 0x80D80000
	StatusBadDataLost                             StatusCode = 0x809D0000
	StatusBadDataUnavailable                      StatusCode = 0x809E0000
	StatusBadEntryExists                          StatusCode = 0x809F0000
	StatusBadNoEntryExists                        StatusCode = 0x80A00000
	StatusBadTimestampNotSupported                StatusCode = 0x80A10000
	StatusGoodEntryInserted                       StatusCode = 0x00A20000
	StatusGoodEntryReplaced                       StatusCode = 0x00A30000
	StatusUncertainDataSubNormal                  StatusCode = 0x40A40000
	StatusGoodNoData                              StatusCode = 0x00A50000
	StatusGoodMoreData                            StatusCode = 0x00A60000
	StatusBadAggregateListMismatch                StatusCode = 0x80D40000
	StatusBadAggregateNotSupported                StatusCode = 0x80D50000
	StatusBadAggregateInvalidInputs               StatusCode = 0x80D60000
	StatusBadAggregateConfigurationRejected       StatusCode = 0x80DA0000
	StatusGoodDataIgnored                         StatusCode = 0x00D90000
	StatusBadRequestNotAllowed                    StatusCode = 0x80E40000
	StatusBadRequestNotComplete                   StatusCode = 0x81130000
	StatusGoodEdited                              StatusCode = 0x00DC0000
	StatusGoodPostActionFailed                    StatusCode = 0x00DD0000
	StatusUncertainDominantValueChanged           StatusCode = 0x40DE0000
	StatusGoodDependentValueChanged               StatusCode = 0x00E00000
	StatusBadDominantValueChanged                 StatusCode = 0x80E10000
	StatusUncertainDependentValueChanged          StatusCode = 0x40E20000
	StatusBadDependentValueChanged                StatusCode = 0x80E30000
	StatusGoodCommunicationEvent                  StatusCode = 0x00A70000
	StatusGoodShutdownEvent                       StatusCode = 0x00A80000
	StatusGoodCallAgain                           StatusCode = 0x00A90000
	StatusGoodNonCriticalTimeout                  StatusCode = 0x00AA0000
	StatusBadInvalidArgument                      StatusCode = 0x80AB0000
	StatusBadConnectionRejected                   StatusCode = 0x80AC0000
	StatusBadDisconnect                           StatusCode = 0x80AD0000
	StatusBadConnectionClosed                     StatusCode = 0x80AE0000
	StatusBadInvalidState                         StatusCode = 0x80AF0000
	StatusBadEndOfStream                          StatusCode = 0x80B00000
	StatusBadNoDataAvailable                      StatusCode = 0x80B10000
	StatusBadWaitingForResponse                   StatusCode = 0x80B20000
	StatusBadOperationAbandoned                   StatusCode = 0x80B30000
	StatusBadExpectedStreamToBlock                StatusCode = 0x80B40000
	StatusBadWouldBlock                           StatusCode = 0x80B50000
	StatusBadSyntaxError                          StatusCode = 0x80B60000
	StatusBadMaxConnectionsReached                StatusCode = 0x80B70000
)

func (StatusCode) Error

func (n StatusCode) Error() string

type StatusCodeDesc

type StatusCodeDesc struct {
	Name string
	Text string
}

type StatusResult

type StatusResult struct {
	StatusCode     StatusCode
	DiagnosticInfo *DiagnosticInfo
}

type StructureDefinition

type StructureDefinition struct {
	DefaultEncodingID *NodeID
	BaseDataType      *NodeID
	StructureType     StructureType
	Fields            []*StructureField
}

type StructureDescription

type StructureDescription struct {
	DataTypeID          *NodeID
	Name                *QualifiedName
	StructureDefinition *StructureDefinition
}

type StructureField

type StructureField struct {
	Name            string
	Description     *LocalizedText
	DataType        *NodeID
	ValueRank       int32
	ArrayDimensions []uint32
	MaxStringLength uint32
	IsOptional      bool
}

type StructureType

type StructureType uint32
const (
	StructureTypeStructure                   StructureType = 0
	StructureTypeStructureWithOptionalFields StructureType = 1
	StructureTypeUnion                       StructureType = 2
)

func StructureTypeFromString

func StructureTypeFromString(s string) StructureType

func (StructureType) String

func (i StructureType) String() string

type SubscribedDataSetDataType added in v0.1.12

type SubscribedDataSetDataType struct{}

type SubscribedDataSetMirrorDataType

type SubscribedDataSetMirrorDataType struct {
	ParentNodeName  string
	RolePermissions []*RolePermissionType
}

type SubscriptionAcknowledgement

type SubscriptionAcknowledgement struct {
	SubscriptionID uint32
	SequenceNumber uint32
}

type SubscriptionDiagnosticsDataType

type SubscriptionDiagnosticsDataType struct {
	SessionID                    *NodeID
	SubscriptionID               uint32
	Priority                     uint8
	PublishingInterval           float64
	MaxKeepAliveCount            uint32
	MaxLifetimeCount             uint32
	MaxNotificationsPerPublish   uint32
	PublishingEnabled            bool
	ModifyCount                  uint32
	EnableCount                  uint32
	DisableCount                 uint32
	RepublishRequestCount        uint32
	RepublishMessageRequestCount uint32
	RepublishMessageCount        uint32
	TransferRequestCount         uint32
	TransferredToAltClientCount  uint32
	TransferredToSameClientCount uint32
	PublishRequestCount          uint32
	DataChangeNotificationsCount uint32
	EventNotificationsCount      uint32
	NotificationsCount           uint32
	LatePublishRequestCount      uint32
	CurrentKeepAliveCount        uint32
	CurrentLifetimeCount         uint32
	UnacknowledgedMessageCount   uint32
	DiscardedMessageCount        uint32
	MonitoredItemCount           uint32
	DisabledMonitoredItemCount   uint32
	MonitoringQueueOverflowCount uint32
	NextSequenceNumber           uint32
	EventQueueOverFlowCount      uint32
}

type TargetVariablesDataType

type TargetVariablesDataType struct {
	TargetVariables []*FieldTargetDataType
}

type TimeZoneDataType

type TimeZoneDataType struct {
	Offset                 int16
	DaylightSavingInOffset bool
}

type TimestampsToReturn

type TimestampsToReturn uint32
const (
	TimestampsToReturnSource  TimestampsToReturn = 0
	TimestampsToReturnServer  TimestampsToReturn = 1
	TimestampsToReturnBoth    TimestampsToReturn = 2
	TimestampsToReturnNeither TimestampsToReturn = 3
	TimestampsToReturnInvalid TimestampsToReturn = 4
)

func TimestampsToReturnFromString

func TimestampsToReturnFromString(s string) TimestampsToReturn

func (TimestampsToReturn) String

func (i TimestampsToReturn) String() string

type TransferResult

type TransferResult struct {
	StatusCode               StatusCode
	AvailableSequenceNumbers []uint32
}

type TransferSubscriptionsRequest

type TransferSubscriptionsRequest struct {
	RequestHeader     *RequestHeader
	SubscriptionIDs   []uint32
	SendInitialValues bool
}

func (*TransferSubscriptionsRequest) Header added in v0.1.6

func (*TransferSubscriptionsRequest) SetHeader added in v0.1.6

type TransferSubscriptionsResponse

type TransferSubscriptionsResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []*TransferResult
	DiagnosticInfos []*DiagnosticInfo
}

func (*TransferSubscriptionsResponse) Header added in v0.1.6

func (*TransferSubscriptionsResponse) SetHeader added in v0.1.6

type TranslateBrowsePathsToNodeIDsRequest

type TranslateBrowsePathsToNodeIDsRequest struct {
	RequestHeader *RequestHeader
	BrowsePaths   []*BrowsePath
}

func (*TranslateBrowsePathsToNodeIDsRequest) Header added in v0.1.6

func (*TranslateBrowsePathsToNodeIDsRequest) SetHeader added in v0.1.6

type TranslateBrowsePathsToNodeIDsResponse

type TranslateBrowsePathsToNodeIDsResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []*BrowsePathResult
	DiagnosticInfos []*DiagnosticInfo
}

func (*TranslateBrowsePathsToNodeIDsResponse) Header added in v0.1.6

func (*TranslateBrowsePathsToNodeIDsResponse) SetHeader added in v0.1.6

type TrustListDataType

type TrustListDataType struct {
	SpecifiedLists      uint32
	TrustedCertificates [][]byte
	TrustedCrls         [][]byte
	IssuerCertificates  [][]byte
	IssuerCrls          [][]byte
}

type TrustListMasks

type TrustListMasks uint32
const (
	TrustListMasksNone                TrustListMasks = 0
	TrustListMasksTrustedCertificates TrustListMasks = 1
	TrustListMasksTrustedCrls         TrustListMasks = 2
	TrustListMasksIssuerCertificates  TrustListMasks = 4
	TrustListMasksIssuerCrls          TrustListMasks = 8
	TrustListMasksAll                 TrustListMasks = 15
)

func TrustListMasksFromString

func TrustListMasksFromString(s string) TrustListMasks

func (TrustListMasks) String

func (i TrustListMasks) String() string

type TypeID

type TypeID byte

Built-in type identifiers.

All OPC UA DataEncodings are based on rules that are defined for a standard set of built-in types. These built-in types are then used to construct structures, arrays and messages.

Specification: Part 6, 5.1.2

const (
	TypeIDNull            TypeID = 0 // not part of specification but some servers (e.g. Prosys) return it anyway
	TypeIDBoolean         TypeID = 1
	TypeIDSByte           TypeID = 2
	TypeIDByte            TypeID = 3
	TypeIDInt16           TypeID = 4
	TypeIDUint16          TypeID = 5
	TypeIDInt32           TypeID = 6
	TypeIDUint32          TypeID = 7
	TypeIDInt64           TypeID = 8
	TypeIDUint64          TypeID = 9
	TypeIDFloat           TypeID = 10
	TypeIDDouble          TypeID = 11
	TypeIDString          TypeID = 12
	TypeIDDateTime        TypeID = 13
	TypeIDGUID            TypeID = 14
	TypeIDByteString      TypeID = 15
	TypeIDXMLElement      TypeID = 16
	TypeIDNodeID          TypeID = 17
	TypeIDExpandedNodeID  TypeID = 18
	TypeIDStatusCode      TypeID = 19
	TypeIDQualifiedName   TypeID = 20
	TypeIDLocalizedText   TypeID = 21
	TypeIDExtensionObject TypeID = 22
	TypeIDDataValue       TypeID = 23
	TypeIDVariant         TypeID = 24
	TypeIDDiagnosticInfo  TypeID = 25
)

func (TypeID) String

func (i TypeID) String() string

type TypeNode

type TypeNode struct {
	NodeID              *NodeID
	NodeClass           NodeClass
	BrowseName          *QualifiedName
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	RolePermissions     []*RolePermissionType
	UserRolePermissions []*RolePermissionType
	AccessRestrictions  uint16
	References          []*ReferenceNode
}

type TypeRegistry added in v0.1.3

type TypeRegistry struct {
	// contains filtered or unexported fields
}

TypeRegistry provides a registry for Go types.

Each type is registered with a unique identifier which cannot be changed for the lifetime of the component.

Types can be registered multiple times under different identifiers.

The implementation is safe for concurrent use.

func NewTypeRegistry added in v0.1.3

func NewTypeRegistry() *TypeRegistry

NewTypeRegistry returns a new type registry.

func (*TypeRegistry) Lookup added in v0.1.3

func (r *TypeRegistry) Lookup(v interface{}) *NodeID

Lookup returns the id of the type of v or nil if the type is not registered.

If the type was registered multiple times the first registered id for this type is returned.

func (*TypeRegistry) New added in v0.1.3

func (r *TypeRegistry) New(id *NodeID) interface{}

New returns a new instance of the type with the given id.

If the id is not known the function returns nil.

New panics if id is nil.

func (*TypeRegistry) Register added in v0.1.3

func (r *TypeRegistry) Register(id *NodeID, v interface{}) error

Register adds a new type to the registry.

If the id is already registered as a different type the function returns an error.

Register panics if id is nil.

type UABinaryFileDataType

type UABinaryFileDataType struct {
	Namespaces         []string
	StructureDataTypes []*StructureDescription
	EnumDataTypes      []*EnumDescription
	SimpleDataTypes    []*SimpleTypeDescription
	SchemaLocation     string
	FileHeader         []*KeyValuePair
	Body               *Variant
}

type UADPDataSetMessageContentMask

type UADPDataSetMessageContentMask uint32
const (
	UADPDataSetMessageContentMaskNone           UADPDataSetMessageContentMask = 0
	UADPDataSetMessageContentMaskTimestamp      UADPDataSetMessageContentMask = 1
	UADPDataSetMessageContentMaskPicoSeconds    UADPDataSetMessageContentMask = 2
	UADPDataSetMessageContentMaskStatus         UADPDataSetMessageContentMask = 4
	UADPDataSetMessageContentMaskMajorVersion   UADPDataSetMessageContentMask = 8
	UADPDataSetMessageContentMaskMinorVersion   UADPDataSetMessageContentMask = 16
	UADPDataSetMessageContentMaskSequenceNumber UADPDataSetMessageContentMask = 32
)

func UADPDataSetMessageContentMaskFromString

func UADPDataSetMessageContentMaskFromString(s string) UADPDataSetMessageContentMask

func (UADPDataSetMessageContentMask) String

type UADPDataSetReaderMessageDataType

type UADPDataSetReaderMessageDataType struct {
	GroupVersion              uint32
	NetworkMessageNumber      uint16
	DataSetOffset             uint16
	DataSetClassID            *GUID
	NetworkMessageContentMask UADPNetworkMessageContentMask
	DataSetMessageContentMask UADPDataSetMessageContentMask
	PublishingInterval        float64
	ReceiveOffset             float64
	ProcessingOffset          float64
}

type UADPDataSetWriterMessageDataType

type UADPDataSetWriterMessageDataType struct {
	DataSetMessageContentMask UADPDataSetMessageContentMask
	ConfiguredSize            uint16
	NetworkMessageNumber      uint16
	DataSetOffset             uint16
}

type UADPNetworkMessageContentMask

type UADPNetworkMessageContentMask uint32
const (
	UADPNetworkMessageContentMaskNone                 UADPNetworkMessageContentMask = 0
	UADPNetworkMessageContentMaskPublisherID          UADPNetworkMessageContentMask = 1
	UADPNetworkMessageContentMaskGroupHeader          UADPNetworkMessageContentMask = 2
	UADPNetworkMessageContentMaskWriterGroupID        UADPNetworkMessageContentMask = 4
	UADPNetworkMessageContentMaskGroupVersion         UADPNetworkMessageContentMask = 8
	UADPNetworkMessageContentMaskNetworkMessageNumber UADPNetworkMessageContentMask = 16
	UADPNetworkMessageContentMaskSequenceNumber       UADPNetworkMessageContentMask = 32
	UADPNetworkMessageContentMaskPayloadHeader        UADPNetworkMessageContentMask = 64
	UADPNetworkMessageContentMaskTimestamp            UADPNetworkMessageContentMask = 128
	UADPNetworkMessageContentMaskPicoSeconds          UADPNetworkMessageContentMask = 256
	UADPNetworkMessageContentMaskDataSetClassID       UADPNetworkMessageContentMask = 512
	UADPNetworkMessageContentMaskPromotedFields       UADPNetworkMessageContentMask = 1024
)

func UADPNetworkMessageContentMaskFromString

func UADPNetworkMessageContentMaskFromString(s string) UADPNetworkMessageContentMask

func (UADPNetworkMessageContentMask) String

type UADPWriterGroupMessageDataType

type UADPWriterGroupMessageDataType struct {
	GroupVersion              uint32
	DataSetOrdering           DataSetOrderingType
	NetworkMessageContentMask UADPNetworkMessageContentMask
	SamplingOffset            float64
	PublishingOffset          []float64
}

type Union added in v0.1.12

type Union struct{}

type UnregisterNodesRequest

type UnregisterNodesRequest struct {
	RequestHeader     *RequestHeader
	NodesToUnregister []*NodeID
}

func (*UnregisterNodesRequest) Header added in v0.1.6

func (*UnregisterNodesRequest) SetHeader added in v0.1.6

func (t *UnregisterNodesRequest) SetHeader(h *RequestHeader)

type UnregisterNodesResponse

type UnregisterNodesResponse struct {
	ResponseHeader *ResponseHeader
}

func (*UnregisterNodesResponse) Header added in v0.1.6

func (*UnregisterNodesResponse) SetHeader added in v0.1.6

func (t *UnregisterNodesResponse) SetHeader(h *ResponseHeader)

type UpdateDataDetails

type UpdateDataDetails struct {
	NodeID               *NodeID
	PerformInsertReplace PerformUpdateType
	UpdateValues         []*DataValue
}

type UpdateEventDetails

type UpdateEventDetails struct {
	NodeID               *NodeID
	PerformInsertReplace PerformUpdateType
	Filter               *EventFilter
	EventData            []*HistoryEventFieldList
}

type UpdateStructureDataDetails

type UpdateStructureDataDetails struct {
	NodeID               *NodeID
	PerformInsertReplace PerformUpdateType
	UpdateValues         []*DataValue
}

type UserIdentityToken

type UserIdentityToken struct {
	PolicyID string
}

type UserNameIdentityToken

type UserNameIdentityToken struct {
	PolicyID            string
	UserName            string
	Password            []byte
	EncryptionAlgorithm string
}

type UserTokenPolicy

type UserTokenPolicy struct {
	PolicyID          string
	TokenType         UserTokenType
	IssuedTokenType   string
	IssuerEndpointURL string
	SecurityPolicyURI string
}

type UserTokenType

type UserTokenType uint32
const (
	UserTokenTypeAnonymous   UserTokenType = 0
	UserTokenTypeUserName    UserTokenType = 1
	UserTokenTypeCertificate UserTokenType = 2
	UserTokenTypeIssuedToken UserTokenType = 3
)

func UserTokenTypeFromString

func UserTokenTypeFromString(s string) UserTokenType

func (UserTokenType) String

func (i UserTokenType) String() string

type VariableAttributes

type VariableAttributes struct {
	SpecifiedAttributes     uint32
	DisplayName             *LocalizedText
	Description             *LocalizedText
	WriteMask               uint32
	UserWriteMask           uint32
	Value                   *Variant
	DataType                *NodeID
	ValueRank               int32
	ArrayDimensions         []uint32
	AccessLevel             uint8
	UserAccessLevel         uint8
	MinimumSamplingInterval float64
	Historizing             bool
}

type VariableNode

type VariableNode struct {
	NodeID                  *NodeID
	NodeClass               NodeClass
	BrowseName              *QualifiedName
	DisplayName             *LocalizedText
	Description             *LocalizedText
	WriteMask               uint32
	UserWriteMask           uint32
	RolePermissions         []*RolePermissionType
	UserRolePermissions     []*RolePermissionType
	AccessRestrictions      uint16
	References              []*ReferenceNode
	Value                   *Variant
	DataType                *NodeID
	ValueRank               int32
	ArrayDimensions         []uint32
	AccessLevel             uint8
	UserAccessLevel         uint8
	MinimumSamplingInterval float64
	Historizing             bool
	AccessLevelEx           uint32
}

type VariableTypeAttributes

type VariableTypeAttributes struct {
	SpecifiedAttributes uint32
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	Value               *Variant
	DataType            *NodeID
	ValueRank           int32
	ArrayDimensions     []uint32
	IsAbstract          bool
}

type VariableTypeNode

type VariableTypeNode struct {
	NodeID              *NodeID
	NodeClass           NodeClass
	BrowseName          *QualifiedName
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	RolePermissions     []*RolePermissionType
	UserRolePermissions []*RolePermissionType
	AccessRestrictions  uint16
	References          []*ReferenceNode
	Value               *Variant
	DataType            *NodeID
	ValueRank           int32
	ArrayDimensions     []uint32
	IsAbstract          bool
}

type Variant

type Variant struct {
	// contains filtered or unexported fields
}

Variant is a union of the built-in types.

Specification: Part 6, 5.1.2 Table 1

func MustVariant

func MustVariant(v interface{}) *Variant

func NewVariant

func NewVariant(v interface{}) (*Variant, error)

func (*Variant) ArrayDimensions

func (m *Variant) ArrayDimensions() []int32

ArrayDimensions returns the dimensions of multi-dimensional arrays.

func (*Variant) ArrayLength

func (m *Variant) ArrayLength() int32

ArrayLength returns the total number of elements for one and multi-dimensional array values.

func (*Variant) Bool

func (m *Variant) Bool() bool

Bool returns the boolean value if the type is Boolean.

func (*Variant) ByteArray added in v0.2.0

func (m *Variant) ByteArray() ByteArray

func (*Variant) ByteString added in v0.1.7

func (m *Variant) ByteString() []byte

func (*Variant) DataValue added in v0.1.7

func (m *Variant) DataValue() *DataValue

func (*Variant) Decode

func (m *Variant) Decode(b []byte) (int, error)

Decode implements the codec interface.

func (*Variant) DiagnosticInfo added in v0.1.7

func (m *Variant) DiagnosticInfo() *DiagnosticInfo

func (*Variant) Encode

func (m *Variant) Encode() ([]byte, error)

Encode implements the codec interface.

func (*Variant) EncodingMask

func (m *Variant) EncodingMask() byte

func (*Variant) ExpandedNodeID added in v0.1.7

func (m *Variant) ExpandedNodeID() *ExpandedNodeID

func (*Variant) ExtensionObject added in v0.1.7

func (m *Variant) ExtensionObject() *ExtensionObject

func (*Variant) Float

func (m *Variant) Float() float64

Float returns the float value if the type is one of the float types.

func (*Variant) GUID added in v0.1.7

func (m *Variant) GUID() *GUID

func (*Variant) Has

func (m *Variant) Has(mask byte) bool

Has returns whether given encoding mask bits are set.

func (*Variant) Int

func (m *Variant) Int() int64

Int returns the int value if the type is one of the int types.

func (*Variant) LocalizedText added in v0.1.7

func (m *Variant) LocalizedText() *LocalizedText

func (*Variant) NodeID added in v0.1.6

func (m *Variant) NodeID() *NodeID

func (*Variant) QualifiedName added in v0.1.7

func (m *Variant) QualifiedName() *QualifiedName

func (*Variant) StatusCode added in v0.1.7

func (m *Variant) StatusCode() StatusCode

func (*Variant) String

func (m *Variant) String() string

todo(fs): this should probably be StringValue or we need to handle all types todo(fs): and recursion

func (*Variant) Time

func (m *Variant) Time() time.Time

Time returns the time value if the type is DateTime.

func (*Variant) Type

func (m *Variant) Type() TypeID

Type returns the type id of the value.

func (*Variant) Uint

func (m *Variant) Uint() uint64

Uint returns the uint value if the type is one of the uint types.

func (*Variant) Value

func (m *Variant) Value() interface{}

Value returns the value.

func (*Variant) Variant added in v0.1.7

func (m *Variant) Variant() *Variant

func (*Variant) XMLElement added in v0.1.7

func (m *Variant) XMLElement() XMLElement

type ViewAttributes

type ViewAttributes struct {
	SpecifiedAttributes uint32
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	ContainsNoLoops     bool
	EventNotifier       uint8
}

type ViewDescription

type ViewDescription struct {
	ViewID      *NodeID
	Timestamp   time.Time
	ViewVersion uint32
}

type ViewNode

type ViewNode struct {
	NodeID              *NodeID
	NodeClass           NodeClass
	BrowseName          *QualifiedName
	DisplayName         *LocalizedText
	Description         *LocalizedText
	WriteMask           uint32
	UserWriteMask       uint32
	RolePermissions     []*RolePermissionType
	UserRolePermissions []*RolePermissionType
	AccessRestrictions  uint16
	References          []*ReferenceNode
	ContainsNoLoops     bool
	EventNotifier       uint8
}

type WriteRequest

type WriteRequest struct {
	RequestHeader *RequestHeader
	NodesToWrite  []*WriteValue
}

func (*WriteRequest) Header added in v0.1.6

func (t *WriteRequest) Header() *RequestHeader

func (*WriteRequest) SetHeader added in v0.1.6

func (t *WriteRequest) SetHeader(h *RequestHeader)

type WriteResponse

type WriteResponse struct {
	ResponseHeader  *ResponseHeader
	Results         []StatusCode
	DiagnosticInfos []*DiagnosticInfo
}

func (*WriteResponse) Header added in v0.1.6

func (t *WriteResponse) Header() *ResponseHeader

func (*WriteResponse) SetHeader added in v0.1.6

func (t *WriteResponse) SetHeader(h *ResponseHeader)

type WriteValue

type WriteValue struct {
	NodeID      *NodeID
	AttributeID AttributeID
	IndexRange  string
	Value       *DataValue
}

type WriterGroupDataType

type WriterGroupDataType struct {
	Name                  string
	Enabled               bool
	SecurityMode          MessageSecurityMode
	SecurityGroupID       string
	SecurityKeyServices   []*EndpointDescription
	MaxNetworkMessageSize uint32
	GroupProperties       []*KeyValuePair
	WriterGroupID         uint16
	PublishingInterval    float64
	KeepAliveTime         float64
	Priority              uint8
	LocaleIDs             []string
	HeaderLayoutURI       string
	TransportSettings     *ExtensionObject
	MessageSettings       *ExtensionObject
	DataSetWriters        []*DataSetWriterDataType
}

type WriterGroupMessageDataType added in v0.1.12

type WriterGroupMessageDataType struct{}

type WriterGroupTransportDataType added in v0.1.12

type WriterGroupTransportDataType struct{}

type X509IdentityToken

type X509IdentityToken struct {
	PolicyID        string
	CertificateData []byte
}

type XMLElement added in v0.1.6

type XMLElement string

type XVType

type XVType struct {
	X     float64
	Value float32
}

Jump to

Keyboard shortcuts

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