Versions in this module Expand all Collapse all v1 v1.2.1 Mar 29, 2022 Changes in this version + const ASDUSizeMax + const FBPTestWord + const QCCFrzFreezeNoReset + const QCCFrzFreezeReset + const QCCFrzRead + const QCCFrzReset + const QCCGroup1 + const QCCGroup2 + const QCCGroup3 + const QCCGroup4 + const QCCTotal + const QCCUnused + var ErrCauseZero = errors.New("asdu: cause of transmission 0 is not used") + var ErrCmdCause = errors.New("asdu: cause of transmission for command not standard requirement") + var ErrCommonAddrFit = errors.New("asdu: common address exceeds size system parameter") + var ErrCommonAddrZero = errors.New("asdu: common address 0 is not used") + var ErrInfoObjAddrFit = errors.New("asdu: information object address exceeds size system parameter") + var ErrInfoObjIndexFit = errors.New("asdu: information object index not in [1, 127]") + var ErrInroGroupNumFit = errors.New("asdu: interrogation group number exceeds 16") + var ErrInvalidTimeTag = errors.New("asdu: invalid time tag") + var ErrLengthOutOfRange = fmt.Errorf("asdu: asdu filed length large than max %d", ASDUSizeMax) + var ErrNotAnyObjInfo = errors.New("asdu: not any object information") + var ErrOriginAddrFit = errors.New("asdu: originator address not allowed with cause size 1 system parameter") + var ErrParam = errors.New("asdu: system parameter out of range") + var ErrTypeIDNotMatch = errors.New("asdu: type identifier doesn't match call or time tag") + var ErrTypeIdentifier = errors.New("asdu: type identification unknown") + var ParamsNarrow = &Params + var ParamsWide = &Params + func BitString32(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error + func BitString32CP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...BitString32Info) error + func BitString32CP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...BitString32Info) error + func BitsString32Cmd(c Connect, typeID TypeID, coa CauseOfTransmission, commonAddr CommonAddr, ...) error + func CP16Time2a(msec uint16) []byte + func CP24Time2a(t time.Time, loc *time.Location) []byte + func CP56Time2a(t time.Time, loc *time.Location) []byte + func ClockSynchronizationCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, t time.Time) error + func CounterInterrogationCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, qcc QualifierCountCall) error + func DelayAcquireCommand(c Connect, coa CauseOfTransmission, ca CommonAddr, msec uint16) error + func Double(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error + func DoubleCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...DoublePointInfo) error + func DoubleCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...DoublePointInfo) error + func DoubleCmd(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, ...) error + func EndOfInitialization(c Connect, coa CauseOfTransmission, ca CommonAddr, ioa InfoObjAddr, ...) error + func EventOfProtectionEquipmentCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func EventOfProtectionEquipmentCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func GetInfoObjSize(id TypeID) (int, error) + func IntegratedTotals(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error + func IntegratedTotalsCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func IntegratedTotalsCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func InterrogationCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func MeasuredValueFloat(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error + func MeasuredValueFloatCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func MeasuredValueFloatCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func MeasuredValueNormal(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error + func MeasuredValueNormalCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func MeasuredValueNormalCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func MeasuredValueNormalNoQuality(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error + func MeasuredValueScaled(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error + func MeasuredValueScaledCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func MeasuredValueScaledCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func PackedOutputCircuitInfoCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func PackedOutputCircuitInfoCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func PackedSinglePointWithSCD(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error + func PackedStartEventsOfProtectionEquipmentCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func PackedStartEventsOfProtectionEquipmentCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func ParameterActivation(c Connect, coa CauseOfTransmission, ca CommonAddr, p ParameterActivationInfo) error + func ParameterFloat(c Connect, coa CauseOfTransmission, ca CommonAddr, p ParameterFloatInfo) error + func ParameterNormal(c Connect, coa CauseOfTransmission, ca CommonAddr, p ParameterNormalInfo) error + func ParameterScaled(c Connect, coa CauseOfTransmission, ca CommonAddr, p ParameterScaledInfo) error + func ParseCP16Time2a(b []byte) uint16 + func ParseCP24Time2a(bytes []byte, loc *time.Location) time.Time + func ParseCP56Time2a(bytes []byte, loc *time.Location) time.Time + func ReadCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, ioa InfoObjAddr) error + func ResetProcessCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error + func SetpointCmdFloat(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, ...) error + func SetpointCmdNormal(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, ...) error + func SetpointCmdScaled(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, ...) error + func Single(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error + func SingleCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...SinglePointInfo) error + func SingleCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...SinglePointInfo) error + func SingleCmd(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, ...) error + func Step(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error + func StepCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...StepPositionInfo) error + func StepCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...StepPositionInfo) error + func StepCmd(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, ...) error + func TestCommand(c Connect, coa CauseOfTransmission, ca CommonAddr) error + func TestCommandCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, t time.Time) error + type ASDU struct + func NewASDU(p *Params, identifier Identifier) *ASDU + func NewEmptyASDU(p *Params) *ASDU + func (sf *ASDU) AppendBinaryCounterReading(v BinaryCounterReading) *ASDU + func (sf *ASDU) AppendBitsString32(v uint32) *ASDU + func (sf *ASDU) AppendBytes(b ...byte) *ASDU + func (sf *ASDU) AppendCP16Time2a(msec uint16) *ASDU + func (sf *ASDU) AppendCP24Time2a(t time.Time, loc *time.Location) *ASDU + func (sf *ASDU) AppendCP56Time2a(t time.Time, loc *time.Location) *ASDU + func (sf *ASDU) AppendFloat32(f float32) *ASDU + func (sf *ASDU) AppendInfoObjAddr(addr InfoObjAddr) error + func (sf *ASDU) AppendNormalize(n Normalize) *ASDU + func (sf *ASDU) AppendScaled(i int16) *ASDU + func (sf *ASDU) AppendStatusAndStatusChangeDetection(scd StatusAndStatusChangeDetection) *ASDU + func (sf *ASDU) AppendUint16(b uint16) *ASDU + func (sf *ASDU) Clone() *ASDU + func (sf *ASDU) DecodeBinaryCounterReading() BinaryCounterReading + func (sf *ASDU) DecodeBitsString32() uint32 + func (sf *ASDU) DecodeByte() byte + func (sf *ASDU) DecodeCP16Time2a() uint16 + func (sf *ASDU) DecodeCP24Time2a() time.Time + func (sf *ASDU) DecodeCP56Time2a() time.Time + func (sf *ASDU) DecodeFloat32() float32 + func (sf *ASDU) DecodeInfoObjAddr() InfoObjAddr + func (sf *ASDU) DecodeNormalize() Normalize + func (sf *ASDU) DecodeScaled() int16 + func (sf *ASDU) DecodeStatusAndStatusChangeDetection() StatusAndStatusChangeDetection + func (sf *ASDU) DecodeUint16() uint16 + func (sf *ASDU) GetBitString32() []BitString32Info + func (sf *ASDU) GetBitsString32Cmd() BitsString32CommandInfo + func (sf *ASDU) GetClockSynchronizationCmd() (InfoObjAddr, time.Time) + func (sf *ASDU) GetCounterInterrogationCmd() (InfoObjAddr, QualifierCountCall) + func (sf *ASDU) GetDelayAcquireCommand() (InfoObjAddr, uint16) + func (sf *ASDU) GetDoubleCmd() DoubleCommandInfo + func (sf *ASDU) GetDoublePoint() []DoublePointInfo + func (sf *ASDU) GetEndOfInitialization() (InfoObjAddr, CauseOfInitial) + func (sf *ASDU) GetEventOfProtectionEquipment() []EventOfProtectionEquipmentInfo + func (sf *ASDU) GetIntegratedTotals() []BinaryCounterReadingInfo + func (sf *ASDU) GetInterrogationCmd() (InfoObjAddr, QualifierOfInterrogation) + func (sf *ASDU) GetMeasuredValueFloat() []MeasuredValueFloatInfo + func (sf *ASDU) GetMeasuredValueNormal() []MeasuredValueNormalInfo + func (sf *ASDU) GetMeasuredValueScaled() []MeasuredValueScaledInfo + func (sf *ASDU) GetPackedOutputCircuitInfo() PackedOutputCircuitInfoInfo + func (sf *ASDU) GetPackedSinglePointWithSCD() []PackedSinglePointWithSCDInfo + func (sf *ASDU) GetPackedStartEventsOfProtectionEquipment() PackedStartEventsOfProtectionEquipmentInfo + func (sf *ASDU) GetParameterActivation() ParameterActivationInfo + func (sf *ASDU) GetParameterFloat() ParameterFloatInfo + func (sf *ASDU) GetParameterNormal() ParameterNormalInfo + func (sf *ASDU) GetParameterScaled() ParameterScaledInfo + func (sf *ASDU) GetReadCmd() InfoObjAddr + func (sf *ASDU) GetResetProcessCmd() (InfoObjAddr, QualifierOfResetProcessCmd) + func (sf *ASDU) GetSetpointCmdScaled() SetpointCommandScaledInfo + func (sf *ASDU) GetSetpointFloatCmd() SetpointCommandFloatInfo + func (sf *ASDU) GetSetpointNormalCmd() SetpointCommandNormalInfo + func (sf *ASDU) GetSingleCmd() SingleCommandInfo + func (sf *ASDU) GetSinglePoint() []SinglePointInfo + func (sf *ASDU) GetStepCmd() StepCommandInfo + func (sf *ASDU) GetStepPosition() []StepPositionInfo + func (sf *ASDU) GetTestCommand() (InfoObjAddr, bool) + func (sf *ASDU) GetTestCommandCP56Time2a() (InfoObjAddr, bool, time.Time) + func (sf *ASDU) MarshalBinary() (data []byte, err error) + func (sf *ASDU) Reply(c Cause, addr CommonAddr) *ASDU + func (sf *ASDU) SendReplyMirror(c Connect, cause Cause) error + func (sf *ASDU) SetVariableNumber(n int) error + func (sf *ASDU) UnmarshalBinary(rawAsdu []byte) error + type BinaryCounterReading struct + CounterReading int32 + HasCarry bool + IsAdjusted bool + IsInvalid bool + SeqNumber byte + type BinaryCounterReadingInfo struct + Ioa InfoObjAddr + Time time.Time + Value BinaryCounterReading + type BitString32Info struct + Ioa InfoObjAddr + Qds QualityDescriptor + Time time.Time + Value uint32 + type BitsString32CommandInfo struct + Ioa InfoObjAddr + Time time.Time + Value uint32 + type COICause byte + const COILocalHandReset + const COILocalPowerOn + const COIRemoteReset + type Cause byte + const Activation + const ActivationCon + const ActivationTerm + const Authentication + const Background + const Deactivation + const DeactivationCon + const FileTransfer + const Initialized + const InterrogatedByGroup1 + const InterrogatedByGroup10 + const InterrogatedByGroup11 + const InterrogatedByGroup12 + const InterrogatedByGroup13 + const InterrogatedByGroup14 + const InterrogatedByGroup15 + const InterrogatedByGroup16 + const InterrogatedByGroup2 + const InterrogatedByGroup3 + const InterrogatedByGroup4 + const InterrogatedByGroup5 + const InterrogatedByGroup6 + const InterrogatedByGroup7 + const InterrogatedByGroup8 + const InterrogatedByGroup9 + const InterrogatedByStation + const Periodic + const Request + const RequestByGeneralCounter + const RequestByGroup1Counter + const RequestByGroup2Counter + const RequestByGroup3Counter + const RequestByGroup4Counter + const ReturnInfoLocal + const ReturnInfoRemote + const SessionKey + const Spontaneous + const UnknownCA + const UnknownCOT + const UnknownIOA + const UnknownTypeID + const Unused + const UserRoleAndUpdateKey + type CauseOfInitial struct + Cause COICause + IsLocalChange bool + func ParseCauseOfInitial(b byte) CauseOfInitial + func (sf CauseOfInitial) Value() byte + type CauseOfTransmission struct + Cause Cause + IsNegative bool + IsTest bool + func ParseCauseOfTransmission(b byte) CauseOfTransmission + func (sf CauseOfTransmission) String() string + func (sf CauseOfTransmission) Value() byte + type CommonAddr uint16 + const GlobalCommonAddr + const InvalidCommonAddr + type Connect interface + Params func() *Params + Send func(a *ASDU) error + UnderlyingConn func() net.Conn + type DoubleCommand byte + const DCONotAllow0 + const DCONotAllow3 + const DCOOff + const DCOOn + type DoubleCommandInfo struct + Ioa InfoObjAddr + Qoc QualifierOfCommand + Time time.Time + Value DoubleCommand + type DoublePoint byte + const DPIDeterminedOff + const DPIDeterminedOn + const DPIIndeterminate + const DPIIndeterminateOrIntermediate + func (sf DoublePoint) Value() byte + type DoublePointInfo struct + Ioa InfoObjAddr + Qds QualityDescriptor + Time time.Time + Value DoublePoint + type EventOfProtectionEquipmentInfo struct + Event SingleEvent + Ioa InfoObjAddr + Msec uint16 + Qdp QualityDescriptorProtection + Time time.Time + type Identifier struct + Coa CauseOfTransmission + CommonAddr CommonAddr + OrigAddr OriginAddr + Type TypeID + Variable VariableStruct + func (id Identifier) String() string + type InfoObjAddr uint + const InfoObjAddrIrrelevant + type MeasuredValueFloatInfo struct + Ioa InfoObjAddr + Qds QualityDescriptor + Time time.Time + Value float32 + type MeasuredValueNormalInfo struct + Ioa InfoObjAddr + Qds QualityDescriptor + Time time.Time + Value Normalize + type MeasuredValueScaledInfo struct + Ioa InfoObjAddr + Qds QualityDescriptor + Time time.Time + Value int16 + type Normalize int16 + func (sf Normalize) Float64() float64 + type OriginAddr byte + type OutputCircuitInfo byte + const OCICommandL1 + const OCICommandL2 + const OCICommandL3 + const OCIGeneralCommand + type PackedOutputCircuitInfoInfo struct + Ioa InfoObjAddr + Msec uint16 + Oci OutputCircuitInfo + Qdp QualityDescriptorProtection + Time time.Time + type PackedSinglePointWithSCDInfo struct + Ioa InfoObjAddr + Qds QualityDescriptor + Scd StatusAndStatusChangeDetection + type PackedStartEventsOfProtectionEquipmentInfo struct + Event StartEvent + Ioa InfoObjAddr + Msec uint16 + Qdp QualityDescriptorProtection + Time time.Time + type ParameterActivationInfo struct + Ioa InfoObjAddr + Qpa QualifierOfParameterAct + type ParameterFloatInfo struct + Ioa InfoObjAddr + Qpm QualifierOfParameterMV + Value float32 + type ParameterNormalInfo struct + Ioa InfoObjAddr + Qpm QualifierOfParameterMV + Value Normalize + type ParameterScaledInfo struct + Ioa InfoObjAddr + Qpm QualifierOfParameterMV + Value int16 + type Params struct + CauseSize int + CommonAddrSize int + InfoObjAddrSize int + InfoObjTimeZone *time.Location + OrigAddress OriginAddr + func (sf Params) IdentifierSize() int + func (sf Params) Valid() error + func (sf Params) ValidCommonAddr(addr CommonAddr) error + type QCCFreeze byte + type QCCRequest byte + type QOCQual byte + const QOCLongPulseDuration + const QOCNoAdditionalDefinition + const QOCPersistentOutput + const QOCShortPulseDuration + type QOSQual uint + type QPMCategory byte + const QPMChangeFlag + const QPMHighLimit + const QPMInOperationFlag + const QPMLowLimit + const QPMSmoothing + const QPMThreshold + const QPMUnused + type QualifierCountCall struct + Freeze QCCFreeze + Request QCCRequest + func ParseQualifierCountCall(b byte) QualifierCountCall + func (sf QualifierCountCall) Value() byte + type QualifierOfCommand struct + InSelect bool + Qual QOCQual + func ParseQualifierOfCommand(b byte) QualifierOfCommand + func (sf QualifierOfCommand) Value() byte + type QualifierOfInterrogation byte + const QOIGroup1 + const QOIGroup10 + const QOIGroup11 + const QOIGroup12 + const QOIGroup13 + const QOIGroup14 + const QOIGroup15 + const QOIGroup16 + const QOIGroup2 + const QOIGroup3 + const QOIGroup4 + const QOIGroup5 + const QOIGroup6 + const QOIGroup7 + const QOIGroup8 + const QOIGroup9 + const QOIStation + const QOIUnused + type QualifierOfParameterAct byte + const QPADeActObjectParameter + const QPADeActObjectTransmission + const QPADeActPrevLoadedParameter + const QPAUnused + type QualifierOfParameterMV struct + Category QPMCategory + IsChange bool + IsInOperation bool + func ParseQualifierOfParamMV(b byte) QualifierOfParameterMV + func (sf QualifierOfParameterMV) Value() byte + type QualifierOfResetProcessCmd byte + const QPRGeneralRest + const QPRResetPendingInfoWithTimeTag + const QRPUnused + type QualifierOfSetpointCmd struct + InSelect bool + Qual QOSQual + func ParseQualifierOfSetpointCmd(b byte) QualifierOfSetpointCmd + func (sf QualifierOfSetpointCmd) Value() byte + type QualityDescriptor byte + const QDSBlocked + const QDSGood + const QDSInvalid + const QDSNotTopical + const QDSOverflow + const QDSSubstituted + type QualityDescriptorProtection byte + const QDPBlocked + const QDPElapsedTimeInvalid + const QDPGood + const QDPInvalid + const QDPNotTopical + const QDPSubstituted + type SetpointCommandFloatInfo struct + Ioa InfoObjAddr + Qos QualifierOfSetpointCmd + Time time.Time + Value float32 + type SetpointCommandNormalInfo struct + Ioa InfoObjAddr + Qos QualifierOfSetpointCmd + Time time.Time + Value Normalize + type SetpointCommandScaledInfo struct + Ioa InfoObjAddr + Qos QualifierOfSetpointCmd + Time time.Time + Value int16 + type SingleCommand byte + const SCOOff + const SCOOn + type SingleCommandInfo struct + Ioa InfoObjAddr + Qoc QualifierOfCommand + Time time.Time + Value bool + type SingleEvent byte + const SEDeterminedOff + const SEDeterminedOn + const SEIndeterminate + const SEIndeterminateOrIntermediate + type SinglePoint byte + const SPIOff + const SPIOn + func (sf SinglePoint) Value() byte + type SinglePointInfo struct + Ioa InfoObjAddr + Qds QualityDescriptor + Time time.Time + Value bool + type StartEvent byte + const SEPGeneralStart + const SEPStartEarthCurrent + const SEPStartL1 + const SEPStartL2 + const SEPStartL3 + const SEPStartReverseDirection + type StatusAndStatusChangeDetection uint32 + type StepCommand byte + const SCONotAllow0 + const SCONotAllow3 + const SCOStepDown + const SCOStepUP + type StepCommandInfo struct + Ioa InfoObjAddr + Qoc QualifierOfCommand + Time time.Time + Value StepCommand + type StepPosition struct + HasTransient bool + Val int + func ParseStepPosition(b byte) StepPosition + func (sf StepPosition) Value() byte + type StepPositionInfo struct + Ioa InfoObjAddr + Qds QualityDescriptor + Time time.Time + Value StepPosition + type TypeID uint8 + const C_BO_NA_1 + const C_BO_TA_1 + const C_CD_NA_1 + const C_CI_NA_1 + const C_CS_NA_1 + const C_DC_NA_1 + const C_DC_TA_1 + const C_IC_NA_1 + const C_RC_NA_1 + const C_RC_TA_1 + const C_RD_NA_1 + const C_RP_NA_1 + const C_SC_NA_1 + const C_SC_TA_1 + const C_SE_NA_1 + const C_SE_NB_1 + const C_SE_NC_1 + const C_SE_TA_1 + const C_SE_TB_1 + const C_SE_TC_1 + const C_TS_NA_1 + const C_TS_TA_1 + const F_AF_NA_1 + const F_DR_TA_1 + const F_FR_NA_1 + const F_LS_NA_1 + const F_SC_NA_1 + const F_SC_NB_1 + const F_SG_NA_1 + const F_SR_NA_1 + const M_BO_NA_1 + const M_BO_TA_1 + const M_BO_TB_1 + const M_DP_NA_1 + const M_DP_TA_1 + const M_DP_TB_1 + const M_EI_NA_1 + const M_EP_TA_1 + const M_EP_TB_1 + const M_EP_TC_1 + const M_EP_TD_1 + const M_EP_TE_1 + const M_EP_TF_1 + const M_IT_NA_1 + const M_IT_TA_1 + const M_IT_TB_1 + const M_ME_NA_1 + const M_ME_NB_1 + const M_ME_NC_1 + const M_ME_ND_1 + const M_ME_TA_1 + const M_ME_TB_1 + const M_ME_TC_1 + const M_ME_TD_1 + const M_ME_TE_1 + const M_ME_TF_1 + const M_PS_NA_1 + const M_SP_NA_1 + const M_SP_TA_1 + const M_SP_TB_1 + const M_ST_NA_1 + const M_ST_TA_1 + const M_ST_TB_1 + const P_AC_NA_1 + const P_ME_NA_1 + const P_ME_NB_1 + const P_ME_NC_1 + const S_AR_NA_1 + const S_CH_NA_1 + const S_ER_NA_1 + const S_IT_TC_1 + const S_KC_NA_1 + const S_KR_NA_1 + const S_KS_NA_1 + const S_RP_NA_1 + const S_UA_NA_1 + const S_UC_NA_1 + const S_UK_NA_1 + const S_UQ_NA_1 + const S_UR_NA_1 + const S_US_NA_1 + func (sf TypeID) String() string + type VariableStruct struct + IsSequence bool + Number byte + func ParseVariableStruct(b byte) VariableStruct + func (sf VariableStruct) String() string + func (sf VariableStruct) Value() byte