nl-linux 0.2.4 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +3 -0
  3. data/.yardopts +5 -0
  4. data/CHANGELOG.md +8 -0
  5. data/Rakefile +27 -5
  6. data/generated/nl/linux/binder.rb +227 -19
  7. data/generated/nl/linux/conntrack.rb +1325 -365
  8. data/generated/nl/linux/dev_energymodel.rb +357 -66
  9. data/generated/nl/linux/devlink.rb +6310 -1859
  10. data/generated/nl/linux/dpll.rb +2202 -376
  11. data/generated/nl/linux/drm_ras.rb +312 -63
  12. data/generated/nl/linux/ethtool.rb +7555 -2447
  13. data/generated/nl/linux/fou.rb +381 -133
  14. data/generated/nl/linux/handshake.rb +340 -70
  15. data/generated/nl/linux/lockd.rb +132 -27
  16. data/generated/nl/linux/mptcp_pm.rb +773 -161
  17. data/generated/nl/linux/net_shaper.rb +892 -211
  18. data/generated/nl/linux/netdev.rb +2366 -518
  19. data/generated/nl/linux/nfsd.rb +1299 -317
  20. data/generated/nl/linux/nftables.rb +5351 -1533
  21. data/generated/nl/linux/nl80211.rb +4601 -882
  22. data/generated/nl/linux/nlctrl.rb +460 -117
  23. data/generated/nl/linux/ovpn.rb +1360 -262
  24. data/generated/nl/linux/ovs_datapath.rb +312 -98
  25. data/generated/nl/linux/ovs_flow.rb +1866 -358
  26. data/generated/nl/linux/ovs_packet.rb +331 -45
  27. data/generated/nl/linux/ovs_vport.rb +374 -123
  28. data/generated/nl/linux/psp.rb +1093 -201
  29. data/generated/nl/linux/rt_addr.rb +423 -165
  30. data/generated/nl/linux/rt_link.rb +6928 -1336
  31. data/generated/nl/linux/rt_neigh.rb +1063 -297
  32. data/generated/nl/linux/rt_route.rb +1112 -483
  33. data/generated/nl/linux/rt_rule.rb +931 -262
  34. data/generated/nl/linux/sunrpc_cache.rb +407 -82
  35. data/generated/nl/linux/tc.rb +10081 -1763
  36. data/generated/nl/linux/tcp_metrics.rb +388 -109
  37. data/generated/nl/linux/team.rb +350 -84
  38. data/generated/nl/linux/wireguard.rb +525 -96
  39. data/generated/nl/linux.rb +1 -0
  40. data/lib/nl/linux/nlctrl_resolver.rb +31 -0
  41. data/lib/nl/linux/version.rb +1 -1
  42. data/sig/generated/nl/linux/binder.rbs +366 -0
  43. data/sig/generated/nl/linux/conntrack.rbs +2787 -0
  44. data/sig/generated/nl/linux/dev_energymodel.rbs +636 -0
  45. data/sig/generated/nl/linux/devlink.rbs +12496 -0
  46. data/sig/generated/nl/linux/dpll.rbs +3461 -0
  47. data/sig/generated/nl/linux/drm_ras.rbs +553 -0
  48. data/sig/generated/nl/linux/ethtool.rbs +15291 -0
  49. data/sig/generated/nl/linux/fou.rbs +702 -0
  50. data/sig/generated/nl/linux/handshake.rbs +622 -0
  51. data/sig/generated/nl/linux/lockd.rbs +234 -0
  52. data/sig/generated/nl/linux/mptcp_pm.rbs +1511 -0
  53. data/sig/generated/nl/linux/net_shaper.rbs +1645 -0
  54. data/sig/generated/nl/linux/netdev.rbs +4187 -0
  55. data/sig/generated/nl/linux/nfsd.rbs +2520 -0
  56. data/sig/generated/nl/linux/nftables.rbs +10304 -0
  57. data/sig/generated/nl/linux/nl80211.rbs +9786 -0
  58. data/sig/generated/nl/linux/nlctrl.rbs +944 -0
  59. data/sig/generated/nl/linux/nlctrl_resolver.rbs +20 -0
  60. data/sig/generated/nl/linux/ovpn.rbs +2564 -0
  61. data/sig/generated/nl/linux/ovs_datapath.rbs +640 -0
  62. data/sig/generated/nl/linux/ovs_flow.rbs +3659 -0
  63. data/sig/generated/nl/linux/ovs_packet.rbs +540 -0
  64. data/sig/generated/nl/linux/ovs_vport.rbs +777 -0
  65. data/sig/generated/nl/linux/psp.rbs +1846 -0
  66. data/sig/generated/nl/linux/rt_addr.rbs +866 -0
  67. data/sig/generated/nl/linux/rt_link.rbs +13438 -0
  68. data/sig/generated/nl/linux/rt_neigh.rbs +2124 -0
  69. data/sig/generated/nl/linux/rt_route.rbs +2218 -0
  70. data/sig/generated/nl/linux/rt_rule.rbs +1726 -0
  71. data/sig/generated/nl/linux/sunrpc_cache.rbs +739 -0
  72. data/sig/generated/nl/linux/tc.rbs +19931 -0
  73. data/sig/generated/nl/linux/tcp_metrics.rbs +740 -0
  74. data/sig/generated/nl/linux/team.rbs +733 -0
  75. data/sig/generated/nl/linux/version.rbs +7 -0
  76. data/sig/generated/nl/linux/wireguard.rbs +1006 -0
  77. data/sig/generated/nl/linux.rbs +6 -0
  78. data/sig/generated/nl-linux.rbs +2 -0
  79. metadata +51 -10
@@ -1,663 +1,1534 @@
1
1
  # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ #
3
+ # This file is based on Documentation/netlink/specs/dpll.yaml from Linux v7.2.
2
4
  #--
3
5
  # frozen_string_literal: true
4
- # rbs_inline: enabled
5
6
  # This code is generated by Ynl::Generator. DO NOT EDIT.
6
7
  require 'nl'
7
8
  module Nl; module Linux
8
9
  # DPLL subsystem.
9
- class Dpll < ::Nl::Family
10
+ class Dpll < ::Nl::Genl::Family
10
11
  NAME = "dpll"
11
- PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Genl.new("dpll"))
12
+ VERSION = 1
13
+ # @rbs (?resolver: ^(::Nl::Genl::Client, ::String) -> ::Nl::Genl::FamilyInfo, ?executor: executor?, ?notification_capacity: ::Integer?) -> (::Nl::Family::Session & instance)
14
+ # @rbs | [R] (?resolver: ^(::Nl::Genl::Client, ::String) -> ::Nl::Genl::FamilyInfo, ?executor: executor?, ?notification_capacity: ::Integer?) { (instance) -> R } -> R
15
+ # @overload open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
16
+ # @param [#call] resolver
17
+ # @param [Symbol, nil] executor
18
+ # @param [Integer, nil] notification_capacity
19
+ # @return [Dpll]
20
+ # @overload open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY, &block)
21
+ # @param [#call] resolver
22
+ # @param [Symbol, nil] executor
23
+ # @param [Integer, nil] notification_capacity
24
+ # @yieldparam [Dpll] family
25
+ # @return [Object] the result of the block
26
+ def self.open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
27
+ super
28
+ end
29
+ # @private
30
+ MCAST_GROUPS = Ractor.make_shareable({:"monitor" => ::Nl::McastGroup.new("monitor", nil)}) #: Hash[::Symbol, ::Nl::McastGroup]
31
+ module Constants
32
+ # temperature divider allowing userspace to calculate the
33
+ # temperature as float with three digit decimal precision.
34
+ # Value of (DPLL_A_TEMP / DPLL_TEMP_DIVIDER) is integer part of
35
+ # temperature value.
36
+ # Value of (DPLL_A_TEMP % DPLL_TEMP_DIVIDER) is fractional part of
37
+ # temperature value.
38
+ TEMP_DIVIDER = 1000
39
+ PIN_FREQUENCY_1_HZ = 1
40
+ PIN_FREQUENCY_10_KHZ = 10000
41
+ PIN_FREQUENCY_77_5_KHZ = 77500
42
+ PIN_FREQUENCY_10_MHZ = 10000000
43
+ # phase offset divider allows userspace to calculate a value of
44
+ # measured signal phase difference between a pin and dpll device
45
+ # as a fractional value with three digit decimal precision.
46
+ # Value of (DPLL_A_PHASE_OFFSET / DPLL_PHASE_OFFSET_DIVIDER) is an
47
+ # integer part of a measured phase offset value.
48
+ # Value of (DPLL_A_PHASE_OFFSET % DPLL_PHASE_OFFSET_DIVIDER) is a
49
+ # fractional part of a measured phase offset value.
50
+ PHASE_OFFSET_DIVIDER = 1000
51
+ # pin measured frequency divider allows userspace to calculate
52
+ # a value of measured input frequency as a fractional value with
53
+ # three digit decimal precision (millihertz).
54
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY /
55
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is an integer part of
56
+ # a measured frequency value.
57
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY %
58
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is a fractional part of
59
+ # a measured frequency value.
60
+ PIN_MEASURED_FREQUENCY_DIVIDER = 1000
61
+ end
62
+ module Enums
63
+ # working modes a dpll can support, differentiates if and how dpll selects
64
+ # one of its inputs to syntonize with it, valid values for DPLL_A_MODE
65
+ # attribute
66
+ module Mode
67
+ # input can be only selected by sending a request to dpll
68
+ Manual = 1
69
+ # highest prio input pin auto selected by dpll
70
+ Automatic = 2
71
+ end
72
+ # provides information of dpll device lock status, valid values for
73
+ # DPLL_A_LOCK_STATUS attribute
74
+ module LockStatus
75
+ # dpll was not yet locked to any valid input (or forced by setting
76
+ # DPLL_A_MODE to DPLL_MODE_DETACHED)
77
+ Unlocked = 1
78
+ # dpll is locked to a valid signal, but no holdover available
79
+ Locked = 2
80
+ # dpll is locked and holdover acquired
81
+ LockedHoAcq = 3
82
+ # dpll is in holdover state - lost a valid lock or was forced
83
+ # by disconnecting all the pins (latter possible only
84
+ # when dpll lock-state was already DPLL_LOCK_STATUS_LOCKED_HO_ACQ,
85
+ # if dpll lock-state was not DPLL_LOCK_STATUS_LOCKED_HO_ACQ, the
86
+ # dpll's lock-state shall remain DPLL_LOCK_STATUS_UNLOCKED)
87
+ Holdover = 4
88
+ end
89
+ # if previous status change was done due to a failure, this provides
90
+ # information of dpll device lock status error.
91
+ # Valid values for DPLL_A_LOCK_STATUS_ERROR attribute
92
+ module LockStatusError
93
+ # dpll device lock status was changed without any error
94
+ None = 1
95
+ # dpll device lock status was changed due to undefined error.
96
+ # Driver fills this value up in case it is not able
97
+ # to obtain suitable exact error type.
98
+ Undefined = 2
99
+ # dpll device lock status was changed because of associated
100
+ # media got down.
101
+ # This may happen for example if dpll device was previously
102
+ # locked on an input pin of type PIN_TYPE_SYNCE_ETH_PORT.
103
+ MediaDown = 3
104
+ # the FFO (Fractional Frequency Offset) between the RX and TX
105
+ # symbol rate on the media got too high.
106
+ # This may happen for example if dpll device was previously
107
+ # locked on an input pin of type PIN_TYPE_SYNCE_ETH_PORT.
108
+ FractionalFrequencyOffsetTooHigh = 4
109
+ end
110
+ # level of quality of a clock device. This mainly applies when
111
+ # the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER.
112
+ # The current list is defined according to the table 11-7 contained
113
+ # in ITU-T G.8264/Y.1364 document. One may extend this list freely
114
+ # by other ITU-T defined clock qualities, or different ones defined
115
+ # by another standardization body (for those, please use
116
+ # different prefix).
117
+ module ClockQualityLevel
118
+ ItuOpt1Prc = 1
119
+ ItuOpt1SsuA = 2
120
+ ItuOpt1SsuB = 3
121
+ ItuOpt1Eec1 = 4
122
+ ItuOpt1Prtc = 5
123
+ ItuOpt1Eprtc = 6
124
+ ItuOpt1Eeec = 7
125
+ ItuOpt1Eprc = 8
126
+ end
127
+ # type of dpll, valid values for DPLL_A_TYPE attribute
128
+ module Type
129
+ # dpll produces Pulse-Per-Second signal
130
+ Pps = 1
131
+ # dpll drives the Ethernet Equipment Clock
132
+ Eec = 2
133
+ # generic dpll type for devices outside PPS/EEC classes
134
+ Generic = 3
135
+ end
136
+ # defines possible types of a pin, valid values for DPLL_A_PIN_TYPE
137
+ # attribute
138
+ module PinType
139
+ # aggregates another layer of selectable pins
140
+ Mux = 1
141
+ # external input
142
+ Ext = 2
143
+ # ethernet port PHY's recovered clock
144
+ SynceEthPort = 3
145
+ # device internal oscillator
146
+ IntOscillator = 4
147
+ # GNSS recovered clock
148
+ Gnss = 5
149
+ end
150
+ # defines possible direction of a pin, valid values for
151
+ # DPLL_A_PIN_DIRECTION attribute
152
+ module PinDirection
153
+ # pin used as a input of a signal
154
+ Input = 1
155
+ # pin used to output the signal
156
+ Output = 2
157
+ end
158
+ # defines possible states of a pin, valid values for
159
+ # DPLL_A_PIN_STATE attribute
160
+ module PinState
161
+ # pin connected, active input of phase locked loop
162
+ Connected = 1
163
+ # pin disconnected, not considered as a valid input
164
+ Disconnected = 2
165
+ # pin enabled for automatic input selection
166
+ Selectable = 3
167
+ end
168
+ # defines possible operational states of a pin with respect to its
169
+ # parent DPLL device, valid values for DPLL_A_PIN_OPERSTATE attribute
170
+ module PinOperstate
171
+ # pin is qualified and actively used by the DPLL
172
+ Active = 1
173
+ # pin is qualified but not actively used by the DPLL
174
+ Standby = 2
175
+ # pin does not have a valid signal
176
+ NoSignal = 3
177
+ # pin signal failed qualification (e.g. frequency or phase monitor)
178
+ QualFailed = 4
179
+ end
180
+ # Allow control (enable/disable) and status checking over features.
181
+ module FeatureState
182
+ # feature shall be disabled
183
+ Disable = 0
184
+ # feature shall be enabled
185
+ Enable = 1
186
+ end
187
+ end
188
+ module Flags
189
+ # defines possible capabilities of a pin, valid flags on
190
+ # DPLL_A_PIN_CAPABILITIES attribute
191
+ module PinCapabilities
192
+ # pin direction can be changed
193
+ DirectionCanChange = 1
194
+ # pin priority can be changed
195
+ PriorityCanChange = 2
196
+ # pin state can be changed
197
+ StateCanChange = 4
198
+ end
199
+ end
12
200
  module Structs
13
201
  end
14
202
  module AttributeSets
15
- class Dpll < ::Nl::Protocols::Genl::AttributeSet
203
+ class Dpll < ::Nl::AttributeSet
16
204
  # Abstract class
17
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
205
+ class Attribute < ::Nl::AttributeSet::Attribute
18
206
  end
19
207
  class Id < Attribute
20
208
  TYPE = 1
21
209
  NAME = :"id"
22
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
210
+ # @private
211
+ ORDER = 0
212
+ # @private
213
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
23
214
  end
24
215
  class ModuleName < Attribute
25
216
  TYPE = 2
26
217
  NAME = :"module_name"
27
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
218
+ # @private
219
+ ORDER = 1
220
+ # @private
221
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
28
222
  end
29
223
  class Pad < Attribute
30
224
  TYPE = 3
31
225
  NAME = :"pad"
32
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Pad.new()
226
+ # @private
227
+ ORDER = 2
228
+ # @private
229
+ DATATYPE = ::Nl::DataTypes::Pad.new()
33
230
  end
34
231
  class ClockId < Attribute
35
232
  TYPE = 4
36
233
  NAME = :"clock_id"
37
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
234
+ # @private
235
+ ORDER = 3
236
+ # @private
237
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
38
238
  end
239
+ # Known enum values are defined in {Enums::Mode}.
39
240
  class Mode < Attribute
40
241
  TYPE = 5
41
242
  NAME = :"mode"
42
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
243
+ # @private
244
+ ORDER = 4
245
+ # @private
246
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
43
247
  end
248
+ # Known enum values are defined in {Enums::Mode}.
44
249
  class ModeSupported < Attribute
45
250
  TYPE = 6
46
251
  NAME = :"mode_supported"
47
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
48
- end
252
+ # @private
253
+ MULTI = true
254
+ # @private
255
+ ORDER = 5
256
+ # @private
257
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
258
+ end
259
+ # Known enum values are defined in {Enums::LockStatus}.
49
260
  class LockStatus < Attribute
50
261
  TYPE = 7
51
262
  NAME = :"lock_status"
52
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
263
+ # @private
264
+ ORDER = 6
265
+ # @private
266
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
53
267
  end
54
268
  class Temp < Attribute
55
269
  TYPE = 8
56
270
  NAME = :"temp"
57
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
271
+ # @private
272
+ ORDER = 7
273
+ # @private
274
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
58
275
  end
276
+ # Known enum values are defined in {Enums::Type}.
59
277
  class Type < Attribute
60
278
  TYPE = 9
61
279
  NAME = :"type"
62
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
280
+ # @private
281
+ ORDER = 8
282
+ # @private
283
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
63
284
  end
285
+ # Known enum values are defined in {Enums::LockStatusError}.
64
286
  class LockStatusError < Attribute
65
287
  TYPE = 10
66
288
  NAME = :"lock_status_error"
67
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
68
- end
289
+ # @private
290
+ ORDER = 9
291
+ # @private
292
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
293
+ end
294
+ # Level of quality of a clock device. This mainly applies when
295
+ # the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. This could
296
+ # be put to message multiple times to indicate possible parallel
297
+ # quality levels (e.g. one specified by ITU option 1 and another
298
+ # one specified by option 2).
299
+ #
300
+ #
301
+ # Known enum values are defined in {Enums::ClockQualityLevel}.
69
302
  class ClockQualityLevel < Attribute
70
303
  TYPE = 11
71
304
  NAME = :"clock_quality_level"
72
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
73
- end
305
+ # @private
306
+ MULTI = true
307
+ # @private
308
+ ORDER = 10
309
+ # @private
310
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
311
+ end
312
+ # Receive or request state of phase offset monitor feature. If enabled, dpll device shall monitor and notify all currently available inputs for changes of their phase offset against the dpll device.
313
+ #
314
+ # Known enum values are defined in {Enums::FeatureState}.
74
315
  class PhaseOffsetMonitor < Attribute
75
316
  TYPE = 12
76
317
  NAME = :"phase_offset_monitor"
77
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
318
+ # @private
319
+ ORDER = 11
320
+ # @private
321
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
78
322
  end
323
+ # Averaging factor applied to calculation of reported phase offset.
79
324
  class PhaseOffsetAvgFactor < Attribute
80
325
  TYPE = 13
81
326
  NAME = :"phase_offset_avg_factor"
82
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
83
- end
327
+ # @private
328
+ ORDER = 12
329
+ # @private
330
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
331
+ end
332
+ # Current or desired state of the frequency monitor feature. If enabled, dpll device shall measure all currently available inputs for their actual input frequency.
333
+ #
334
+ # Known enum values are defined in {Enums::FeatureState}.
84
335
  class FrequencyMonitor < Attribute
85
336
  TYPE = 14
86
337
  NAME = :"frequency_monitor"
87
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
338
+ # @private
339
+ ORDER = 13
340
+ # @private
341
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
88
342
  end
89
- # :nodoc:
343
+ # @private
90
344
  BY_NAME = Ractor.make_shareable({:"id" => Id, :"module_name" => ModuleName, :"pad" => Pad, :"clock_id" => ClockId, :"mode" => Mode, :"mode_supported" => ModeSupported, :"lock_status" => LockStatus, :"temp" => Temp, :"type" => Type, :"lock_status_error" => LockStatusError, :"clock_quality_level" => ClockQualityLevel, :"phase_offset_monitor" => PhaseOffsetMonitor, :"phase_offset_avg_factor" => PhaseOffsetAvgFactor, :"frequency_monitor" => FrequencyMonitor}) #: Hash[::Symbol, Attribute]
91
- # :nodoc:
345
+ # @private
92
346
  BY_TYPE = Ractor.make_shareable({1 => Id, 2 => ModuleName, 3 => Pad, 4 => ClockId, 5 => Mode, 6 => ModeSupported, 7 => LockStatus, 8 => Temp, 9 => Type, 10 => LockStatusError, 11 => ClockQualityLevel, 12 => PhaseOffsetMonitor, 13 => PhaseOffsetAvgFactor, 14 => FrequencyMonitor}) #: Hash[::Integer, Attribute]
347
+ # @rbs return: ::Integer
348
+ # @return [Integer]
349
+ # @see Id
350
+ def id; self[:"id"]&.value; end
351
+ # @rbs return: ::String
352
+ # @return [String]
353
+ # @see ModuleName
354
+ def module_name; self[:"module_name"]&.value; end
355
+ # @rbs return: ::Integer
356
+ # @return [Integer]
357
+ # @see ClockId
358
+ def clock_id; self[:"clock_id"]&.value; end
359
+ # Known enum values are defined in {Enums::Mode}.
360
+ # @rbs return: ::Integer
361
+ # @return [Integer]
362
+ # @see Mode
363
+ def mode; self[:"mode"]&.value; end
364
+ # Known enum values are defined in {Enums::Mode}.
365
+ # @rbs return: ::Array[::Integer]
366
+ # @return [Array<Integer>]
367
+ # @see ModeSupported
368
+ def mode_supported; self[:"mode_supported"].map(&:value); end
369
+ # Known enum values are defined in {Enums::LockStatus}.
370
+ # @rbs return: ::Integer
371
+ # @return [Integer]
372
+ # @see LockStatus
373
+ def lock_status; self[:"lock_status"]&.value; end
374
+ # @rbs return: ::Integer
375
+ # @return [Integer]
376
+ # @see Temp
377
+ def temp; self[:"temp"]&.value; end
378
+ # Known enum values are defined in {Enums::Type}.
379
+ # @rbs return: ::Integer
380
+ # @return [Integer]
381
+ # @see Type
382
+ def type; self[:"type"]&.value; end
383
+ # Known enum values are defined in {Enums::LockStatusError}.
384
+ # @rbs return: ::Integer
385
+ # @return [Integer]
386
+ # @see LockStatusError
387
+ def lock_status_error; self[:"lock_status_error"]&.value; end
388
+ # Level of quality of a clock device. This mainly applies when
389
+ # the dpll lock-status is DPLL_LOCK_STATUS_HOLDOVER. This could
390
+ # be put to message multiple times to indicate possible parallel
391
+ # quality levels (e.g. one specified by ITU option 1 and another
392
+ # one specified by option 2).
393
+ #
394
+ #
395
+ # Known enum values are defined in {Enums::ClockQualityLevel}.
396
+ # @rbs return: ::Array[::Integer]
397
+ # @return [Array<Integer>]
398
+ # @see ClockQualityLevel
399
+ def clock_quality_level; self[:"clock_quality_level"].map(&:value); end
400
+ # Receive or request state of phase offset monitor feature. If enabled, dpll device shall monitor and notify all currently available inputs for changes of their phase offset against the dpll device.
401
+ #
402
+ # Known enum values are defined in {Enums::FeatureState}.
403
+ # @rbs return: ::Integer
404
+ # @return [Integer]
405
+ # @see PhaseOffsetMonitor
406
+ def phase_offset_monitor; self[:"phase_offset_monitor"]&.value; end
407
+ # Averaging factor applied to calculation of reported phase offset.
408
+ # @rbs return: ::Integer
409
+ # @return [Integer]
410
+ # @see PhaseOffsetAvgFactor
411
+ def phase_offset_avg_factor; self[:"phase_offset_avg_factor"]&.value; end
412
+ # Current or desired state of the frequency monitor feature. If enabled, dpll device shall measure all currently available inputs for their actual input frequency.
413
+ #
414
+ # Known enum values are defined in {Enums::FeatureState}.
415
+ # @rbs return: ::Integer
416
+ # @return [Integer]
417
+ # @see FrequencyMonitor
418
+ def frequency_monitor; self[:"frequency_monitor"]&.value; end
93
419
  class << self
94
420
  # Looks up Attribute class by name.
95
- #--
96
421
  # @rbs name: Symbol
97
422
  # @rbs return: Attribute
423
+ # @param [Symbol] name
424
+ # @return [Attribute]
98
425
  def by_name(name); BY_NAME.fetch(name); end
99
426
  # Looks up Attribute class by type value.
100
- #--
101
427
  # @rbs type: Integer
102
428
  # @rbs return: Attribute
429
+ # @param [Integer] type
430
+ # @return [Attribute]
103
431
  def by_type(type); BY_TYPE.fetch(type); end
104
432
  end
105
433
  end
106
- class Pin < ::Nl::Protocols::Genl::AttributeSet
434
+ class Pin < ::Nl::AttributeSet
107
435
  # Abstract class
108
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
436
+ class Attribute < ::Nl::AttributeSet::Attribute
109
437
  end
110
438
  class Id < Attribute
111
439
  TYPE = 1
112
440
  NAME = :"id"
113
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
441
+ # @private
442
+ ORDER = 0
443
+ # @private
444
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
114
445
  end
115
446
  class ParentId < Attribute
116
447
  TYPE = 2
117
448
  NAME = :"parent_id"
118
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
449
+ # @private
450
+ ORDER = 1
451
+ # @private
452
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
119
453
  end
120
454
  class ModuleName < Attribute
121
455
  TYPE = 3
122
456
  NAME = :"module_name"
123
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
457
+ # @private
458
+ ORDER = 2
459
+ # @private
460
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
124
461
  end
125
462
  class Pad < Attribute
126
463
  TYPE = 4
127
464
  NAME = :"pad"
128
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Pad.new()
465
+ # @private
466
+ ORDER = 3
467
+ # @private
468
+ DATATYPE = ::Nl::DataTypes::Pad.new()
129
469
  end
130
470
  class ClockId < Attribute
131
471
  TYPE = 5
132
472
  NAME = :"clock_id"
133
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
473
+ # @private
474
+ ORDER = 4
475
+ # @private
476
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
134
477
  end
135
478
  class BoardLabel < Attribute
136
479
  TYPE = 6
137
480
  NAME = :"board_label"
138
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
481
+ # @private
482
+ ORDER = 5
483
+ # @private
484
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
139
485
  end
140
486
  class PanelLabel < Attribute
141
487
  TYPE = 7
142
488
  NAME = :"panel_label"
143
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
489
+ # @private
490
+ ORDER = 6
491
+ # @private
492
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
144
493
  end
145
494
  class PackageLabel < Attribute
146
495
  TYPE = 8
147
496
  NAME = :"package_label"
148
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
497
+ # @private
498
+ ORDER = 7
499
+ # @private
500
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
149
501
  end
502
+ # Known enum values are defined in {Enums::PinType}.
150
503
  class Type < Attribute
151
504
  TYPE = 9
152
505
  NAME = :"type"
153
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
506
+ # @private
507
+ ORDER = 8
508
+ # @private
509
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
154
510
  end
511
+ # Known enum values are defined in {Enums::PinDirection}.
155
512
  class Direction < Attribute
156
513
  TYPE = 10
157
514
  NAME = :"direction"
158
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
515
+ # @private
516
+ ORDER = 9
517
+ # @private
518
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
159
519
  end
160
520
  class Frequency < Attribute
161
521
  TYPE = 11
162
522
  NAME = :"frequency"
163
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
523
+ # @private
524
+ ORDER = 10
525
+ # @private
526
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
164
527
  end
165
528
  class FrequencySupported < Attribute
166
529
  TYPE = 12
167
530
  NAME = :"frequency_supported"
531
+ # @private
532
+ MULTI = true
533
+ # @private
534
+ ORDER = 11
168
535
  end
169
536
  class FrequencyMin < Attribute
170
537
  TYPE = 13
171
538
  NAME = :"frequency_min"
172
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
539
+ # @private
540
+ ORDER = 12
541
+ # @private
542
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
173
543
  end
174
544
  class FrequencyMax < Attribute
175
545
  TYPE = 14
176
546
  NAME = :"frequency_max"
177
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
547
+ # @private
548
+ ORDER = 13
549
+ # @private
550
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
178
551
  end
179
552
  class Prio < Attribute
180
553
  TYPE = 15
181
554
  NAME = :"prio"
182
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
555
+ # @private
556
+ ORDER = 14
557
+ # @private
558
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
183
559
  end
560
+ # Known enum values are defined in {Enums::PinState}.
184
561
  class State < Attribute
185
562
  TYPE = 16
186
563
  NAME = :"state"
187
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
564
+ # @private
565
+ ORDER = 15
566
+ # @private
567
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
188
568
  end
569
+ # Known flags are defined in {Flags::PinCapabilities}.
189
570
  class Capabilities < Attribute
190
571
  TYPE = 17
191
572
  NAME = :"capabilities"
192
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
573
+ # @private
574
+ ORDER = 16
575
+ # @private
576
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
193
577
  end
194
578
  class ParentDevice < Attribute
195
579
  TYPE = 18
196
580
  NAME = :"parent_device"
581
+ # @private
582
+ MULTI = true
583
+ # @private
584
+ ORDER = 17
197
585
  end
198
586
  class ParentPin < Attribute
199
587
  TYPE = 19
200
588
  NAME = :"parent_pin"
589
+ # @private
590
+ MULTI = true
591
+ # @private
592
+ ORDER = 18
201
593
  end
202
594
  class PhaseAdjustMin < Attribute
203
595
  TYPE = 20
204
596
  NAME = :"phase_adjust_min"
205
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
597
+ # @private
598
+ ORDER = 19
599
+ # @private
600
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
206
601
  end
207
602
  class PhaseAdjustMax < Attribute
208
603
  TYPE = 21
209
604
  NAME = :"phase_adjust_max"
210
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
605
+ # @private
606
+ ORDER = 20
607
+ # @private
608
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
211
609
  end
212
610
  class PhaseAdjust < Attribute
213
611
  TYPE = 22
214
612
  NAME = :"phase_adjust"
215
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
613
+ # @private
614
+ ORDER = 21
615
+ # @private
616
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
216
617
  end
217
618
  class PhaseOffset < Attribute
218
619
  TYPE = 23
219
620
  NAME = :"phase_offset"
220
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S64, check: nil)
221
- end
621
+ # @private
622
+ ORDER = 22
623
+ # @private
624
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S64, check: nil)
625
+ end
626
+ # The FFO (Fractional Frequency Offset) of the pin.
627
+ # At top level this represents the RX vs TX symbol rate
628
+ # offset on the media associated with the pin. Inside
629
+ # the pin-parent-device nest it represents the frequency
630
+ # offset between the pin and its parent DPLL device.
631
+ # Value is in PPM (parts per million).
632
+ # This is a lower-precision version of
633
+ # fractional-frequency-offset-ppt.
222
634
  class FractionalFrequencyOffset < Attribute
223
635
  TYPE = 24
224
636
  NAME = :"fractional_frequency_offset"
225
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::SINT, check: nil)
637
+ # @private
638
+ ORDER = 23
639
+ # @private
640
+ DATATYPE = ::Nl::DataTypes::VariableInteger.new(::Nl::Endian::Host, signed: true, check: nil)
226
641
  end
642
+ # Frequency of Embedded SYNC signal. If provided, the pin is configured
643
+ # with a SYNC signal embedded into its base clock frequency.
227
644
  class EsyncFrequency < Attribute
228
645
  TYPE = 25
229
646
  NAME = :"esync_frequency"
230
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
647
+ # @private
648
+ ORDER = 24
649
+ # @private
650
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
231
651
  end
652
+ # If provided a pin is capable of embedding a SYNC signal (within given
653
+ # range) into its base frequency signal.
232
654
  class EsyncFrequencySupported < Attribute
233
655
  TYPE = 26
234
656
  NAME = :"esync_frequency_supported"
657
+ # @private
658
+ MULTI = true
659
+ # @private
660
+ ORDER = 25
235
661
  end
662
+ # A ratio of high to low state of a SYNC signal pulse embedded
663
+ # into base clock frequency. Value is in percents.
236
664
  class EsyncPulse < Attribute
237
665
  TYPE = 27
238
666
  NAME = :"esync_pulse"
239
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
667
+ # @private
668
+ ORDER = 26
669
+ # @private
670
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
240
671
  end
672
+ # Capable pin provides list of pins that can be bound to create a
673
+ # reference-sync pin pair.
241
674
  class ReferenceSync < Attribute
242
675
  TYPE = 28
243
676
  NAME = :"reference_sync"
677
+ # @private
678
+ MULTI = true
679
+ # @private
680
+ ORDER = 27
244
681
  end
682
+ # Granularity of phase adjustment, in picoseconds. The value of
683
+ # phase adjustment must be a multiple of this granularity.
245
684
  class PhaseAdjustGran < Attribute
246
685
  TYPE = 29
247
686
  NAME = :"phase_adjust_gran"
248
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
249
- end
687
+ # @private
688
+ ORDER = 28
689
+ # @private
690
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
691
+ end
692
+ # The FFO (Fractional Frequency Offset) of the pin.
693
+ # At top level this represents the RX vs TX symbol rate
694
+ # offset on the media associated with the pin. Inside
695
+ # the pin-parent-device nest it represents the frequency
696
+ # offset between the pin and its parent DPLL device.
697
+ # Value is in PPT (parts per trillion, 10^-12).
698
+ # This is a higher-precision version of
699
+ # fractional-frequency-offset.
250
700
  class FractionalFrequencyOffsetPpt < Attribute
251
701
  TYPE = 30
252
702
  NAME = :"fractional_frequency_offset_ppt"
253
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::SINT, check: nil)
254
- end
703
+ # @private
704
+ ORDER = 29
705
+ # @private
706
+ DATATYPE = ::Nl::DataTypes::VariableInteger.new(::Nl::Endian::Host, signed: true, check: nil)
707
+ end
708
+ # The measured frequency of the input pin in millihertz (mHz).
709
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY /
710
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is an integer part (Hz)
711
+ # of a measured frequency value.
712
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY %
713
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is a fractional part
714
+ # of a measured frequency value.
255
715
  class MeasuredFrequency < Attribute
256
716
  TYPE = 31
257
717
  NAME = :"measured_frequency"
258
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
259
- end
718
+ # @private
719
+ ORDER = 30
720
+ # @private
721
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
722
+ end
723
+ # Operational state of the pin with respect to its parent DPLL
724
+ # device. Unlike state (which reflects the administrative intent),
725
+ # operstate reflects the actual hardware status.
726
+ #
727
+ #
728
+ # Known enum values are defined in {Enums::PinOperstate}.
260
729
  class Operstate < Attribute
261
730
  TYPE = 32
262
731
  NAME = :"operstate"
263
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
732
+ # @private
733
+ ORDER = 31
734
+ # @private
735
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
264
736
  end
265
- # :nodoc:
737
+ # @private
266
738
  BY_NAME = Ractor.make_shareable({:"id" => Id, :"parent_id" => ParentId, :"module_name" => ModuleName, :"pad" => Pad, :"clock_id" => ClockId, :"board_label" => BoardLabel, :"panel_label" => PanelLabel, :"package_label" => PackageLabel, :"type" => Type, :"direction" => Direction, :"frequency" => Frequency, :"frequency_supported" => FrequencySupported, :"frequency_min" => FrequencyMin, :"frequency_max" => FrequencyMax, :"prio" => Prio, :"state" => State, :"capabilities" => Capabilities, :"parent_device" => ParentDevice, :"parent_pin" => ParentPin, :"phase_adjust_min" => PhaseAdjustMin, :"phase_adjust_max" => PhaseAdjustMax, :"phase_adjust" => PhaseAdjust, :"phase_offset" => PhaseOffset, :"fractional_frequency_offset" => FractionalFrequencyOffset, :"esync_frequency" => EsyncFrequency, :"esync_frequency_supported" => EsyncFrequencySupported, :"esync_pulse" => EsyncPulse, :"reference_sync" => ReferenceSync, :"phase_adjust_gran" => PhaseAdjustGran, :"fractional_frequency_offset_ppt" => FractionalFrequencyOffsetPpt, :"measured_frequency" => MeasuredFrequency, :"operstate" => Operstate}) #: Hash[::Symbol, Attribute]
267
- # :nodoc:
739
+ # @private
268
740
  BY_TYPE = Ractor.make_shareable({1 => Id, 2 => ParentId, 3 => ModuleName, 4 => Pad, 5 => ClockId, 6 => BoardLabel, 7 => PanelLabel, 8 => PackageLabel, 9 => Type, 10 => Direction, 11 => Frequency, 12 => FrequencySupported, 13 => FrequencyMin, 14 => FrequencyMax, 15 => Prio, 16 => State, 17 => Capabilities, 18 => ParentDevice, 19 => ParentPin, 20 => PhaseAdjustMin, 21 => PhaseAdjustMax, 22 => PhaseAdjust, 23 => PhaseOffset, 24 => FractionalFrequencyOffset, 25 => EsyncFrequency, 26 => EsyncFrequencySupported, 27 => EsyncPulse, 28 => ReferenceSync, 29 => PhaseAdjustGran, 30 => FractionalFrequencyOffsetPpt, 31 => MeasuredFrequency, 32 => Operstate}) #: Hash[::Integer, Attribute]
741
+ # @rbs return: ::Integer
742
+ # @return [Integer]
743
+ # @see Id
744
+ def id; self[:"id"]&.value; end
745
+ # @rbs return: ::Integer
746
+ # @return [Integer]
747
+ # @see ParentId
748
+ def parent_id; self[:"parent_id"]&.value; end
749
+ # @rbs return: ::String
750
+ # @return [String]
751
+ # @see ModuleName
752
+ def module_name; self[:"module_name"]&.value; end
753
+ # @rbs return: ::Integer
754
+ # @return [Integer]
755
+ # @see ClockId
756
+ def clock_id; self[:"clock_id"]&.value; end
757
+ # @rbs return: ::String
758
+ # @return [String]
759
+ # @see BoardLabel
760
+ def board_label; self[:"board_label"]&.value; end
761
+ # @rbs return: ::String
762
+ # @return [String]
763
+ # @see PanelLabel
764
+ def panel_label; self[:"panel_label"]&.value; end
765
+ # @rbs return: ::String
766
+ # @return [String]
767
+ # @see PackageLabel
768
+ def package_label; self[:"package_label"]&.value; end
769
+ # Known enum values are defined in {Enums::PinType}.
770
+ # @rbs return: ::Integer
771
+ # @return [Integer]
772
+ # @see Type
773
+ def type; self[:"type"]&.value; end
774
+ # Known enum values are defined in {Enums::PinDirection}.
775
+ # @rbs return: ::Integer
776
+ # @return [Integer]
777
+ # @see Direction
778
+ def direction; self[:"direction"]&.value; end
779
+ # @rbs return: ::Integer
780
+ # @return [Integer]
781
+ # @see Frequency
782
+ def frequency; self[:"frequency"]&.value; end
783
+ # @rbs return: ::Array[AttributeSets::FrequencyRange]
784
+ # @return [Array<AttributeSets::FrequencyRange>]
785
+ # @see FrequencySupported
786
+ def frequency_supported; self[:"frequency_supported"].map(&:value); end
787
+ # @rbs return: ::Integer
788
+ # @return [Integer]
789
+ # @see FrequencyMin
790
+ def frequency_min; self[:"frequency_min"]&.value; end
791
+ # @rbs return: ::Integer
792
+ # @return [Integer]
793
+ # @see FrequencyMax
794
+ def frequency_max; self[:"frequency_max"]&.value; end
795
+ # @rbs return: ::Integer
796
+ # @return [Integer]
797
+ # @see Prio
798
+ def prio; self[:"prio"]&.value; end
799
+ # Known enum values are defined in {Enums::PinState}.
800
+ # @rbs return: ::Integer
801
+ # @return [Integer]
802
+ # @see State
803
+ def state; self[:"state"]&.value; end
804
+ # Known flags are defined in {Flags::PinCapabilities}.
805
+ # @rbs return: ::Integer
806
+ # @return [Integer]
807
+ # @see Capabilities
808
+ def capabilities; self[:"capabilities"]&.value; end
809
+ # @rbs return: ::Array[AttributeSets::PinParentDevice]
810
+ # @return [Array<AttributeSets::PinParentDevice>]
811
+ # @see ParentDevice
812
+ def parent_device; self[:"parent_device"].map(&:value); end
813
+ # @rbs return: ::Array[AttributeSets::PinParentPin]
814
+ # @return [Array<AttributeSets::PinParentPin>]
815
+ # @see ParentPin
816
+ def parent_pin; self[:"parent_pin"].map(&:value); end
817
+ # @rbs return: ::Integer
818
+ # @return [Integer]
819
+ # @see PhaseAdjustMin
820
+ def phase_adjust_min; self[:"phase_adjust_min"]&.value; end
821
+ # @rbs return: ::Integer
822
+ # @return [Integer]
823
+ # @see PhaseAdjustMax
824
+ def phase_adjust_max; self[:"phase_adjust_max"]&.value; end
825
+ # @rbs return: ::Integer
826
+ # @return [Integer]
827
+ # @see PhaseAdjust
828
+ def phase_adjust; self[:"phase_adjust"]&.value; end
829
+ # @rbs return: ::Integer
830
+ # @return [Integer]
831
+ # @see PhaseOffset
832
+ def phase_offset; self[:"phase_offset"]&.value; end
833
+ # The FFO (Fractional Frequency Offset) of the pin.
834
+ # At top level this represents the RX vs TX symbol rate
835
+ # offset on the media associated with the pin. Inside
836
+ # the pin-parent-device nest it represents the frequency
837
+ # offset between the pin and its parent DPLL device.
838
+ # Value is in PPM (parts per million).
839
+ # This is a lower-precision version of
840
+ # fractional-frequency-offset-ppt.
841
+ # @rbs return: ::Integer
842
+ # @return [Integer]
843
+ # @see FractionalFrequencyOffset
844
+ def fractional_frequency_offset; self[:"fractional_frequency_offset"]&.value; end
845
+ # Frequency of Embedded SYNC signal. If provided, the pin is configured
846
+ # with a SYNC signal embedded into its base clock frequency.
847
+ # @rbs return: ::Integer
848
+ # @return [Integer]
849
+ # @see EsyncFrequency
850
+ def esync_frequency; self[:"esync_frequency"]&.value; end
851
+ # If provided a pin is capable of embedding a SYNC signal (within given
852
+ # range) into its base frequency signal.
853
+ # @rbs return: ::Array[AttributeSets::FrequencyRange]
854
+ # @return [Array<AttributeSets::FrequencyRange>]
855
+ # @see EsyncFrequencySupported
856
+ def esync_frequency_supported; self[:"esync_frequency_supported"].map(&:value); end
857
+ # A ratio of high to low state of a SYNC signal pulse embedded
858
+ # into base clock frequency. Value is in percents.
859
+ # @rbs return: ::Integer
860
+ # @return [Integer]
861
+ # @see EsyncPulse
862
+ def esync_pulse; self[:"esync_pulse"]&.value; end
863
+ # Capable pin provides list of pins that can be bound to create a
864
+ # reference-sync pin pair.
865
+ # @rbs return: ::Array[AttributeSets::ReferenceSync]
866
+ # @return [Array<AttributeSets::ReferenceSync>]
867
+ # @see ReferenceSync
868
+ def reference_sync; self[:"reference_sync"].map(&:value); end
869
+ # Granularity of phase adjustment, in picoseconds. The value of
870
+ # phase adjustment must be a multiple of this granularity.
871
+ # @rbs return: ::Integer
872
+ # @return [Integer]
873
+ # @see PhaseAdjustGran
874
+ def phase_adjust_gran; self[:"phase_adjust_gran"]&.value; end
875
+ # The FFO (Fractional Frequency Offset) of the pin.
876
+ # At top level this represents the RX vs TX symbol rate
877
+ # offset on the media associated with the pin. Inside
878
+ # the pin-parent-device nest it represents the frequency
879
+ # offset between the pin and its parent DPLL device.
880
+ # Value is in PPT (parts per trillion, 10^-12).
881
+ # This is a higher-precision version of
882
+ # fractional-frequency-offset.
883
+ # @rbs return: ::Integer
884
+ # @return [Integer]
885
+ # @see FractionalFrequencyOffsetPpt
886
+ def fractional_frequency_offset_ppt; self[:"fractional_frequency_offset_ppt"]&.value; end
887
+ # The measured frequency of the input pin in millihertz (mHz).
888
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY /
889
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is an integer part (Hz)
890
+ # of a measured frequency value.
891
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY %
892
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is a fractional part
893
+ # of a measured frequency value.
894
+ # @rbs return: ::Integer
895
+ # @return [Integer]
896
+ # @see MeasuredFrequency
897
+ def measured_frequency; self[:"measured_frequency"]&.value; end
898
+ # Operational state of the pin with respect to its parent DPLL
899
+ # device. Unlike state (which reflects the administrative intent),
900
+ # operstate reflects the actual hardware status.
901
+ #
902
+ #
903
+ # Known enum values are defined in {Enums::PinOperstate}.
904
+ # @rbs return: ::Integer
905
+ # @return [Integer]
906
+ # @see Operstate
907
+ def operstate; self[:"operstate"]&.value; end
269
908
  class << self
270
909
  # Looks up Attribute class by name.
271
- #--
272
910
  # @rbs name: Symbol
273
911
  # @rbs return: Attribute
912
+ # @param [Symbol] name
913
+ # @return [Attribute]
274
914
  def by_name(name); BY_NAME.fetch(name); end
275
915
  # Looks up Attribute class by type value.
276
- #--
277
916
  # @rbs type: Integer
278
917
  # @rbs return: Attribute
918
+ # @param [Integer] type
919
+ # @return [Attribute]
279
920
  def by_type(type); BY_TYPE.fetch(type); end
280
921
  end
281
922
  end
282
- class PinParentDevice < ::Nl::Protocols::Genl::AttributeSet
923
+ class PinParentDevice < ::Nl::AttributeSet
283
924
  # Abstract class
284
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
925
+ class Attribute < ::Nl::AttributeSet::Attribute
285
926
  end
286
927
  class ParentId < Attribute
287
928
  TYPE = 2
288
929
  NAME = :"parent_id"
289
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
930
+ # @private
931
+ ORDER = 0
932
+ # @private
933
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
290
934
  end
935
+ # Known enum values are defined in {Enums::PinDirection}.
291
936
  class Direction < Attribute
292
937
  TYPE = 10
293
938
  NAME = :"direction"
294
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
939
+ # @private
940
+ ORDER = 1
941
+ # @private
942
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
295
943
  end
296
944
  class Prio < Attribute
297
945
  TYPE = 15
298
946
  NAME = :"prio"
299
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
947
+ # @private
948
+ ORDER = 2
949
+ # @private
950
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
300
951
  end
952
+ # Known enum values are defined in {Enums::PinState}.
301
953
  class State < Attribute
302
954
  TYPE = 16
303
955
  NAME = :"state"
304
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
305
- end
956
+ # @private
957
+ ORDER = 3
958
+ # @private
959
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
960
+ end
961
+ # Operational state of the pin with respect to its parent DPLL
962
+ # device. Unlike state (which reflects the administrative intent),
963
+ # operstate reflects the actual hardware status.
964
+ #
965
+ #
966
+ # Known enum values are defined in {Enums::PinOperstate}.
306
967
  class Operstate < Attribute
307
968
  TYPE = 32
308
969
  NAME = :"operstate"
309
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
970
+ # @private
971
+ ORDER = 4
972
+ # @private
973
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
310
974
  end
311
975
  class PhaseOffset < Attribute
312
976
  TYPE = 23
313
977
  NAME = :"phase_offset"
314
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S64, check: nil)
315
- end
978
+ # @private
979
+ ORDER = 5
980
+ # @private
981
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S64, check: nil)
982
+ end
983
+ # The FFO (Fractional Frequency Offset) of the pin.
984
+ # At top level this represents the RX vs TX symbol rate
985
+ # offset on the media associated with the pin. Inside
986
+ # the pin-parent-device nest it represents the frequency
987
+ # offset between the pin and its parent DPLL device.
988
+ # Value is in PPM (parts per million).
989
+ # This is a lower-precision version of
990
+ # fractional-frequency-offset-ppt.
316
991
  class FractionalFrequencyOffset < Attribute
317
992
  TYPE = 24
318
993
  NAME = :"fractional_frequency_offset"
319
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::SINT, check: nil)
320
- end
994
+ # @private
995
+ ORDER = 6
996
+ # @private
997
+ DATATYPE = ::Nl::DataTypes::VariableInteger.new(::Nl::Endian::Host, signed: true, check: nil)
998
+ end
999
+ # The FFO (Fractional Frequency Offset) of the pin.
1000
+ # At top level this represents the RX vs TX symbol rate
1001
+ # offset on the media associated with the pin. Inside
1002
+ # the pin-parent-device nest it represents the frequency
1003
+ # offset between the pin and its parent DPLL device.
1004
+ # Value is in PPT (parts per trillion, 10^-12).
1005
+ # This is a higher-precision version of
1006
+ # fractional-frequency-offset.
321
1007
  class FractionalFrequencyOffsetPpt < Attribute
322
1008
  TYPE = 30
323
1009
  NAME = :"fractional_frequency_offset_ppt"
324
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::SINT, check: nil)
1010
+ # @private
1011
+ ORDER = 7
1012
+ # @private
1013
+ DATATYPE = ::Nl::DataTypes::VariableInteger.new(::Nl::Endian::Host, signed: true, check: nil)
325
1014
  end
326
- # :nodoc:
1015
+ # @private
327
1016
  BY_NAME = Ractor.make_shareable({:"parent_id" => ParentId, :"direction" => Direction, :"prio" => Prio, :"state" => State, :"operstate" => Operstate, :"phase_offset" => PhaseOffset, :"fractional_frequency_offset" => FractionalFrequencyOffset, :"fractional_frequency_offset_ppt" => FractionalFrequencyOffsetPpt}) #: Hash[::Symbol, Attribute]
328
- # :nodoc:
1017
+ # @private
329
1018
  BY_TYPE = Ractor.make_shareable({2 => ParentId, 10 => Direction, 15 => Prio, 16 => State, 32 => Operstate, 23 => PhaseOffset, 24 => FractionalFrequencyOffset, 30 => FractionalFrequencyOffsetPpt}) #: Hash[::Integer, Attribute]
1019
+ # @rbs return: ::Integer
1020
+ # @return [Integer]
1021
+ # @see ParentId
1022
+ def parent_id; self[:"parent_id"]&.value; end
1023
+ # Known enum values are defined in {Enums::PinDirection}.
1024
+ # @rbs return: ::Integer
1025
+ # @return [Integer]
1026
+ # @see Direction
1027
+ def direction; self[:"direction"]&.value; end
1028
+ # @rbs return: ::Integer
1029
+ # @return [Integer]
1030
+ # @see Prio
1031
+ def prio; self[:"prio"]&.value; end
1032
+ # Known enum values are defined in {Enums::PinState}.
1033
+ # @rbs return: ::Integer
1034
+ # @return [Integer]
1035
+ # @see State
1036
+ def state; self[:"state"]&.value; end
1037
+ # Operational state of the pin with respect to its parent DPLL
1038
+ # device. Unlike state (which reflects the administrative intent),
1039
+ # operstate reflects the actual hardware status.
1040
+ #
1041
+ #
1042
+ # Known enum values are defined in {Enums::PinOperstate}.
1043
+ # @rbs return: ::Integer
1044
+ # @return [Integer]
1045
+ # @see Operstate
1046
+ def operstate; self[:"operstate"]&.value; end
1047
+ # @rbs return: ::Integer
1048
+ # @return [Integer]
1049
+ # @see PhaseOffset
1050
+ def phase_offset; self[:"phase_offset"]&.value; end
1051
+ # The FFO (Fractional Frequency Offset) of the pin.
1052
+ # At top level this represents the RX vs TX symbol rate
1053
+ # offset on the media associated with the pin. Inside
1054
+ # the pin-parent-device nest it represents the frequency
1055
+ # offset between the pin and its parent DPLL device.
1056
+ # Value is in PPM (parts per million).
1057
+ # This is a lower-precision version of
1058
+ # fractional-frequency-offset-ppt.
1059
+ # @rbs return: ::Integer
1060
+ # @return [Integer]
1061
+ # @see FractionalFrequencyOffset
1062
+ def fractional_frequency_offset; self[:"fractional_frequency_offset"]&.value; end
1063
+ # The FFO (Fractional Frequency Offset) of the pin.
1064
+ # At top level this represents the RX vs TX symbol rate
1065
+ # offset on the media associated with the pin. Inside
1066
+ # the pin-parent-device nest it represents the frequency
1067
+ # offset between the pin and its parent DPLL device.
1068
+ # Value is in PPT (parts per trillion, 10^-12).
1069
+ # This is a higher-precision version of
1070
+ # fractional-frequency-offset.
1071
+ # @rbs return: ::Integer
1072
+ # @return [Integer]
1073
+ # @see FractionalFrequencyOffsetPpt
1074
+ def fractional_frequency_offset_ppt; self[:"fractional_frequency_offset_ppt"]&.value; end
330
1075
  class << self
331
1076
  # Looks up Attribute class by name.
332
- #--
333
1077
  # @rbs name: Symbol
334
1078
  # @rbs return: Attribute
1079
+ # @param [Symbol] name
1080
+ # @return [Attribute]
335
1081
  def by_name(name); BY_NAME.fetch(name); end
336
1082
  # Looks up Attribute class by type value.
337
- #--
338
1083
  # @rbs type: Integer
339
1084
  # @rbs return: Attribute
1085
+ # @param [Integer] type
1086
+ # @return [Attribute]
340
1087
  def by_type(type); BY_TYPE.fetch(type); end
341
1088
  end
342
1089
  end
343
- class PinParentPin < ::Nl::Protocols::Genl::AttributeSet
1090
+ class PinParentPin < ::Nl::AttributeSet
344
1091
  # Abstract class
345
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
1092
+ class Attribute < ::Nl::AttributeSet::Attribute
346
1093
  end
347
1094
  class ParentId < Attribute
348
1095
  TYPE = 2
349
1096
  NAME = :"parent_id"
350
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1097
+ # @private
1098
+ ORDER = 0
1099
+ # @private
1100
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
351
1101
  end
1102
+ # Known enum values are defined in {Enums::PinState}.
352
1103
  class State < Attribute
353
1104
  TYPE = 16
354
1105
  NAME = :"state"
355
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1106
+ # @private
1107
+ ORDER = 1
1108
+ # @private
1109
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
356
1110
  end
357
- # :nodoc:
1111
+ # @private
358
1112
  BY_NAME = Ractor.make_shareable({:"parent_id" => ParentId, :"state" => State}) #: Hash[::Symbol, Attribute]
359
- # :nodoc:
1113
+ # @private
360
1114
  BY_TYPE = Ractor.make_shareable({2 => ParentId, 16 => State}) #: Hash[::Integer, Attribute]
1115
+ # @rbs return: ::Integer
1116
+ # @return [Integer]
1117
+ # @see ParentId
1118
+ def parent_id; self[:"parent_id"]&.value; end
1119
+ # Known enum values are defined in {Enums::PinState}.
1120
+ # @rbs return: ::Integer
1121
+ # @return [Integer]
1122
+ # @see State
1123
+ def state; self[:"state"]&.value; end
361
1124
  class << self
362
1125
  # Looks up Attribute class by name.
363
- #--
364
1126
  # @rbs name: Symbol
365
1127
  # @rbs return: Attribute
1128
+ # @param [Symbol] name
1129
+ # @return [Attribute]
366
1130
  def by_name(name); BY_NAME.fetch(name); end
367
1131
  # Looks up Attribute class by type value.
368
- #--
369
1132
  # @rbs type: Integer
370
1133
  # @rbs return: Attribute
1134
+ # @param [Integer] type
1135
+ # @return [Attribute]
371
1136
  def by_type(type); BY_TYPE.fetch(type); end
372
1137
  end
373
1138
  end
374
- class FrequencyRange < ::Nl::Protocols::Genl::AttributeSet
1139
+ class FrequencyRange < ::Nl::AttributeSet
375
1140
  # Abstract class
376
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
1141
+ class Attribute < ::Nl::AttributeSet::Attribute
377
1142
  end
378
1143
  class FrequencyMin < Attribute
379
1144
  TYPE = 13
380
1145
  NAME = :"frequency_min"
381
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1146
+ # @private
1147
+ ORDER = 0
1148
+ # @private
1149
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
382
1150
  end
383
1151
  class FrequencyMax < Attribute
384
1152
  TYPE = 14
385
1153
  NAME = :"frequency_max"
386
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1154
+ # @private
1155
+ ORDER = 1
1156
+ # @private
1157
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
387
1158
  end
388
- # :nodoc:
1159
+ # @private
389
1160
  BY_NAME = Ractor.make_shareable({:"frequency_min" => FrequencyMin, :"frequency_max" => FrequencyMax}) #: Hash[::Symbol, Attribute]
390
- # :nodoc:
1161
+ # @private
391
1162
  BY_TYPE = Ractor.make_shareable({13 => FrequencyMin, 14 => FrequencyMax}) #: Hash[::Integer, Attribute]
1163
+ # @rbs return: ::Integer
1164
+ # @return [Integer]
1165
+ # @see FrequencyMin
1166
+ def frequency_min; self[:"frequency_min"]&.value; end
1167
+ # @rbs return: ::Integer
1168
+ # @return [Integer]
1169
+ # @see FrequencyMax
1170
+ def frequency_max; self[:"frequency_max"]&.value; end
392
1171
  class << self
393
1172
  # Looks up Attribute class by name.
394
- #--
395
1173
  # @rbs name: Symbol
396
1174
  # @rbs return: Attribute
1175
+ # @param [Symbol] name
1176
+ # @return [Attribute]
397
1177
  def by_name(name); BY_NAME.fetch(name); end
398
1178
  # Looks up Attribute class by type value.
399
- #--
400
1179
  # @rbs type: Integer
401
1180
  # @rbs return: Attribute
1181
+ # @param [Integer] type
1182
+ # @return [Attribute]
402
1183
  def by_type(type); BY_TYPE.fetch(type); end
403
1184
  end
404
1185
  end
405
- class ReferenceSync < ::Nl::Protocols::Genl::AttributeSet
1186
+ class ReferenceSync < ::Nl::AttributeSet
406
1187
  # Abstract class
407
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
1188
+ class Attribute < ::Nl::AttributeSet::Attribute
408
1189
  end
409
1190
  class Id < Attribute
410
1191
  TYPE = 1
411
1192
  NAME = :"id"
412
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1193
+ # @private
1194
+ ORDER = 0
1195
+ # @private
1196
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
413
1197
  end
1198
+ # Known enum values are defined in {Enums::PinState}.
414
1199
  class State < Attribute
415
1200
  TYPE = 16
416
1201
  NAME = :"state"
417
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1202
+ # @private
1203
+ ORDER = 1
1204
+ # @private
1205
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
418
1206
  end
419
- # :nodoc:
1207
+ # @private
420
1208
  BY_NAME = Ractor.make_shareable({:"id" => Id, :"state" => State}) #: Hash[::Symbol, Attribute]
421
- # :nodoc:
1209
+ # @private
422
1210
  BY_TYPE = Ractor.make_shareable({1 => Id, 16 => State}) #: Hash[::Integer, Attribute]
1211
+ # @rbs return: ::Integer
1212
+ # @return [Integer]
1213
+ # @see Id
1214
+ def id; self[:"id"]&.value; end
1215
+ # Known enum values are defined in {Enums::PinState}.
1216
+ # @rbs return: ::Integer
1217
+ # @return [Integer]
1218
+ # @see State
1219
+ def state; self[:"state"]&.value; end
423
1220
  class << self
424
1221
  # Looks up Attribute class by name.
425
- #--
426
1222
  # @rbs name: Symbol
427
1223
  # @rbs return: Attribute
1224
+ # @param [Symbol] name
1225
+ # @return [Attribute]
428
1226
  def by_name(name); BY_NAME.fetch(name); end
429
1227
  # Looks up Attribute class by type value.
430
- #--
431
1228
  # @rbs type: Integer
432
1229
  # @rbs return: Attribute
1230
+ # @param [Integer] type
1231
+ # @return [Attribute]
433
1232
  def by_type(type); BY_TYPE.fetch(type); end
434
1233
  end
435
1234
  end
436
- Pin::FrequencySupported::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrequencyRange)
437
- Pin::ParentDevice::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(PinParentDevice)
438
- Pin::ParentPin::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(PinParentPin)
439
- Pin::EsyncFrequencySupported::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrequencyRange)
440
- Pin::ReferenceSync::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(ReferenceSync)
1235
+ # @private
1236
+ Pin::FrequencySupported::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::FrequencyRange, selector_bindings: Ractor.make_shareable([]))
1237
+ # @private
1238
+ Pin::ParentDevice::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::PinParentDevice, selector_bindings: Ractor.make_shareable([]))
1239
+ # @private
1240
+ Pin::ParentPin::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::PinParentPin, selector_bindings: Ractor.make_shareable([]))
1241
+ # @private
1242
+ Pin::EsyncFrequencySupported::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::FrequencyRange, selector_bindings: Ractor.make_shareable([]))
1243
+ # @private
1244
+ Pin::ReferenceSync::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::ReferenceSync, selector_bindings: Ractor.make_shareable([]))
441
1245
  end
442
1246
  module Messages
443
1247
  # Get id of dpll device that matches given attributes
444
- class DoDeviceIdGetRequest < ::Nl::Protocols::Genl::Message
1248
+ #
1249
+ #
1250
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1251
+ class DoDeviceIdGetRequest < ::Nl::Genl::Message
445
1252
  TYPE = 1
446
1253
  FIXED_HEADER = nil
447
1254
  ATTRIBUTE_SET = AttributeSets::Dpll
448
1255
  ATTRIBUTES = Ractor.make_shareable(%i[module_name clock_id type])
449
- # Gets the value of `module-name` attribute in the message.
450
- #--
451
1256
  # @rbs return: ::String
1257
+ # @return [String]
1258
+ # @see AttributeSets::Dpll::ModuleName
452
1259
  def module_name; attributes[:"module_name"]&.value; end
453
- # Gets the value of `clock-id` attribute in the message.
454
- #--
455
1260
  # @rbs return: ::Integer
1261
+ # @return [Integer]
1262
+ # @see AttributeSets::Dpll::ClockId
456
1263
  def clock_id; attributes[:"clock_id"]&.value; end
457
- # Gets the value of `type` attribute in the message.
458
- #--
1264
+ # Known enum values are defined in {Enums::Type}.
459
1265
  # @rbs return: ::Integer
1266
+ # @return [Integer]
1267
+ # @see AttributeSets::Dpll::Type
460
1268
  def type; attributes[:"type"]&.value; end
461
1269
  end
462
1270
  # Get id of dpll device that matches given attributes
463
- class DoDeviceIdGetReply < ::Nl::Protocols::Genl::Message
1271
+ #
1272
+ #
1273
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1274
+ class DoDeviceIdGetReply < ::Nl::Genl::Message
464
1275
  TYPE = 1
465
1276
  FIXED_HEADER = nil
466
1277
  ATTRIBUTE_SET = AttributeSets::Dpll
467
1278
  ATTRIBUTES = Ractor.make_shareable(%i[id])
468
- # Gets the value of `id` attribute in the message.
469
- #--
470
1279
  # @rbs return: ::Integer
1280
+ # @return [Integer]
1281
+ # @see AttributeSets::Dpll::Id
471
1282
  def id; attributes[:"id"]&.value; end
472
1283
  end
473
1284
  # Get list of DPLL devices (dump) or attributes of a single dpll device
474
- class DoDeviceGetRequest < ::Nl::Protocols::Genl::Message
1285
+ #
1286
+ #
1287
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1288
+ class DoDeviceGetRequest < ::Nl::Genl::Message
475
1289
  TYPE = 2
476
1290
  FIXED_HEADER = nil
477
1291
  ATTRIBUTE_SET = AttributeSets::Dpll
478
1292
  ATTRIBUTES = Ractor.make_shareable(%i[id])
479
- # Gets the value of `id` attribute in the message.
480
- #--
481
1293
  # @rbs return: ::Integer
1294
+ # @return [Integer]
1295
+ # @see AttributeSets::Dpll::Id
482
1296
  def id; attributes[:"id"]&.value; end
483
1297
  end
484
1298
  # Get list of DPLL devices (dump) or attributes of a single dpll device
485
- class DoDeviceGetReply < ::Nl::Protocols::Genl::Message
1299
+ #
1300
+ #
1301
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1302
+ class DoDeviceGetReply < ::Nl::Genl::Message
486
1303
  TYPE = 2
487
1304
  FIXED_HEADER = nil
488
1305
  ATTRIBUTE_SET = AttributeSets::Dpll
489
1306
  ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor frequency_monitor])
490
- # Gets the value of `id` attribute in the message.
491
- #--
492
1307
  # @rbs return: ::Integer
1308
+ # @return [Integer]
1309
+ # @see AttributeSets::Dpll::Id
493
1310
  def id; attributes[:"id"]&.value; end
494
- # Gets the value of `module-name` attribute in the message.
495
- #--
496
1311
  # @rbs return: ::String
1312
+ # @return [String]
1313
+ # @see AttributeSets::Dpll::ModuleName
497
1314
  def module_name; attributes[:"module_name"]&.value; end
498
- # Gets the value of `clock-id` attribute in the message.
499
- #--
500
1315
  # @rbs return: ::Integer
1316
+ # @return [Integer]
1317
+ # @see AttributeSets::Dpll::ClockId
501
1318
  def clock_id; attributes[:"clock_id"]&.value; end
502
- # Gets the value of `mode` attribute in the message.
503
- #--
1319
+ # Known enum values are defined in {Enums::Mode}.
504
1320
  # @rbs return: ::Integer
1321
+ # @return [Integer]
1322
+ # @see AttributeSets::Dpll::Mode
505
1323
  def mode; attributes[:"mode"]&.value; end
506
- # Gets the value of `mode-supported` attribute in the message.
507
- #--
508
- # @rbs return: ::Integer
509
- def mode_supported; attributes[:"mode_supported"]&.value; end
510
- # Gets the value of `lock-status` attribute in the message.
511
- #--
512
- # @rbs return: ::Integer
1324
+ # Known enum values are defined in {Enums::Mode}.
1325
+ # @rbs return: ::Array[::Integer]
1326
+ # @return [Array<Integer>]
1327
+ # @see AttributeSets::Dpll::ModeSupported
1328
+ def mode_supported; attributes[:"mode_supported"].map(&:value); end
1329
+ # Known enum values are defined in {Enums::LockStatus}.
1330
+ # @rbs return: ::Integer
1331
+ # @return [Integer]
1332
+ # @see AttributeSets::Dpll::LockStatus
513
1333
  def lock_status; attributes[:"lock_status"]&.value; end
514
- # Gets the value of `temp` attribute in the message.
515
- #--
516
1334
  # @rbs return: ::Integer
1335
+ # @return [Integer]
1336
+ # @see AttributeSets::Dpll::Temp
517
1337
  def temp; attributes[:"temp"]&.value; end
518
- # Gets the value of `type` attribute in the message.
519
- #--
1338
+ # Known enum values are defined in {Enums::Type}.
520
1339
  # @rbs return: ::Integer
1340
+ # @return [Integer]
1341
+ # @see AttributeSets::Dpll::Type
521
1342
  def type; attributes[:"type"]&.value; end
522
- # Gets the value of `lock-status-error` attribute in the message.
523
- #--
1343
+ # Known enum values are defined in {Enums::LockStatusError}.
524
1344
  # @rbs return: ::Integer
1345
+ # @return [Integer]
1346
+ # @see AttributeSets::Dpll::LockStatusError
525
1347
  def lock_status_error; attributes[:"lock_status_error"]&.value; end
526
- # Gets the value of `phase-offset-monitor` attribute in the message.
527
- #--
1348
+ # Receive or request state of phase offset monitor feature. If enabled, dpll device shall monitor and notify all currently available inputs for changes of their phase offset against the dpll device.
1349
+ #
1350
+ # Known enum values are defined in {Enums::FeatureState}.
528
1351
  # @rbs return: ::Integer
1352
+ # @return [Integer]
1353
+ # @see AttributeSets::Dpll::PhaseOffsetMonitor
529
1354
  def phase_offset_monitor; attributes[:"phase_offset_monitor"]&.value; end
530
- # Gets the value of `phase-offset-avg-factor` attribute in the message.
531
- #--
1355
+ # Averaging factor applied to calculation of reported phase offset.
532
1356
  # @rbs return: ::Integer
1357
+ # @return [Integer]
1358
+ # @see AttributeSets::Dpll::PhaseOffsetAvgFactor
533
1359
  def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
534
- # Gets the value of `frequency-monitor` attribute in the message.
535
- #--
1360
+ # Current or desired state of the frequency monitor feature. If enabled, dpll device shall measure all currently available inputs for their actual input frequency.
1361
+ #
1362
+ # Known enum values are defined in {Enums::FeatureState}.
536
1363
  # @rbs return: ::Integer
1364
+ # @return [Integer]
1365
+ # @see AttributeSets::Dpll::FrequencyMonitor
537
1366
  def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
538
1367
  end
539
1368
  # Get list of DPLL devices (dump) or attributes of a single dpll device
540
- class DumpDeviceGetReply < ::Nl::Protocols::Genl::Message
1369
+ #
1370
+ #
1371
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1372
+ class DumpDeviceGetRequest < ::Nl::Genl::Message
1373
+ TYPE = 2
1374
+ FIXED_HEADER = nil
1375
+ ATTRIBUTE_SET = AttributeSets::Dpll
1376
+ ATTRIBUTES = Ractor.make_shareable(%i[])
1377
+ end
1378
+ # Get list of DPLL devices (dump) or attributes of a single dpll device
1379
+ #
1380
+ #
1381
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1382
+ class DumpDeviceGetReply < ::Nl::Genl::Message
541
1383
  TYPE = 2
542
1384
  FIXED_HEADER = nil
543
1385
  ATTRIBUTE_SET = AttributeSets::Dpll
544
1386
  ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor frequency_monitor])
545
- # Gets the value of `id` attribute in the message.
546
- #--
547
1387
  # @rbs return: ::Integer
1388
+ # @return [Integer]
1389
+ # @see AttributeSets::Dpll::Id
548
1390
  def id; attributes[:"id"]&.value; end
549
- # Gets the value of `module-name` attribute in the message.
550
- #--
551
1391
  # @rbs return: ::String
1392
+ # @return [String]
1393
+ # @see AttributeSets::Dpll::ModuleName
552
1394
  def module_name; attributes[:"module_name"]&.value; end
553
- # Gets the value of `clock-id` attribute in the message.
554
- #--
555
1395
  # @rbs return: ::Integer
1396
+ # @return [Integer]
1397
+ # @see AttributeSets::Dpll::ClockId
556
1398
  def clock_id; attributes[:"clock_id"]&.value; end
557
- # Gets the value of `mode` attribute in the message.
558
- #--
1399
+ # Known enum values are defined in {Enums::Mode}.
559
1400
  # @rbs return: ::Integer
1401
+ # @return [Integer]
1402
+ # @see AttributeSets::Dpll::Mode
560
1403
  def mode; attributes[:"mode"]&.value; end
561
- # Gets the value of `mode-supported` attribute in the message.
562
- #--
563
- # @rbs return: ::Integer
564
- def mode_supported; attributes[:"mode_supported"]&.value; end
565
- # Gets the value of `lock-status` attribute in the message.
566
- #--
567
- # @rbs return: ::Integer
1404
+ # Known enum values are defined in {Enums::Mode}.
1405
+ # @rbs return: ::Array[::Integer]
1406
+ # @return [Array<Integer>]
1407
+ # @see AttributeSets::Dpll::ModeSupported
1408
+ def mode_supported; attributes[:"mode_supported"].map(&:value); end
1409
+ # Known enum values are defined in {Enums::LockStatus}.
1410
+ # @rbs return: ::Integer
1411
+ # @return [Integer]
1412
+ # @see AttributeSets::Dpll::LockStatus
568
1413
  def lock_status; attributes[:"lock_status"]&.value; end
569
- # Gets the value of `temp` attribute in the message.
570
- #--
571
1414
  # @rbs return: ::Integer
1415
+ # @return [Integer]
1416
+ # @see AttributeSets::Dpll::Temp
572
1417
  def temp; attributes[:"temp"]&.value; end
573
- # Gets the value of `type` attribute in the message.
574
- #--
1418
+ # Known enum values are defined in {Enums::Type}.
575
1419
  # @rbs return: ::Integer
1420
+ # @return [Integer]
1421
+ # @see AttributeSets::Dpll::Type
576
1422
  def type; attributes[:"type"]&.value; end
577
- # Gets the value of `lock-status-error` attribute in the message.
578
- #--
1423
+ # Known enum values are defined in {Enums::LockStatusError}.
579
1424
  # @rbs return: ::Integer
1425
+ # @return [Integer]
1426
+ # @see AttributeSets::Dpll::LockStatusError
580
1427
  def lock_status_error; attributes[:"lock_status_error"]&.value; end
581
- # Gets the value of `phase-offset-monitor` attribute in the message.
582
- #--
1428
+ # Receive or request state of phase offset monitor feature. If enabled, dpll device shall monitor and notify all currently available inputs for changes of their phase offset against the dpll device.
1429
+ #
1430
+ # Known enum values are defined in {Enums::FeatureState}.
583
1431
  # @rbs return: ::Integer
1432
+ # @return [Integer]
1433
+ # @see AttributeSets::Dpll::PhaseOffsetMonitor
584
1434
  def phase_offset_monitor; attributes[:"phase_offset_monitor"]&.value; end
585
- # Gets the value of `phase-offset-avg-factor` attribute in the message.
586
- #--
1435
+ # Averaging factor applied to calculation of reported phase offset.
587
1436
  # @rbs return: ::Integer
1437
+ # @return [Integer]
1438
+ # @see AttributeSets::Dpll::PhaseOffsetAvgFactor
588
1439
  def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
589
- # Gets the value of `frequency-monitor` attribute in the message.
590
- #--
1440
+ # Current or desired state of the frequency monitor feature. If enabled, dpll device shall measure all currently available inputs for their actual input frequency.
1441
+ #
1442
+ # Known enum values are defined in {Enums::FeatureState}.
591
1443
  # @rbs return: ::Integer
1444
+ # @return [Integer]
1445
+ # @see AttributeSets::Dpll::FrequencyMonitor
592
1446
  def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
593
1447
  end
594
1448
  # Set attributes for a DPLL device
595
- class DoDeviceSetRequest < ::Nl::Protocols::Genl::Message
1449
+ #
1450
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1451
+ class DoDeviceSetRequest < ::Nl::Genl::Message
596
1452
  TYPE = 3
597
1453
  FIXED_HEADER = nil
598
1454
  ATTRIBUTE_SET = AttributeSets::Dpll
599
1455
  ATTRIBUTES = Ractor.make_shareable(%i[id mode phase_offset_monitor phase_offset_avg_factor frequency_monitor])
600
- # Gets the value of `id` attribute in the message.
601
- #--
602
1456
  # @rbs return: ::Integer
1457
+ # @return [Integer]
1458
+ # @see AttributeSets::Dpll::Id
603
1459
  def id; attributes[:"id"]&.value; end
604
- # Gets the value of `mode` attribute in the message.
605
- #--
1460
+ # Known enum values are defined in {Enums::Mode}.
606
1461
  # @rbs return: ::Integer
1462
+ # @return [Integer]
1463
+ # @see AttributeSets::Dpll::Mode
607
1464
  def mode; attributes[:"mode"]&.value; end
608
- # Gets the value of `phase-offset-monitor` attribute in the message.
609
- #--
1465
+ # Receive or request state of phase offset monitor feature. If enabled, dpll device shall monitor and notify all currently available inputs for changes of their phase offset against the dpll device.
1466
+ #
1467
+ # Known enum values are defined in {Enums::FeatureState}.
610
1468
  # @rbs return: ::Integer
1469
+ # @return [Integer]
1470
+ # @see AttributeSets::Dpll::PhaseOffsetMonitor
611
1471
  def phase_offset_monitor; attributes[:"phase_offset_monitor"]&.value; end
612
- # Gets the value of `phase-offset-avg-factor` attribute in the message.
613
- #--
1472
+ # Averaging factor applied to calculation of reported phase offset.
614
1473
  # @rbs return: ::Integer
1474
+ # @return [Integer]
1475
+ # @see AttributeSets::Dpll::PhaseOffsetAvgFactor
615
1476
  def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
616
- # Gets the value of `frequency-monitor` attribute in the message.
617
- #--
1477
+ # Current or desired state of the frequency monitor feature. If enabled, dpll device shall measure all currently available inputs for their actual input frequency.
1478
+ #
1479
+ # Known enum values are defined in {Enums::FeatureState}.
618
1480
  # @rbs return: ::Integer
1481
+ # @return [Integer]
1482
+ # @see AttributeSets::Dpll::FrequencyMonitor
619
1483
  def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
620
1484
  end
621
1485
  # Get id of a pin that matches given attributes
622
- class DoPinIdGetRequest < ::Nl::Protocols::Genl::Message
1486
+ #
1487
+ #
1488
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1489
+ class DoPinIdGetRequest < ::Nl::Genl::Message
623
1490
  TYPE = 7
624
1491
  FIXED_HEADER = nil
625
1492
  ATTRIBUTE_SET = AttributeSets::Pin
626
1493
  ATTRIBUTES = Ractor.make_shareable(%i[module_name clock_id board_label panel_label package_label type])
627
- # Gets the value of `module-name` attribute in the message.
628
- #--
629
1494
  # @rbs return: ::String
1495
+ # @return [String]
1496
+ # @see AttributeSets::Pin::ModuleName
630
1497
  def module_name; attributes[:"module_name"]&.value; end
631
- # Gets the value of `clock-id` attribute in the message.
632
- #--
633
1498
  # @rbs return: ::Integer
1499
+ # @return [Integer]
1500
+ # @see AttributeSets::Pin::ClockId
634
1501
  def clock_id; attributes[:"clock_id"]&.value; end
635
- # Gets the value of `board-label` attribute in the message.
636
- #--
637
1502
  # @rbs return: ::String
1503
+ # @return [String]
1504
+ # @see AttributeSets::Pin::BoardLabel
638
1505
  def board_label; attributes[:"board_label"]&.value; end
639
- # Gets the value of `panel-label` attribute in the message.
640
- #--
641
1506
  # @rbs return: ::String
1507
+ # @return [String]
1508
+ # @see AttributeSets::Pin::PanelLabel
642
1509
  def panel_label; attributes[:"panel_label"]&.value; end
643
- # Gets the value of `package-label` attribute in the message.
644
- #--
645
1510
  # @rbs return: ::String
1511
+ # @return [String]
1512
+ # @see AttributeSets::Pin::PackageLabel
646
1513
  def package_label; attributes[:"package_label"]&.value; end
647
- # Gets the value of `type` attribute in the message.
648
- #--
1514
+ # Known enum values are defined in {Enums::PinType}.
649
1515
  # @rbs return: ::Integer
1516
+ # @return [Integer]
1517
+ # @see AttributeSets::Pin::Type
650
1518
  def type; attributes[:"type"]&.value; end
651
1519
  end
652
1520
  # Get id of a pin that matches given attributes
653
- class DoPinIdGetReply < ::Nl::Protocols::Genl::Message
1521
+ #
1522
+ #
1523
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1524
+ class DoPinIdGetReply < ::Nl::Genl::Message
654
1525
  TYPE = 7
655
1526
  FIXED_HEADER = nil
656
1527
  ATTRIBUTE_SET = AttributeSets::Pin
657
1528
  ATTRIBUTES = Ractor.make_shareable(%i[id])
658
- # Gets the value of `id` attribute in the message.
659
- #--
660
1529
  # @rbs return: ::Integer
1530
+ # @return [Integer]
1531
+ # @see AttributeSets::Pin::Id
661
1532
  def id; attributes[:"id"]&.value; end
662
1533
  end
663
1534
  # Get list of pins and its attributes.
@@ -667,14 +1538,17 @@ class Dpll < ::Nl::Family
667
1538
  # - dump request with target dpll - list all the pins registered with
668
1539
  # a given dpll device
669
1540
  # - do request with target dpll and target pin - single pin attributes
670
- class DoPinGetRequest < ::Nl::Protocols::Genl::Message
1541
+ #
1542
+ #
1543
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1544
+ class DoPinGetRequest < ::Nl::Genl::Message
671
1545
  TYPE = 8
672
1546
  FIXED_HEADER = nil
673
1547
  ATTRIBUTE_SET = AttributeSets::Pin
674
1548
  ATTRIBUTES = Ractor.make_shareable(%i[id])
675
- # Gets the value of `id` attribute in the message.
676
- #--
677
1549
  # @rbs return: ::Integer
1550
+ # @return [Integer]
1551
+ # @see AttributeSets::Pin::Id
678
1552
  def id; attributes[:"id"]&.value; end
679
1553
  end
680
1554
  # Get list of pins and its attributes.
@@ -684,102 +1558,140 @@ class Dpll < ::Nl::Family
684
1558
  # - dump request with target dpll - list all the pins registered with
685
1559
  # a given dpll device
686
1560
  # - do request with target dpll and target pin - single pin attributes
687
- class DoPinGetReply < ::Nl::Protocols::Genl::Message
1561
+ #
1562
+ #
1563
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1564
+ class DoPinGetReply < ::Nl::Genl::Message
688
1565
  TYPE = 8
689
1566
  FIXED_HEADER = nil
690
1567
  ATTRIBUTE_SET = AttributeSets::Pin
691
1568
  ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran fractional_frequency_offset_ppt measured_frequency])
692
- # Gets the value of `id` attribute in the message.
693
- #--
694
1569
  # @rbs return: ::Integer
1570
+ # @return [Integer]
1571
+ # @see AttributeSets::Pin::Id
695
1572
  def id; attributes[:"id"]&.value; end
696
- # Gets the value of `module-name` attribute in the message.
697
- #--
698
1573
  # @rbs return: ::String
1574
+ # @return [String]
1575
+ # @see AttributeSets::Pin::ModuleName
699
1576
  def module_name; attributes[:"module_name"]&.value; end
700
- # Gets the value of `clock-id` attribute in the message.
701
- #--
702
1577
  # @rbs return: ::Integer
1578
+ # @return [Integer]
1579
+ # @see AttributeSets::Pin::ClockId
703
1580
  def clock_id; attributes[:"clock_id"]&.value; end
704
- # Gets the value of `board-label` attribute in the message.
705
- #--
706
1581
  # @rbs return: ::String
1582
+ # @return [String]
1583
+ # @see AttributeSets::Pin::BoardLabel
707
1584
  def board_label; attributes[:"board_label"]&.value; end
708
- # Gets the value of `panel-label` attribute in the message.
709
- #--
710
1585
  # @rbs return: ::String
1586
+ # @return [String]
1587
+ # @see AttributeSets::Pin::PanelLabel
711
1588
  def panel_label; attributes[:"panel_label"]&.value; end
712
- # Gets the value of `package-label` attribute in the message.
713
- #--
714
1589
  # @rbs return: ::String
1590
+ # @return [String]
1591
+ # @see AttributeSets::Pin::PackageLabel
715
1592
  def package_label; attributes[:"package_label"]&.value; end
716
- # Gets the value of `type` attribute in the message.
717
- #--
1593
+ # Known enum values are defined in {Enums::PinType}.
718
1594
  # @rbs return: ::Integer
1595
+ # @return [Integer]
1596
+ # @see AttributeSets::Pin::Type
719
1597
  def type; attributes[:"type"]&.value; end
720
- # Gets the value of `frequency` attribute in the message.
721
- #--
722
1598
  # @rbs return: ::Integer
1599
+ # @return [Integer]
1600
+ # @see AttributeSets::Pin::Frequency
723
1601
  def frequency; attributes[:"frequency"]&.value; end
724
- # Gets the value of `frequency-supported` attribute in the message.
725
- #--
726
- # @rbs return: AttributeSets::FrequencyRange
727
- def frequency_supported; attributes[:"frequency_supported"]&.value; end
728
- # Gets the value of `capabilities` attribute in the message.
729
- #--
730
- # @rbs return: ::Integer
1602
+ # @rbs return: ::Array[AttributeSets::FrequencyRange]
1603
+ # @return [Array<AttributeSets::FrequencyRange>]
1604
+ # @see AttributeSets::Pin::FrequencySupported
1605
+ def frequency_supported; attributes[:"frequency_supported"].map(&:value); end
1606
+ # Known flags are defined in {Flags::PinCapabilities}.
1607
+ # @rbs return: ::Integer
1608
+ # @return [Integer]
1609
+ # @see AttributeSets::Pin::Capabilities
731
1610
  def capabilities; attributes[:"capabilities"]&.value; end
732
- # Gets the value of `parent-device` attribute in the message.
733
- #--
734
- # @rbs return: AttributeSets::PinParentDevice
735
- def parent_device; attributes[:"parent_device"]&.value; end
736
- # Gets the value of `parent-pin` attribute in the message.
737
- #--
738
- # @rbs return: AttributeSets::PinParentPin
739
- def parent_pin; attributes[:"parent_pin"]&.value; end
740
- # Gets the value of `phase-adjust-min` attribute in the message.
741
- #--
742
- # @rbs return: ::Integer
1611
+ # @rbs return: ::Array[AttributeSets::PinParentDevice]
1612
+ # @return [Array<AttributeSets::PinParentDevice>]
1613
+ # @see AttributeSets::Pin::ParentDevice
1614
+ def parent_device; attributes[:"parent_device"].map(&:value); end
1615
+ # @rbs return: ::Array[AttributeSets::PinParentPin]
1616
+ # @return [Array<AttributeSets::PinParentPin>]
1617
+ # @see AttributeSets::Pin::ParentPin
1618
+ def parent_pin; attributes[:"parent_pin"].map(&:value); end
1619
+ # @rbs return: ::Integer
1620
+ # @return [Integer]
1621
+ # @see AttributeSets::Pin::PhaseAdjustMin
743
1622
  def phase_adjust_min; attributes[:"phase_adjust_min"]&.value; end
744
- # Gets the value of `phase-adjust-max` attribute in the message.
745
- #--
746
1623
  # @rbs return: ::Integer
1624
+ # @return [Integer]
1625
+ # @see AttributeSets::Pin::PhaseAdjustMax
747
1626
  def phase_adjust_max; attributes[:"phase_adjust_max"]&.value; end
748
- # Gets the value of `phase-adjust` attribute in the message.
749
- #--
750
1627
  # @rbs return: ::Integer
1628
+ # @return [Integer]
1629
+ # @see AttributeSets::Pin::PhaseAdjust
751
1630
  def phase_adjust; attributes[:"phase_adjust"]&.value; end
752
- # Gets the value of `fractional-frequency-offset` attribute in the message.
753
- #--
754
- # @rbs return: ::Integer
1631
+ # The FFO (Fractional Frequency Offset) of the pin.
1632
+ # At top level this represents the RX vs TX symbol rate
1633
+ # offset on the media associated with the pin. Inside
1634
+ # the pin-parent-device nest it represents the frequency
1635
+ # offset between the pin and its parent DPLL device.
1636
+ # Value is in PPM (parts per million).
1637
+ # This is a lower-precision version of
1638
+ # fractional-frequency-offset-ppt.
1639
+ # @rbs return: ::Integer
1640
+ # @return [Integer]
1641
+ # @see AttributeSets::Pin::FractionalFrequencyOffset
755
1642
  def fractional_frequency_offset; attributes[:"fractional_frequency_offset"]&.value; end
756
- # Gets the value of `esync-frequency` attribute in the message.
757
- #--
1643
+ # Frequency of Embedded SYNC signal. If provided, the pin is configured
1644
+ # with a SYNC signal embedded into its base clock frequency.
758
1645
  # @rbs return: ::Integer
1646
+ # @return [Integer]
1647
+ # @see AttributeSets::Pin::EsyncFrequency
759
1648
  def esync_frequency; attributes[:"esync_frequency"]&.value; end
760
- # Gets the value of `esync-frequency-supported` attribute in the message.
761
- #--
762
- # @rbs return: AttributeSets::FrequencyRange
763
- def esync_frequency_supported; attributes[:"esync_frequency_supported"]&.value; end
764
- # Gets the value of `esync-pulse` attribute in the message.
765
- #--
766
- # @rbs return: ::Integer
1649
+ # If provided a pin is capable of embedding a SYNC signal (within given
1650
+ # range) into its base frequency signal.
1651
+ # @rbs return: ::Array[AttributeSets::FrequencyRange]
1652
+ # @return [Array<AttributeSets::FrequencyRange>]
1653
+ # @see AttributeSets::Pin::EsyncFrequencySupported
1654
+ def esync_frequency_supported; attributes[:"esync_frequency_supported"].map(&:value); end
1655
+ # A ratio of high to low state of a SYNC signal pulse embedded
1656
+ # into base clock frequency. Value is in percents.
1657
+ # @rbs return: ::Integer
1658
+ # @return [Integer]
1659
+ # @see AttributeSets::Pin::EsyncPulse
767
1660
  def esync_pulse; attributes[:"esync_pulse"]&.value; end
768
- # Gets the value of `reference-sync` attribute in the message.
769
- #--
770
- # @rbs return: AttributeSets::ReferenceSync
771
- def reference_sync; attributes[:"reference_sync"]&.value; end
772
- # Gets the value of `phase-adjust-gran` attribute in the message.
773
- #--
774
- # @rbs return: ::Integer
1661
+ # Capable pin provides list of pins that can be bound to create a
1662
+ # reference-sync pin pair.
1663
+ # @rbs return: ::Array[AttributeSets::ReferenceSync]
1664
+ # @return [Array<AttributeSets::ReferenceSync>]
1665
+ # @see AttributeSets::Pin::ReferenceSync
1666
+ def reference_sync; attributes[:"reference_sync"].map(&:value); end
1667
+ # Granularity of phase adjustment, in picoseconds. The value of
1668
+ # phase adjustment must be a multiple of this granularity.
1669
+ # @rbs return: ::Integer
1670
+ # @return [Integer]
1671
+ # @see AttributeSets::Pin::PhaseAdjustGran
775
1672
  def phase_adjust_gran; attributes[:"phase_adjust_gran"]&.value; end
776
- # Gets the value of `fractional-frequency-offset-ppt` attribute in the message.
777
- #--
778
- # @rbs return: ::Integer
1673
+ # The FFO (Fractional Frequency Offset) of the pin.
1674
+ # At top level this represents the RX vs TX symbol rate
1675
+ # offset on the media associated with the pin. Inside
1676
+ # the pin-parent-device nest it represents the frequency
1677
+ # offset between the pin and its parent DPLL device.
1678
+ # Value is in PPT (parts per trillion, 10^-12).
1679
+ # This is a higher-precision version of
1680
+ # fractional-frequency-offset.
1681
+ # @rbs return: ::Integer
1682
+ # @return [Integer]
1683
+ # @see AttributeSets::Pin::FractionalFrequencyOffsetPpt
779
1684
  def fractional_frequency_offset_ppt; attributes[:"fractional_frequency_offset_ppt"]&.value; end
780
- # Gets the value of `measured-frequency` attribute in the message.
781
- #--
782
- # @rbs return: ::Integer
1685
+ # The measured frequency of the input pin in millihertz (mHz).
1686
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY /
1687
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is an integer part (Hz)
1688
+ # of a measured frequency value.
1689
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY %
1690
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is a fractional part
1691
+ # of a measured frequency value.
1692
+ # @rbs return: ::Integer
1693
+ # @return [Integer]
1694
+ # @see AttributeSets::Pin::MeasuredFrequency
783
1695
  def measured_frequency; attributes[:"measured_frequency"]&.value; end
784
1696
  end
785
1697
  # Get list of pins and its attributes.
@@ -789,14 +1701,17 @@ class Dpll < ::Nl::Family
789
1701
  # - dump request with target dpll - list all the pins registered with
790
1702
  # a given dpll device
791
1703
  # - do request with target dpll and target pin - single pin attributes
792
- class DumpPinGetRequest < ::Nl::Protocols::Genl::Message
1704
+ #
1705
+ #
1706
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1707
+ class DumpPinGetRequest < ::Nl::Genl::Message
793
1708
  TYPE = 8
794
1709
  FIXED_HEADER = nil
795
1710
  ATTRIBUTE_SET = AttributeSets::Pin
796
1711
  ATTRIBUTES = Ractor.make_shareable(%i[id])
797
- # Gets the value of `id` attribute in the message.
798
- #--
799
1712
  # @rbs return: ::Integer
1713
+ # @return [Integer]
1714
+ # @see AttributeSets::Pin::Id
800
1715
  def id; attributes[:"id"]&.value; end
801
1716
  end
802
1717
  # Get list of pins and its attributes.
@@ -806,173 +1721,895 @@ class Dpll < ::Nl::Family
806
1721
  # - dump request with target dpll - list all the pins registered with
807
1722
  # a given dpll device
808
1723
  # - do request with target dpll and target pin - single pin attributes
809
- class DumpPinGetReply < ::Nl::Protocols::Genl::Message
1724
+ #
1725
+ #
1726
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1727
+ class DumpPinGetReply < ::Nl::Genl::Message
810
1728
  TYPE = 8
811
1729
  FIXED_HEADER = nil
812
1730
  ATTRIBUTE_SET = AttributeSets::Pin
813
1731
  ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran fractional_frequency_offset_ppt measured_frequency])
814
- # Gets the value of `id` attribute in the message.
815
- #--
816
1732
  # @rbs return: ::Integer
1733
+ # @return [Integer]
1734
+ # @see AttributeSets::Pin::Id
817
1735
  def id; attributes[:"id"]&.value; end
818
- # Gets the value of `module-name` attribute in the message.
819
- #--
820
1736
  # @rbs return: ::String
1737
+ # @return [String]
1738
+ # @see AttributeSets::Pin::ModuleName
821
1739
  def module_name; attributes[:"module_name"]&.value; end
822
- # Gets the value of `clock-id` attribute in the message.
823
- #--
824
1740
  # @rbs return: ::Integer
1741
+ # @return [Integer]
1742
+ # @see AttributeSets::Pin::ClockId
825
1743
  def clock_id; attributes[:"clock_id"]&.value; end
826
- # Gets the value of `board-label` attribute in the message.
827
- #--
828
1744
  # @rbs return: ::String
1745
+ # @return [String]
1746
+ # @see AttributeSets::Pin::BoardLabel
829
1747
  def board_label; attributes[:"board_label"]&.value; end
830
- # Gets the value of `panel-label` attribute in the message.
831
- #--
832
1748
  # @rbs return: ::String
1749
+ # @return [String]
1750
+ # @see AttributeSets::Pin::PanelLabel
833
1751
  def panel_label; attributes[:"panel_label"]&.value; end
834
- # Gets the value of `package-label` attribute in the message.
835
- #--
836
1752
  # @rbs return: ::String
1753
+ # @return [String]
1754
+ # @see AttributeSets::Pin::PackageLabel
837
1755
  def package_label; attributes[:"package_label"]&.value; end
838
- # Gets the value of `type` attribute in the message.
839
- #--
1756
+ # Known enum values are defined in {Enums::PinType}.
840
1757
  # @rbs return: ::Integer
1758
+ # @return [Integer]
1759
+ # @see AttributeSets::Pin::Type
841
1760
  def type; attributes[:"type"]&.value; end
842
- # Gets the value of `frequency` attribute in the message.
843
- #--
844
1761
  # @rbs return: ::Integer
1762
+ # @return [Integer]
1763
+ # @see AttributeSets::Pin::Frequency
845
1764
  def frequency; attributes[:"frequency"]&.value; end
846
- # Gets the value of `frequency-supported` attribute in the message.
847
- #--
848
- # @rbs return: AttributeSets::FrequencyRange
849
- def frequency_supported; attributes[:"frequency_supported"]&.value; end
850
- # Gets the value of `capabilities` attribute in the message.
851
- #--
852
- # @rbs return: ::Integer
1765
+ # @rbs return: ::Array[AttributeSets::FrequencyRange]
1766
+ # @return [Array<AttributeSets::FrequencyRange>]
1767
+ # @see AttributeSets::Pin::FrequencySupported
1768
+ def frequency_supported; attributes[:"frequency_supported"].map(&:value); end
1769
+ # Known flags are defined in {Flags::PinCapabilities}.
1770
+ # @rbs return: ::Integer
1771
+ # @return [Integer]
1772
+ # @see AttributeSets::Pin::Capabilities
853
1773
  def capabilities; attributes[:"capabilities"]&.value; end
854
- # Gets the value of `parent-device` attribute in the message.
855
- #--
856
- # @rbs return: AttributeSets::PinParentDevice
857
- def parent_device; attributes[:"parent_device"]&.value; end
858
- # Gets the value of `parent-pin` attribute in the message.
859
- #--
860
- # @rbs return: AttributeSets::PinParentPin
861
- def parent_pin; attributes[:"parent_pin"]&.value; end
862
- # Gets the value of `phase-adjust-min` attribute in the message.
863
- #--
864
- # @rbs return: ::Integer
1774
+ # @rbs return: ::Array[AttributeSets::PinParentDevice]
1775
+ # @return [Array<AttributeSets::PinParentDevice>]
1776
+ # @see AttributeSets::Pin::ParentDevice
1777
+ def parent_device; attributes[:"parent_device"].map(&:value); end
1778
+ # @rbs return: ::Array[AttributeSets::PinParentPin]
1779
+ # @return [Array<AttributeSets::PinParentPin>]
1780
+ # @see AttributeSets::Pin::ParentPin
1781
+ def parent_pin; attributes[:"parent_pin"].map(&:value); end
1782
+ # @rbs return: ::Integer
1783
+ # @return [Integer]
1784
+ # @see AttributeSets::Pin::PhaseAdjustMin
865
1785
  def phase_adjust_min; attributes[:"phase_adjust_min"]&.value; end
866
- # Gets the value of `phase-adjust-max` attribute in the message.
867
- #--
868
1786
  # @rbs return: ::Integer
1787
+ # @return [Integer]
1788
+ # @see AttributeSets::Pin::PhaseAdjustMax
869
1789
  def phase_adjust_max; attributes[:"phase_adjust_max"]&.value; end
870
- # Gets the value of `phase-adjust` attribute in the message.
871
- #--
872
1790
  # @rbs return: ::Integer
1791
+ # @return [Integer]
1792
+ # @see AttributeSets::Pin::PhaseAdjust
873
1793
  def phase_adjust; attributes[:"phase_adjust"]&.value; end
874
- # Gets the value of `fractional-frequency-offset` attribute in the message.
875
- #--
876
- # @rbs return: ::Integer
1794
+ # The FFO (Fractional Frequency Offset) of the pin.
1795
+ # At top level this represents the RX vs TX symbol rate
1796
+ # offset on the media associated with the pin. Inside
1797
+ # the pin-parent-device nest it represents the frequency
1798
+ # offset between the pin and its parent DPLL device.
1799
+ # Value is in PPM (parts per million).
1800
+ # This is a lower-precision version of
1801
+ # fractional-frequency-offset-ppt.
1802
+ # @rbs return: ::Integer
1803
+ # @return [Integer]
1804
+ # @see AttributeSets::Pin::FractionalFrequencyOffset
877
1805
  def fractional_frequency_offset; attributes[:"fractional_frequency_offset"]&.value; end
878
- # Gets the value of `esync-frequency` attribute in the message.
879
- #--
1806
+ # Frequency of Embedded SYNC signal. If provided, the pin is configured
1807
+ # with a SYNC signal embedded into its base clock frequency.
880
1808
  # @rbs return: ::Integer
1809
+ # @return [Integer]
1810
+ # @see AttributeSets::Pin::EsyncFrequency
881
1811
  def esync_frequency; attributes[:"esync_frequency"]&.value; end
882
- # Gets the value of `esync-frequency-supported` attribute in the message.
883
- #--
884
- # @rbs return: AttributeSets::FrequencyRange
885
- def esync_frequency_supported; attributes[:"esync_frequency_supported"]&.value; end
886
- # Gets the value of `esync-pulse` attribute in the message.
887
- #--
888
- # @rbs return: ::Integer
1812
+ # If provided a pin is capable of embedding a SYNC signal (within given
1813
+ # range) into its base frequency signal.
1814
+ # @rbs return: ::Array[AttributeSets::FrequencyRange]
1815
+ # @return [Array<AttributeSets::FrequencyRange>]
1816
+ # @see AttributeSets::Pin::EsyncFrequencySupported
1817
+ def esync_frequency_supported; attributes[:"esync_frequency_supported"].map(&:value); end
1818
+ # A ratio of high to low state of a SYNC signal pulse embedded
1819
+ # into base clock frequency. Value is in percents.
1820
+ # @rbs return: ::Integer
1821
+ # @return [Integer]
1822
+ # @see AttributeSets::Pin::EsyncPulse
889
1823
  def esync_pulse; attributes[:"esync_pulse"]&.value; end
890
- # Gets the value of `reference-sync` attribute in the message.
891
- #--
892
- # @rbs return: AttributeSets::ReferenceSync
893
- def reference_sync; attributes[:"reference_sync"]&.value; end
894
- # Gets the value of `phase-adjust-gran` attribute in the message.
895
- #--
896
- # @rbs return: ::Integer
1824
+ # Capable pin provides list of pins that can be bound to create a
1825
+ # reference-sync pin pair.
1826
+ # @rbs return: ::Array[AttributeSets::ReferenceSync]
1827
+ # @return [Array<AttributeSets::ReferenceSync>]
1828
+ # @see AttributeSets::Pin::ReferenceSync
1829
+ def reference_sync; attributes[:"reference_sync"].map(&:value); end
1830
+ # Granularity of phase adjustment, in picoseconds. The value of
1831
+ # phase adjustment must be a multiple of this granularity.
1832
+ # @rbs return: ::Integer
1833
+ # @return [Integer]
1834
+ # @see AttributeSets::Pin::PhaseAdjustGran
897
1835
  def phase_adjust_gran; attributes[:"phase_adjust_gran"]&.value; end
898
- # Gets the value of `fractional-frequency-offset-ppt` attribute in the message.
899
- #--
900
- # @rbs return: ::Integer
1836
+ # The FFO (Fractional Frequency Offset) of the pin.
1837
+ # At top level this represents the RX vs TX symbol rate
1838
+ # offset on the media associated with the pin. Inside
1839
+ # the pin-parent-device nest it represents the frequency
1840
+ # offset between the pin and its parent DPLL device.
1841
+ # Value is in PPT (parts per trillion, 10^-12).
1842
+ # This is a higher-precision version of
1843
+ # fractional-frequency-offset.
1844
+ # @rbs return: ::Integer
1845
+ # @return [Integer]
1846
+ # @see AttributeSets::Pin::FractionalFrequencyOffsetPpt
901
1847
  def fractional_frequency_offset_ppt; attributes[:"fractional_frequency_offset_ppt"]&.value; end
902
- # Gets the value of `measured-frequency` attribute in the message.
903
- #--
904
- # @rbs return: ::Integer
1848
+ # The measured frequency of the input pin in millihertz (mHz).
1849
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY /
1850
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is an integer part (Hz)
1851
+ # of a measured frequency value.
1852
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY %
1853
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is a fractional part
1854
+ # of a measured frequency value.
1855
+ # @rbs return: ::Integer
1856
+ # @return [Integer]
1857
+ # @see AttributeSets::Pin::MeasuredFrequency
905
1858
  def measured_frequency; attributes[:"measured_frequency"]&.value; end
906
1859
  end
907
1860
  # Set attributes of a target pin
908
- class DoPinSetRequest < ::Nl::Protocols::Genl::Message
1861
+ #
1862
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1863
+ class DoPinSetRequest < ::Nl::Genl::Message
909
1864
  TYPE = 9
910
1865
  FIXED_HEADER = nil
911
1866
  ATTRIBUTE_SET = AttributeSets::Pin
912
1867
  ATTRIBUTES = Ractor.make_shareable(%i[id direction frequency prio state parent_device parent_pin phase_adjust esync_frequency reference_sync])
913
- # Gets the value of `id` attribute in the message.
914
- #--
915
1868
  # @rbs return: ::Integer
1869
+ # @return [Integer]
1870
+ # @see AttributeSets::Pin::Id
916
1871
  def id; attributes[:"id"]&.value; end
917
- # Gets the value of `direction` attribute in the message.
918
- #--
1872
+ # Known enum values are defined in {Enums::PinDirection}.
919
1873
  # @rbs return: ::Integer
1874
+ # @return [Integer]
1875
+ # @see AttributeSets::Pin::Direction
920
1876
  def direction; attributes[:"direction"]&.value; end
921
- # Gets the value of `frequency` attribute in the message.
922
- #--
923
1877
  # @rbs return: ::Integer
1878
+ # @return [Integer]
1879
+ # @see AttributeSets::Pin::Frequency
924
1880
  def frequency; attributes[:"frequency"]&.value; end
925
- # Gets the value of `prio` attribute in the message.
926
- #--
927
1881
  # @rbs return: ::Integer
1882
+ # @return [Integer]
1883
+ # @see AttributeSets::Pin::Prio
928
1884
  def prio; attributes[:"prio"]&.value; end
929
- # Gets the value of `state` attribute in the message.
930
- #--
1885
+ # Known enum values are defined in {Enums::PinState}.
931
1886
  # @rbs return: ::Integer
1887
+ # @return [Integer]
1888
+ # @see AttributeSets::Pin::State
932
1889
  def state; attributes[:"state"]&.value; end
933
- # Gets the value of `parent-device` attribute in the message.
934
- #--
935
- # @rbs return: AttributeSets::PinParentDevice
936
- def parent_device; attributes[:"parent_device"]&.value; end
937
- # Gets the value of `parent-pin` attribute in the message.
938
- #--
939
- # @rbs return: AttributeSets::PinParentPin
940
- def parent_pin; attributes[:"parent_pin"]&.value; end
941
- # Gets the value of `phase-adjust` attribute in the message.
942
- #--
1890
+ # @rbs return: ::Array[AttributeSets::PinParentDevice]
1891
+ # @return [Array<AttributeSets::PinParentDevice>]
1892
+ # @see AttributeSets::Pin::ParentDevice
1893
+ def parent_device; attributes[:"parent_device"].map(&:value); end
1894
+ # @rbs return: ::Array[AttributeSets::PinParentPin]
1895
+ # @return [Array<AttributeSets::PinParentPin>]
1896
+ # @see AttributeSets::Pin::ParentPin
1897
+ def parent_pin; attributes[:"parent_pin"].map(&:value); end
1898
+ # @rbs return: ::Integer
1899
+ # @return [Integer]
1900
+ # @see AttributeSets::Pin::PhaseAdjust
1901
+ def phase_adjust; attributes[:"phase_adjust"]&.value; end
1902
+ # Frequency of Embedded SYNC signal. If provided, the pin is configured
1903
+ # with a SYNC signal embedded into its base clock frequency.
1904
+ # @rbs return: ::Integer
1905
+ # @return [Integer]
1906
+ # @see AttributeSets::Pin::EsyncFrequency
1907
+ def esync_frequency; attributes[:"esync_frequency"]&.value; end
1908
+ # Capable pin provides list of pins that can be bound to create a
1909
+ # reference-sync pin pair.
1910
+ # @rbs return: ::Array[AttributeSets::ReferenceSync]
1911
+ # @return [Array<AttributeSets::ReferenceSync>]
1912
+ # @see AttributeSets::Pin::ReferenceSync
1913
+ def reference_sync; attributes[:"reference_sync"].map(&:value); end
1914
+ end
1915
+ end
1916
+ module Notifications
1917
+ # Notification about device appearing
1918
+ #
1919
+ # Multicast group: `monitor`.
1920
+ class DeviceCreateNtf < ::Nl::Genl::Message
1921
+ TYPE = 4
1922
+ FIXED_HEADER = nil
1923
+ ATTRIBUTE_SET = AttributeSets::Dpll
1924
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor frequency_monitor])
1925
+ # @rbs return: ::Integer
1926
+ # @return [Integer]
1927
+ # @see AttributeSets::Dpll::Id
1928
+ def id; attributes[:"id"]&.value; end
1929
+ # @rbs return: ::String
1930
+ # @return [String]
1931
+ # @see AttributeSets::Dpll::ModuleName
1932
+ def module_name; attributes[:"module_name"]&.value; end
1933
+ # @rbs return: ::Integer
1934
+ # @return [Integer]
1935
+ # @see AttributeSets::Dpll::ClockId
1936
+ def clock_id; attributes[:"clock_id"]&.value; end
1937
+ # Known enum values are defined in {Enums::Mode}.
1938
+ # @rbs return: ::Integer
1939
+ # @return [Integer]
1940
+ # @see AttributeSets::Dpll::Mode
1941
+ def mode; attributes[:"mode"]&.value; end
1942
+ # Known enum values are defined in {Enums::Mode}.
1943
+ # @rbs return: ::Array[::Integer]
1944
+ # @return [Array<Integer>]
1945
+ # @see AttributeSets::Dpll::ModeSupported
1946
+ def mode_supported; attributes[:"mode_supported"].map(&:value); end
1947
+ # Known enum values are defined in {Enums::LockStatus}.
1948
+ # @rbs return: ::Integer
1949
+ # @return [Integer]
1950
+ # @see AttributeSets::Dpll::LockStatus
1951
+ def lock_status; attributes[:"lock_status"]&.value; end
1952
+ # @rbs return: ::Integer
1953
+ # @return [Integer]
1954
+ # @see AttributeSets::Dpll::Temp
1955
+ def temp; attributes[:"temp"]&.value; end
1956
+ # Known enum values are defined in {Enums::Type}.
1957
+ # @rbs return: ::Integer
1958
+ # @return [Integer]
1959
+ # @see AttributeSets::Dpll::Type
1960
+ def type; attributes[:"type"]&.value; end
1961
+ # Known enum values are defined in {Enums::LockStatusError}.
1962
+ # @rbs return: ::Integer
1963
+ # @return [Integer]
1964
+ # @see AttributeSets::Dpll::LockStatusError
1965
+ def lock_status_error; attributes[:"lock_status_error"]&.value; end
1966
+ # Receive or request state of phase offset monitor feature. If enabled, dpll device shall monitor and notify all currently available inputs for changes of their phase offset against the dpll device.
1967
+ #
1968
+ # Known enum values are defined in {Enums::FeatureState}.
1969
+ # @rbs return: ::Integer
1970
+ # @return [Integer]
1971
+ # @see AttributeSets::Dpll::PhaseOffsetMonitor
1972
+ def phase_offset_monitor; attributes[:"phase_offset_monitor"]&.value; end
1973
+ # Averaging factor applied to calculation of reported phase offset.
1974
+ # @rbs return: ::Integer
1975
+ # @return [Integer]
1976
+ # @see AttributeSets::Dpll::PhaseOffsetAvgFactor
1977
+ def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
1978
+ # Current or desired state of the frequency monitor feature. If enabled, dpll device shall measure all currently available inputs for their actual input frequency.
1979
+ #
1980
+ # Known enum values are defined in {Enums::FeatureState}.
1981
+ # @rbs return: ::Integer
1982
+ # @return [Integer]
1983
+ # @see AttributeSets::Dpll::FrequencyMonitor
1984
+ def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
1985
+ end
1986
+ # Notification about device disappearing
1987
+ #
1988
+ # Multicast group: `monitor`.
1989
+ class DeviceDeleteNtf < ::Nl::Genl::Message
1990
+ TYPE = 5
1991
+ FIXED_HEADER = nil
1992
+ ATTRIBUTE_SET = AttributeSets::Dpll
1993
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor frequency_monitor])
1994
+ # @rbs return: ::Integer
1995
+ # @return [Integer]
1996
+ # @see AttributeSets::Dpll::Id
1997
+ def id; attributes[:"id"]&.value; end
1998
+ # @rbs return: ::String
1999
+ # @return [String]
2000
+ # @see AttributeSets::Dpll::ModuleName
2001
+ def module_name; attributes[:"module_name"]&.value; end
2002
+ # @rbs return: ::Integer
2003
+ # @return [Integer]
2004
+ # @see AttributeSets::Dpll::ClockId
2005
+ def clock_id; attributes[:"clock_id"]&.value; end
2006
+ # Known enum values are defined in {Enums::Mode}.
2007
+ # @rbs return: ::Integer
2008
+ # @return [Integer]
2009
+ # @see AttributeSets::Dpll::Mode
2010
+ def mode; attributes[:"mode"]&.value; end
2011
+ # Known enum values are defined in {Enums::Mode}.
2012
+ # @rbs return: ::Array[::Integer]
2013
+ # @return [Array<Integer>]
2014
+ # @see AttributeSets::Dpll::ModeSupported
2015
+ def mode_supported; attributes[:"mode_supported"].map(&:value); end
2016
+ # Known enum values are defined in {Enums::LockStatus}.
2017
+ # @rbs return: ::Integer
2018
+ # @return [Integer]
2019
+ # @see AttributeSets::Dpll::LockStatus
2020
+ def lock_status; attributes[:"lock_status"]&.value; end
2021
+ # @rbs return: ::Integer
2022
+ # @return [Integer]
2023
+ # @see AttributeSets::Dpll::Temp
2024
+ def temp; attributes[:"temp"]&.value; end
2025
+ # Known enum values are defined in {Enums::Type}.
2026
+ # @rbs return: ::Integer
2027
+ # @return [Integer]
2028
+ # @see AttributeSets::Dpll::Type
2029
+ def type; attributes[:"type"]&.value; end
2030
+ # Known enum values are defined in {Enums::LockStatusError}.
2031
+ # @rbs return: ::Integer
2032
+ # @return [Integer]
2033
+ # @see AttributeSets::Dpll::LockStatusError
2034
+ def lock_status_error; attributes[:"lock_status_error"]&.value; end
2035
+ # Receive or request state of phase offset monitor feature. If enabled, dpll device shall monitor and notify all currently available inputs for changes of their phase offset against the dpll device.
2036
+ #
2037
+ # Known enum values are defined in {Enums::FeatureState}.
2038
+ # @rbs return: ::Integer
2039
+ # @return [Integer]
2040
+ # @see AttributeSets::Dpll::PhaseOffsetMonitor
2041
+ def phase_offset_monitor; attributes[:"phase_offset_monitor"]&.value; end
2042
+ # Averaging factor applied to calculation of reported phase offset.
2043
+ # @rbs return: ::Integer
2044
+ # @return [Integer]
2045
+ # @see AttributeSets::Dpll::PhaseOffsetAvgFactor
2046
+ def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
2047
+ # Current or desired state of the frequency monitor feature. If enabled, dpll device shall measure all currently available inputs for their actual input frequency.
2048
+ #
2049
+ # Known enum values are defined in {Enums::FeatureState}.
2050
+ # @rbs return: ::Integer
2051
+ # @return [Integer]
2052
+ # @see AttributeSets::Dpll::FrequencyMonitor
2053
+ def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
2054
+ end
2055
+ # Notification about device configuration being changed
2056
+ #
2057
+ # Multicast group: `monitor`.
2058
+ class DeviceChangeNtf < ::Nl::Genl::Message
2059
+ TYPE = 6
2060
+ FIXED_HEADER = nil
2061
+ ATTRIBUTE_SET = AttributeSets::Dpll
2062
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor frequency_monitor])
2063
+ # @rbs return: ::Integer
2064
+ # @return [Integer]
2065
+ # @see AttributeSets::Dpll::Id
2066
+ def id; attributes[:"id"]&.value; end
2067
+ # @rbs return: ::String
2068
+ # @return [String]
2069
+ # @see AttributeSets::Dpll::ModuleName
2070
+ def module_name; attributes[:"module_name"]&.value; end
2071
+ # @rbs return: ::Integer
2072
+ # @return [Integer]
2073
+ # @see AttributeSets::Dpll::ClockId
2074
+ def clock_id; attributes[:"clock_id"]&.value; end
2075
+ # Known enum values are defined in {Enums::Mode}.
2076
+ # @rbs return: ::Integer
2077
+ # @return [Integer]
2078
+ # @see AttributeSets::Dpll::Mode
2079
+ def mode; attributes[:"mode"]&.value; end
2080
+ # Known enum values are defined in {Enums::Mode}.
2081
+ # @rbs return: ::Array[::Integer]
2082
+ # @return [Array<Integer>]
2083
+ # @see AttributeSets::Dpll::ModeSupported
2084
+ def mode_supported; attributes[:"mode_supported"].map(&:value); end
2085
+ # Known enum values are defined in {Enums::LockStatus}.
2086
+ # @rbs return: ::Integer
2087
+ # @return [Integer]
2088
+ # @see AttributeSets::Dpll::LockStatus
2089
+ def lock_status; attributes[:"lock_status"]&.value; end
2090
+ # @rbs return: ::Integer
2091
+ # @return [Integer]
2092
+ # @see AttributeSets::Dpll::Temp
2093
+ def temp; attributes[:"temp"]&.value; end
2094
+ # Known enum values are defined in {Enums::Type}.
2095
+ # @rbs return: ::Integer
2096
+ # @return [Integer]
2097
+ # @see AttributeSets::Dpll::Type
2098
+ def type; attributes[:"type"]&.value; end
2099
+ # Known enum values are defined in {Enums::LockStatusError}.
2100
+ # @rbs return: ::Integer
2101
+ # @return [Integer]
2102
+ # @see AttributeSets::Dpll::LockStatusError
2103
+ def lock_status_error; attributes[:"lock_status_error"]&.value; end
2104
+ # Receive or request state of phase offset monitor feature. If enabled, dpll device shall monitor and notify all currently available inputs for changes of their phase offset against the dpll device.
2105
+ #
2106
+ # Known enum values are defined in {Enums::FeatureState}.
2107
+ # @rbs return: ::Integer
2108
+ # @return [Integer]
2109
+ # @see AttributeSets::Dpll::PhaseOffsetMonitor
2110
+ def phase_offset_monitor; attributes[:"phase_offset_monitor"]&.value; end
2111
+ # Averaging factor applied to calculation of reported phase offset.
2112
+ # @rbs return: ::Integer
2113
+ # @return [Integer]
2114
+ # @see AttributeSets::Dpll::PhaseOffsetAvgFactor
2115
+ def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
2116
+ # Current or desired state of the frequency monitor feature. If enabled, dpll device shall measure all currently available inputs for their actual input frequency.
2117
+ #
2118
+ # Known enum values are defined in {Enums::FeatureState}.
2119
+ # @rbs return: ::Integer
2120
+ # @return [Integer]
2121
+ # @see AttributeSets::Dpll::FrequencyMonitor
2122
+ def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
2123
+ end
2124
+ # Notification about pin appearing
2125
+ #
2126
+ # Multicast group: `monitor`.
2127
+ class PinCreateNtf < ::Nl::Genl::Message
2128
+ TYPE = 10
2129
+ FIXED_HEADER = nil
2130
+ ATTRIBUTE_SET = AttributeSets::Pin
2131
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran fractional_frequency_offset_ppt measured_frequency])
2132
+ # @rbs return: ::Integer
2133
+ # @return [Integer]
2134
+ # @see AttributeSets::Pin::Id
2135
+ def id; attributes[:"id"]&.value; end
2136
+ # @rbs return: ::String
2137
+ # @return [String]
2138
+ # @see AttributeSets::Pin::ModuleName
2139
+ def module_name; attributes[:"module_name"]&.value; end
2140
+ # @rbs return: ::Integer
2141
+ # @return [Integer]
2142
+ # @see AttributeSets::Pin::ClockId
2143
+ def clock_id; attributes[:"clock_id"]&.value; end
2144
+ # @rbs return: ::String
2145
+ # @return [String]
2146
+ # @see AttributeSets::Pin::BoardLabel
2147
+ def board_label; attributes[:"board_label"]&.value; end
2148
+ # @rbs return: ::String
2149
+ # @return [String]
2150
+ # @see AttributeSets::Pin::PanelLabel
2151
+ def panel_label; attributes[:"panel_label"]&.value; end
2152
+ # @rbs return: ::String
2153
+ # @return [String]
2154
+ # @see AttributeSets::Pin::PackageLabel
2155
+ def package_label; attributes[:"package_label"]&.value; end
2156
+ # Known enum values are defined in {Enums::PinType}.
2157
+ # @rbs return: ::Integer
2158
+ # @return [Integer]
2159
+ # @see AttributeSets::Pin::Type
2160
+ def type; attributes[:"type"]&.value; end
2161
+ # @rbs return: ::Integer
2162
+ # @return [Integer]
2163
+ # @see AttributeSets::Pin::Frequency
2164
+ def frequency; attributes[:"frequency"]&.value; end
2165
+ # @rbs return: ::Array[AttributeSets::FrequencyRange]
2166
+ # @return [Array<AttributeSets::FrequencyRange>]
2167
+ # @see AttributeSets::Pin::FrequencySupported
2168
+ def frequency_supported; attributes[:"frequency_supported"].map(&:value); end
2169
+ # Known flags are defined in {Flags::PinCapabilities}.
2170
+ # @rbs return: ::Integer
2171
+ # @return [Integer]
2172
+ # @see AttributeSets::Pin::Capabilities
2173
+ def capabilities; attributes[:"capabilities"]&.value; end
2174
+ # @rbs return: ::Array[AttributeSets::PinParentDevice]
2175
+ # @return [Array<AttributeSets::PinParentDevice>]
2176
+ # @see AttributeSets::Pin::ParentDevice
2177
+ def parent_device; attributes[:"parent_device"].map(&:value); end
2178
+ # @rbs return: ::Array[AttributeSets::PinParentPin]
2179
+ # @return [Array<AttributeSets::PinParentPin>]
2180
+ # @see AttributeSets::Pin::ParentPin
2181
+ def parent_pin; attributes[:"parent_pin"].map(&:value); end
2182
+ # @rbs return: ::Integer
2183
+ # @return [Integer]
2184
+ # @see AttributeSets::Pin::PhaseAdjustMin
2185
+ def phase_adjust_min; attributes[:"phase_adjust_min"]&.value; end
2186
+ # @rbs return: ::Integer
2187
+ # @return [Integer]
2188
+ # @see AttributeSets::Pin::PhaseAdjustMax
2189
+ def phase_adjust_max; attributes[:"phase_adjust_max"]&.value; end
2190
+ # @rbs return: ::Integer
2191
+ # @return [Integer]
2192
+ # @see AttributeSets::Pin::PhaseAdjust
2193
+ def phase_adjust; attributes[:"phase_adjust"]&.value; end
2194
+ # The FFO (Fractional Frequency Offset) of the pin.
2195
+ # At top level this represents the RX vs TX symbol rate
2196
+ # offset on the media associated with the pin. Inside
2197
+ # the pin-parent-device nest it represents the frequency
2198
+ # offset between the pin and its parent DPLL device.
2199
+ # Value is in PPM (parts per million).
2200
+ # This is a lower-precision version of
2201
+ # fractional-frequency-offset-ppt.
2202
+ # @rbs return: ::Integer
2203
+ # @return [Integer]
2204
+ # @see AttributeSets::Pin::FractionalFrequencyOffset
2205
+ def fractional_frequency_offset; attributes[:"fractional_frequency_offset"]&.value; end
2206
+ # Frequency of Embedded SYNC signal. If provided, the pin is configured
2207
+ # with a SYNC signal embedded into its base clock frequency.
2208
+ # @rbs return: ::Integer
2209
+ # @return [Integer]
2210
+ # @see AttributeSets::Pin::EsyncFrequency
2211
+ def esync_frequency; attributes[:"esync_frequency"]&.value; end
2212
+ # If provided a pin is capable of embedding a SYNC signal (within given
2213
+ # range) into its base frequency signal.
2214
+ # @rbs return: ::Array[AttributeSets::FrequencyRange]
2215
+ # @return [Array<AttributeSets::FrequencyRange>]
2216
+ # @see AttributeSets::Pin::EsyncFrequencySupported
2217
+ def esync_frequency_supported; attributes[:"esync_frequency_supported"].map(&:value); end
2218
+ # A ratio of high to low state of a SYNC signal pulse embedded
2219
+ # into base clock frequency. Value is in percents.
2220
+ # @rbs return: ::Integer
2221
+ # @return [Integer]
2222
+ # @see AttributeSets::Pin::EsyncPulse
2223
+ def esync_pulse; attributes[:"esync_pulse"]&.value; end
2224
+ # Capable pin provides list of pins that can be bound to create a
2225
+ # reference-sync pin pair.
2226
+ # @rbs return: ::Array[AttributeSets::ReferenceSync]
2227
+ # @return [Array<AttributeSets::ReferenceSync>]
2228
+ # @see AttributeSets::Pin::ReferenceSync
2229
+ def reference_sync; attributes[:"reference_sync"].map(&:value); end
2230
+ # Granularity of phase adjustment, in picoseconds. The value of
2231
+ # phase adjustment must be a multiple of this granularity.
2232
+ # @rbs return: ::Integer
2233
+ # @return [Integer]
2234
+ # @see AttributeSets::Pin::PhaseAdjustGran
2235
+ def phase_adjust_gran; attributes[:"phase_adjust_gran"]&.value; end
2236
+ # The FFO (Fractional Frequency Offset) of the pin.
2237
+ # At top level this represents the RX vs TX symbol rate
2238
+ # offset on the media associated with the pin. Inside
2239
+ # the pin-parent-device nest it represents the frequency
2240
+ # offset between the pin and its parent DPLL device.
2241
+ # Value is in PPT (parts per trillion, 10^-12).
2242
+ # This is a higher-precision version of
2243
+ # fractional-frequency-offset.
2244
+ # @rbs return: ::Integer
2245
+ # @return [Integer]
2246
+ # @see AttributeSets::Pin::FractionalFrequencyOffsetPpt
2247
+ def fractional_frequency_offset_ppt; attributes[:"fractional_frequency_offset_ppt"]&.value; end
2248
+ # The measured frequency of the input pin in millihertz (mHz).
2249
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY /
2250
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is an integer part (Hz)
2251
+ # of a measured frequency value.
2252
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY %
2253
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is a fractional part
2254
+ # of a measured frequency value.
2255
+ # @rbs return: ::Integer
2256
+ # @return [Integer]
2257
+ # @see AttributeSets::Pin::MeasuredFrequency
2258
+ def measured_frequency; attributes[:"measured_frequency"]&.value; end
2259
+ end
2260
+ # Notification about pin disappearing
2261
+ #
2262
+ # Multicast group: `monitor`.
2263
+ class PinDeleteNtf < ::Nl::Genl::Message
2264
+ TYPE = 11
2265
+ FIXED_HEADER = nil
2266
+ ATTRIBUTE_SET = AttributeSets::Pin
2267
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran fractional_frequency_offset_ppt measured_frequency])
2268
+ # @rbs return: ::Integer
2269
+ # @return [Integer]
2270
+ # @see AttributeSets::Pin::Id
2271
+ def id; attributes[:"id"]&.value; end
2272
+ # @rbs return: ::String
2273
+ # @return [String]
2274
+ # @see AttributeSets::Pin::ModuleName
2275
+ def module_name; attributes[:"module_name"]&.value; end
2276
+ # @rbs return: ::Integer
2277
+ # @return [Integer]
2278
+ # @see AttributeSets::Pin::ClockId
2279
+ def clock_id; attributes[:"clock_id"]&.value; end
2280
+ # @rbs return: ::String
2281
+ # @return [String]
2282
+ # @see AttributeSets::Pin::BoardLabel
2283
+ def board_label; attributes[:"board_label"]&.value; end
2284
+ # @rbs return: ::String
2285
+ # @return [String]
2286
+ # @see AttributeSets::Pin::PanelLabel
2287
+ def panel_label; attributes[:"panel_label"]&.value; end
2288
+ # @rbs return: ::String
2289
+ # @return [String]
2290
+ # @see AttributeSets::Pin::PackageLabel
2291
+ def package_label; attributes[:"package_label"]&.value; end
2292
+ # Known enum values are defined in {Enums::PinType}.
2293
+ # @rbs return: ::Integer
2294
+ # @return [Integer]
2295
+ # @see AttributeSets::Pin::Type
2296
+ def type; attributes[:"type"]&.value; end
2297
+ # @rbs return: ::Integer
2298
+ # @return [Integer]
2299
+ # @see AttributeSets::Pin::Frequency
2300
+ def frequency; attributes[:"frequency"]&.value; end
2301
+ # @rbs return: ::Array[AttributeSets::FrequencyRange]
2302
+ # @return [Array<AttributeSets::FrequencyRange>]
2303
+ # @see AttributeSets::Pin::FrequencySupported
2304
+ def frequency_supported; attributes[:"frequency_supported"].map(&:value); end
2305
+ # Known flags are defined in {Flags::PinCapabilities}.
2306
+ # @rbs return: ::Integer
2307
+ # @return [Integer]
2308
+ # @see AttributeSets::Pin::Capabilities
2309
+ def capabilities; attributes[:"capabilities"]&.value; end
2310
+ # @rbs return: ::Array[AttributeSets::PinParentDevice]
2311
+ # @return [Array<AttributeSets::PinParentDevice>]
2312
+ # @see AttributeSets::Pin::ParentDevice
2313
+ def parent_device; attributes[:"parent_device"].map(&:value); end
2314
+ # @rbs return: ::Array[AttributeSets::PinParentPin]
2315
+ # @return [Array<AttributeSets::PinParentPin>]
2316
+ # @see AttributeSets::Pin::ParentPin
2317
+ def parent_pin; attributes[:"parent_pin"].map(&:value); end
2318
+ # @rbs return: ::Integer
2319
+ # @return [Integer]
2320
+ # @see AttributeSets::Pin::PhaseAdjustMin
2321
+ def phase_adjust_min; attributes[:"phase_adjust_min"]&.value; end
2322
+ # @rbs return: ::Integer
2323
+ # @return [Integer]
2324
+ # @see AttributeSets::Pin::PhaseAdjustMax
2325
+ def phase_adjust_max; attributes[:"phase_adjust_max"]&.value; end
2326
+ # @rbs return: ::Integer
2327
+ # @return [Integer]
2328
+ # @see AttributeSets::Pin::PhaseAdjust
2329
+ def phase_adjust; attributes[:"phase_adjust"]&.value; end
2330
+ # The FFO (Fractional Frequency Offset) of the pin.
2331
+ # At top level this represents the RX vs TX symbol rate
2332
+ # offset on the media associated with the pin. Inside
2333
+ # the pin-parent-device nest it represents the frequency
2334
+ # offset between the pin and its parent DPLL device.
2335
+ # Value is in PPM (parts per million).
2336
+ # This is a lower-precision version of
2337
+ # fractional-frequency-offset-ppt.
2338
+ # @rbs return: ::Integer
2339
+ # @return [Integer]
2340
+ # @see AttributeSets::Pin::FractionalFrequencyOffset
2341
+ def fractional_frequency_offset; attributes[:"fractional_frequency_offset"]&.value; end
2342
+ # Frequency of Embedded SYNC signal. If provided, the pin is configured
2343
+ # with a SYNC signal embedded into its base clock frequency.
2344
+ # @rbs return: ::Integer
2345
+ # @return [Integer]
2346
+ # @see AttributeSets::Pin::EsyncFrequency
2347
+ def esync_frequency; attributes[:"esync_frequency"]&.value; end
2348
+ # If provided a pin is capable of embedding a SYNC signal (within given
2349
+ # range) into its base frequency signal.
2350
+ # @rbs return: ::Array[AttributeSets::FrequencyRange]
2351
+ # @return [Array<AttributeSets::FrequencyRange>]
2352
+ # @see AttributeSets::Pin::EsyncFrequencySupported
2353
+ def esync_frequency_supported; attributes[:"esync_frequency_supported"].map(&:value); end
2354
+ # A ratio of high to low state of a SYNC signal pulse embedded
2355
+ # into base clock frequency. Value is in percents.
2356
+ # @rbs return: ::Integer
2357
+ # @return [Integer]
2358
+ # @see AttributeSets::Pin::EsyncPulse
2359
+ def esync_pulse; attributes[:"esync_pulse"]&.value; end
2360
+ # Capable pin provides list of pins that can be bound to create a
2361
+ # reference-sync pin pair.
2362
+ # @rbs return: ::Array[AttributeSets::ReferenceSync]
2363
+ # @return [Array<AttributeSets::ReferenceSync>]
2364
+ # @see AttributeSets::Pin::ReferenceSync
2365
+ def reference_sync; attributes[:"reference_sync"].map(&:value); end
2366
+ # Granularity of phase adjustment, in picoseconds. The value of
2367
+ # phase adjustment must be a multiple of this granularity.
2368
+ # @rbs return: ::Integer
2369
+ # @return [Integer]
2370
+ # @see AttributeSets::Pin::PhaseAdjustGran
2371
+ def phase_adjust_gran; attributes[:"phase_adjust_gran"]&.value; end
2372
+ # The FFO (Fractional Frequency Offset) of the pin.
2373
+ # At top level this represents the RX vs TX symbol rate
2374
+ # offset on the media associated with the pin. Inside
2375
+ # the pin-parent-device nest it represents the frequency
2376
+ # offset between the pin and its parent DPLL device.
2377
+ # Value is in PPT (parts per trillion, 10^-12).
2378
+ # This is a higher-precision version of
2379
+ # fractional-frequency-offset.
2380
+ # @rbs return: ::Integer
2381
+ # @return [Integer]
2382
+ # @see AttributeSets::Pin::FractionalFrequencyOffsetPpt
2383
+ def fractional_frequency_offset_ppt; attributes[:"fractional_frequency_offset_ppt"]&.value; end
2384
+ # The measured frequency of the input pin in millihertz (mHz).
2385
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY /
2386
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is an integer part (Hz)
2387
+ # of a measured frequency value.
2388
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY %
2389
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is a fractional part
2390
+ # of a measured frequency value.
2391
+ # @rbs return: ::Integer
2392
+ # @return [Integer]
2393
+ # @see AttributeSets::Pin::MeasuredFrequency
2394
+ def measured_frequency; attributes[:"measured_frequency"]&.value; end
2395
+ end
2396
+ # Notification about pin configuration being changed
2397
+ #
2398
+ # Multicast group: `monitor`.
2399
+ class PinChangeNtf < ::Nl::Genl::Message
2400
+ TYPE = 12
2401
+ FIXED_HEADER = nil
2402
+ ATTRIBUTE_SET = AttributeSets::Pin
2403
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran fractional_frequency_offset_ppt measured_frequency])
2404
+ # @rbs return: ::Integer
2405
+ # @return [Integer]
2406
+ # @see AttributeSets::Pin::Id
2407
+ def id; attributes[:"id"]&.value; end
2408
+ # @rbs return: ::String
2409
+ # @return [String]
2410
+ # @see AttributeSets::Pin::ModuleName
2411
+ def module_name; attributes[:"module_name"]&.value; end
2412
+ # @rbs return: ::Integer
2413
+ # @return [Integer]
2414
+ # @see AttributeSets::Pin::ClockId
2415
+ def clock_id; attributes[:"clock_id"]&.value; end
2416
+ # @rbs return: ::String
2417
+ # @return [String]
2418
+ # @see AttributeSets::Pin::BoardLabel
2419
+ def board_label; attributes[:"board_label"]&.value; end
2420
+ # @rbs return: ::String
2421
+ # @return [String]
2422
+ # @see AttributeSets::Pin::PanelLabel
2423
+ def panel_label; attributes[:"panel_label"]&.value; end
2424
+ # @rbs return: ::String
2425
+ # @return [String]
2426
+ # @see AttributeSets::Pin::PackageLabel
2427
+ def package_label; attributes[:"package_label"]&.value; end
2428
+ # Known enum values are defined in {Enums::PinType}.
2429
+ # @rbs return: ::Integer
2430
+ # @return [Integer]
2431
+ # @see AttributeSets::Pin::Type
2432
+ def type; attributes[:"type"]&.value; end
943
2433
  # @rbs return: ::Integer
2434
+ # @return [Integer]
2435
+ # @see AttributeSets::Pin::Frequency
2436
+ def frequency; attributes[:"frequency"]&.value; end
2437
+ # @rbs return: ::Array[AttributeSets::FrequencyRange]
2438
+ # @return [Array<AttributeSets::FrequencyRange>]
2439
+ # @see AttributeSets::Pin::FrequencySupported
2440
+ def frequency_supported; attributes[:"frequency_supported"].map(&:value); end
2441
+ # Known flags are defined in {Flags::PinCapabilities}.
2442
+ # @rbs return: ::Integer
2443
+ # @return [Integer]
2444
+ # @see AttributeSets::Pin::Capabilities
2445
+ def capabilities; attributes[:"capabilities"]&.value; end
2446
+ # @rbs return: ::Array[AttributeSets::PinParentDevice]
2447
+ # @return [Array<AttributeSets::PinParentDevice>]
2448
+ # @see AttributeSets::Pin::ParentDevice
2449
+ def parent_device; attributes[:"parent_device"].map(&:value); end
2450
+ # @rbs return: ::Array[AttributeSets::PinParentPin]
2451
+ # @return [Array<AttributeSets::PinParentPin>]
2452
+ # @see AttributeSets::Pin::ParentPin
2453
+ def parent_pin; attributes[:"parent_pin"].map(&:value); end
2454
+ # @rbs return: ::Integer
2455
+ # @return [Integer]
2456
+ # @see AttributeSets::Pin::PhaseAdjustMin
2457
+ def phase_adjust_min; attributes[:"phase_adjust_min"]&.value; end
2458
+ # @rbs return: ::Integer
2459
+ # @return [Integer]
2460
+ # @see AttributeSets::Pin::PhaseAdjustMax
2461
+ def phase_adjust_max; attributes[:"phase_adjust_max"]&.value; end
2462
+ # @rbs return: ::Integer
2463
+ # @return [Integer]
2464
+ # @see AttributeSets::Pin::PhaseAdjust
944
2465
  def phase_adjust; attributes[:"phase_adjust"]&.value; end
945
- # Gets the value of `esync-frequency` attribute in the message.
946
- #--
2466
+ # The FFO (Fractional Frequency Offset) of the pin.
2467
+ # At top level this represents the RX vs TX symbol rate
2468
+ # offset on the media associated with the pin. Inside
2469
+ # the pin-parent-device nest it represents the frequency
2470
+ # offset between the pin and its parent DPLL device.
2471
+ # Value is in PPM (parts per million).
2472
+ # This is a lower-precision version of
2473
+ # fractional-frequency-offset-ppt.
2474
+ # @rbs return: ::Integer
2475
+ # @return [Integer]
2476
+ # @see AttributeSets::Pin::FractionalFrequencyOffset
2477
+ def fractional_frequency_offset; attributes[:"fractional_frequency_offset"]&.value; end
2478
+ # Frequency of Embedded SYNC signal. If provided, the pin is configured
2479
+ # with a SYNC signal embedded into its base clock frequency.
947
2480
  # @rbs return: ::Integer
2481
+ # @return [Integer]
2482
+ # @see AttributeSets::Pin::EsyncFrequency
948
2483
  def esync_frequency; attributes[:"esync_frequency"]&.value; end
949
- # Gets the value of `reference-sync` attribute in the message.
950
- #--
951
- # @rbs return: AttributeSets::ReferenceSync
952
- def reference_sync; attributes[:"reference_sync"]&.value; end
2484
+ # If provided a pin is capable of embedding a SYNC signal (within given
2485
+ # range) into its base frequency signal.
2486
+ # @rbs return: ::Array[AttributeSets::FrequencyRange]
2487
+ # @return [Array<AttributeSets::FrequencyRange>]
2488
+ # @see AttributeSets::Pin::EsyncFrequencySupported
2489
+ def esync_frequency_supported; attributes[:"esync_frequency_supported"].map(&:value); end
2490
+ # A ratio of high to low state of a SYNC signal pulse embedded
2491
+ # into base clock frequency. Value is in percents.
2492
+ # @rbs return: ::Integer
2493
+ # @return [Integer]
2494
+ # @see AttributeSets::Pin::EsyncPulse
2495
+ def esync_pulse; attributes[:"esync_pulse"]&.value; end
2496
+ # Capable pin provides list of pins that can be bound to create a
2497
+ # reference-sync pin pair.
2498
+ # @rbs return: ::Array[AttributeSets::ReferenceSync]
2499
+ # @return [Array<AttributeSets::ReferenceSync>]
2500
+ # @see AttributeSets::Pin::ReferenceSync
2501
+ def reference_sync; attributes[:"reference_sync"].map(&:value); end
2502
+ # Granularity of phase adjustment, in picoseconds. The value of
2503
+ # phase adjustment must be a multiple of this granularity.
2504
+ # @rbs return: ::Integer
2505
+ # @return [Integer]
2506
+ # @see AttributeSets::Pin::PhaseAdjustGran
2507
+ def phase_adjust_gran; attributes[:"phase_adjust_gran"]&.value; end
2508
+ # The FFO (Fractional Frequency Offset) of the pin.
2509
+ # At top level this represents the RX vs TX symbol rate
2510
+ # offset on the media associated with the pin. Inside
2511
+ # the pin-parent-device nest it represents the frequency
2512
+ # offset between the pin and its parent DPLL device.
2513
+ # Value is in PPT (parts per trillion, 10^-12).
2514
+ # This is a higher-precision version of
2515
+ # fractional-frequency-offset.
2516
+ # @rbs return: ::Integer
2517
+ # @return [Integer]
2518
+ # @see AttributeSets::Pin::FractionalFrequencyOffsetPpt
2519
+ def fractional_frequency_offset_ppt; attributes[:"fractional_frequency_offset_ppt"]&.value; end
2520
+ # The measured frequency of the input pin in millihertz (mHz).
2521
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY /
2522
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is an integer part (Hz)
2523
+ # of a measured frequency value.
2524
+ # Value of (DPLL_A_PIN_MEASURED_FREQUENCY %
2525
+ # DPLL_PIN_MEASURED_FREQUENCY_DIVIDER) is a fractional part
2526
+ # of a measured frequency value.
2527
+ # @rbs return: ::Integer
2528
+ # @return [Integer]
2529
+ # @see AttributeSets::Pin::MeasuredFrequency
2530
+ def measured_frequency; attributes[:"measured_frequency"]&.value; end
953
2531
  end
954
2532
  end
2533
+ # @private
2534
+ NOTIFICATIONS = Ractor.make_shareable({4 => Notifications::DeviceCreateNtf, 5 => Notifications::DeviceDeleteNtf, 6 => Notifications::DeviceChangeNtf, 10 => Notifications::PinCreateNtf, 11 => Notifications::PinDeleteNtf, 12 => Notifications::PinChangeNtf}) #: Hash[::Integer, ::Class]
955
2535
  # Get id of dpll device that matches given attributes
956
- #--
2536
+ #
2537
+ #
2538
+ # Requires CAP_NET_ADMIN in the initial user namespace.
957
2539
  # @rbs (?module_name: ::String, ?clock_id: ::Integer, ?type: ::Integer) -> Messages::DoDeviceIdGetReply
2540
+ # @param [Hash] args
2541
+ # @option args [String] module_name
2542
+ # @option args [Integer] clock_id
2543
+ # @option args [Integer] type Known enum values are defined in {Enums::Type}.
2544
+ # @return [Messages::DoDeviceIdGetReply]
2545
+ # @see Messages::DoDeviceIdGetRequest
958
2546
  def do_device_id_get(**args)
959
2547
  exchange_message(:"do", Messages::DoDeviceIdGetRequest, Messages::DoDeviceIdGetReply, args)
960
2548
  end
961
2549
  # Get list of DPLL devices (dump) or attributes of a single dpll device
962
- #--
2550
+ #
2551
+ #
2552
+ # Requires CAP_NET_ADMIN in the initial user namespace.
963
2553
  # @rbs (?id: ::Integer) -> Messages::DoDeviceGetReply
2554
+ # @param [Hash] args
2555
+ # @option args [Integer] id
2556
+ # @return [Messages::DoDeviceGetReply]
2557
+ # @see Messages::DoDeviceGetRequest
964
2558
  def do_device_get(**args)
965
2559
  exchange_message(:"do", Messages::DoDeviceGetRequest, Messages::DoDeviceGetReply, args)
966
2560
  end
2561
+ # Get list of DPLL devices (dump) or attributes of a single dpll device
2562
+ #
2563
+ #
2564
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2565
+ # @rbs () -> Array[Messages::DumpDeviceGetReply]
2566
+ # | () { (Messages::DumpDeviceGetReply) -> void } -> void
2567
+ # @overload dump_device_get(**args)
2568
+ # Returns an array when no block is given.
2569
+ # @param [Hash] args
2570
+ # @return [Array<Messages::DumpDeviceGetReply>]
2571
+ # @overload dump_device_get(**args, &block)
2572
+ # Yields each reply when a block is given.
2573
+ # @param [Hash] args
2574
+ # @yieldparam [Messages::DumpDeviceGetReply] reply
2575
+ # @return [void]
2576
+ # @see Messages::DumpDeviceGetRequest
2577
+ def dump_device_get(**args, &block)
2578
+ exchange_message(:"dump", Messages::DumpDeviceGetRequest, Messages::DumpDeviceGetReply, args, &block)
2579
+ end
967
2580
  # Set attributes for a DPLL device
968
- #--
2581
+ #
2582
+ # Requires CAP_NET_ADMIN in the initial user namespace.
969
2583
  # @rbs (?id: ::Integer, ?mode: ::Integer, ?phase_offset_monitor: ::Integer, ?phase_offset_avg_factor: ::Integer, ?frequency_monitor: ::Integer) -> void
2584
+ # @param [Hash] args
2585
+ # @option args [Integer] id
2586
+ # @option args [Integer] mode Known enum values are defined in {Enums::Mode}.
2587
+ # @option args [Integer] phase_offset_monitor Receive or request state of phase offset monitor feature. If enabled, dpll device shall monitor and notify all currently available inputs for changes of their phase offset against the dpll device.
2588
+ #
2589
+ # Known enum values are defined in {Enums::FeatureState}.
2590
+ # @option args [Integer] phase_offset_avg_factor Averaging factor applied to calculation of reported phase offset.
2591
+ # @option args [Integer] frequency_monitor Current or desired state of the frequency monitor feature. If enabled, dpll device shall measure all currently available inputs for their actual input frequency.
2592
+ #
2593
+ # Known enum values are defined in {Enums::FeatureState}.
2594
+ # @return [void]
2595
+ # @see Messages::DoDeviceSetRequest
970
2596
  def do_device_set(**args)
971
2597
  exchange_message(:"do", Messages::DoDeviceSetRequest, nil, args)
972
2598
  end
973
2599
  # Get id of a pin that matches given attributes
974
- #--
2600
+ #
2601
+ #
2602
+ # Requires CAP_NET_ADMIN in the initial user namespace.
975
2603
  # @rbs (?module_name: ::String, ?clock_id: ::Integer, ?board_label: ::String, ?panel_label: ::String, ?package_label: ::String, ?type: ::Integer) -> Messages::DoPinIdGetReply
2604
+ # @param [Hash] args
2605
+ # @option args [String] module_name
2606
+ # @option args [Integer] clock_id
2607
+ # @option args [String] board_label
2608
+ # @option args [String] panel_label
2609
+ # @option args [String] package_label
2610
+ # @option args [Integer] type Known enum values are defined in {Enums::PinType}.
2611
+ # @return [Messages::DoPinIdGetReply]
2612
+ # @see Messages::DoPinIdGetRequest
976
2613
  def do_pin_id_get(**args)
977
2614
  exchange_message(:"do", Messages::DoPinIdGetRequest, Messages::DoPinIdGetReply, args)
978
2615
  end
@@ -983,8 +2620,14 @@ class Dpll < ::Nl::Family
983
2620
  # - dump request with target dpll - list all the pins registered with
984
2621
  # a given dpll device
985
2622
  # - do request with target dpll and target pin - single pin attributes
986
- #--
2623
+ #
2624
+ #
2625
+ # Requires CAP_NET_ADMIN in the initial user namespace.
987
2626
  # @rbs (?id: ::Integer) -> Messages::DoPinGetReply
2627
+ # @param [Hash] args
2628
+ # @option args [Integer] id
2629
+ # @return [Messages::DoPinGetReply]
2630
+ # @see Messages::DoPinGetRequest
988
2631
  def do_pin_get(**args)
989
2632
  exchange_message(:"do", Messages::DoPinGetRequest, Messages::DoPinGetReply, args)
990
2633
  end
@@ -995,17 +2638,200 @@ class Dpll < ::Nl::Family
995
2638
  # - dump request with target dpll - list all the pins registered with
996
2639
  # a given dpll device
997
2640
  # - do request with target dpll and target pin - single pin attributes
998
- #--
999
- # @rbs (?id: ::Integer) -> Enumerable[Messages::DumpPinGetReply]
2641
+ #
2642
+ #
2643
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2644
+ # @rbs (?id: ::Integer) -> Array[Messages::DumpPinGetReply]
1000
2645
  # | (?id: ::Integer) { (Messages::DumpPinGetReply) -> void } -> void
2646
+ # @overload dump_pin_get(**args)
2647
+ # Returns an array when no block is given.
2648
+ # @param [Hash] args
2649
+ # @option args [Integer] id
2650
+ # @return [Array<Messages::DumpPinGetReply>]
2651
+ # @overload dump_pin_get(**args, &block)
2652
+ # Yields each reply when a block is given.
2653
+ # @param [Hash] args
2654
+ # @option args [Integer] id
2655
+ # @yieldparam [Messages::DumpPinGetReply] reply
2656
+ # @return [void]
2657
+ # @see Messages::DumpPinGetRequest
1001
2658
  def dump_pin_get(**args, &block)
1002
2659
  exchange_message(:"dump", Messages::DumpPinGetRequest, Messages::DumpPinGetReply, args, &block)
1003
2660
  end
1004
2661
  # Set attributes of a target pin
1005
- #--
1006
- # @rbs (?id: ::Integer, ?direction: ::Integer, ?frequency: ::Integer, ?prio: ::Integer, ?state: ::Integer, ?parent_device: AttributeSets::PinParentDevice, ?parent_pin: AttributeSets::PinParentPin, ?phase_adjust: ::Integer, ?esync_frequency: ::Integer, ?reference_sync: AttributeSets::ReferenceSync) -> void
2662
+ #
2663
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2664
+ # @rbs (?id: ::Integer, ?direction: ::Integer, ?frequency: ::Integer, ?prio: ::Integer, ?state: ::Integer, ?parent_device: ::Array[(AttributeSets::PinParentDevice | ::Hash[::Symbol, untyped])], ?parent_pin: ::Array[(AttributeSets::PinParentPin | ::Hash[::Symbol, untyped])], ?phase_adjust: ::Integer, ?esync_frequency: ::Integer, ?reference_sync: ::Array[(AttributeSets::ReferenceSync | ::Hash[::Symbol, untyped])]) -> void
2665
+ # @param [Hash] args
2666
+ # @option args [Integer] id
2667
+ # @option args [Integer] direction Known enum values are defined in {Enums::PinDirection}.
2668
+ # @option args [Integer] frequency
2669
+ # @option args [Integer] prio
2670
+ # @option args [Integer] state Known enum values are defined in {Enums::PinState}.
2671
+ # @option args [Array<AttributeSets::PinParentDevice, Hash<Symbol, Object>>] parent_device
2672
+ # @option args [Array<AttributeSets::PinParentPin, Hash<Symbol, Object>>] parent_pin
2673
+ # @option args [Integer] phase_adjust
2674
+ # @option args [Integer] esync_frequency Frequency of Embedded SYNC signal. If provided, the pin is configured
2675
+ # with a SYNC signal embedded into its base clock frequency.
2676
+ # @option args [Array<AttributeSets::ReferenceSync, Hash<Symbol, Object>>] reference_sync Capable pin provides list of pins that can be bound to create a
2677
+ # reference-sync pin pair.
2678
+ # @return [void]
2679
+ # @see Messages::DoPinSetRequest
1007
2680
  def do_pin_set(**args)
1008
2681
  exchange_message(:"do", Messages::DoPinSetRequest, nil, args)
1009
2682
  end
2683
+ class AsyncOperations
2684
+ # @private
2685
+ def initialize(&exchange)
2686
+ @exchange = exchange
2687
+ end
2688
+ # Get id of dpll device that matches given attributes
2689
+ #
2690
+ #
2691
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2692
+ # @rbs (?module_name: ::String, ?clock_id: ::Integer, ?type: ::Integer) -> ::Nl::Async::Future[Messages::DoDeviceIdGetReply]
2693
+ # @param [Hash] args
2694
+ # @option args [String] module_name
2695
+ # @option args [Integer] clock_id
2696
+ # @option args [Integer] type Known enum values are defined in {Enums::Type}.
2697
+ # @return [Nl::Async::Future<Messages::DoDeviceIdGetReply>]
2698
+ # @see Messages::DoDeviceIdGetRequest
2699
+ def do_device_id_get(**args)
2700
+ @exchange.call(:"do", Messages::DoDeviceIdGetRequest, Messages::DoDeviceIdGetReply, args)
2701
+ end
2702
+ # Get list of DPLL devices (dump) or attributes of a single dpll device
2703
+ #
2704
+ #
2705
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2706
+ # @rbs (?id: ::Integer) -> ::Nl::Async::Future[Messages::DoDeviceGetReply]
2707
+ # @param [Hash] args
2708
+ # @option args [Integer] id
2709
+ # @return [Nl::Async::Future<Messages::DoDeviceGetReply>]
2710
+ # @see Messages::DoDeviceGetRequest
2711
+ def do_device_get(**args)
2712
+ @exchange.call(:"do", Messages::DoDeviceGetRequest, Messages::DoDeviceGetReply, args)
2713
+ end
2714
+ # Get list of DPLL devices (dump) or attributes of a single dpll device
2715
+ #
2716
+ #
2717
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2718
+ # @rbs () -> ::Nl::Async::Stream[Messages::DumpDeviceGetReply]
2719
+ # @param [Hash] args
2720
+ # @return [Nl::Async::Stream<Messages::DumpDeviceGetReply>]
2721
+ # @see Messages::DumpDeviceGetRequest
2722
+ def dump_device_get(**args)
2723
+ @exchange.call(:"dump", Messages::DumpDeviceGetRequest, Messages::DumpDeviceGetReply, args)
2724
+ end
2725
+ # Set attributes for a DPLL device
2726
+ #
2727
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2728
+ # @rbs (?id: ::Integer, ?mode: ::Integer, ?phase_offset_monitor: ::Integer, ?phase_offset_avg_factor: ::Integer, ?frequency_monitor: ::Integer) -> ::Nl::Async::Future[void]
2729
+ # @param [Hash] args
2730
+ # @option args [Integer] id
2731
+ # @option args [Integer] mode Known enum values are defined in {Enums::Mode}.
2732
+ # @option args [Integer] phase_offset_monitor Receive or request state of phase offset monitor feature. If enabled, dpll device shall monitor and notify all currently available inputs for changes of their phase offset against the dpll device.
2733
+ #
2734
+ # Known enum values are defined in {Enums::FeatureState}.
2735
+ # @option args [Integer] phase_offset_avg_factor Averaging factor applied to calculation of reported phase offset.
2736
+ # @option args [Integer] frequency_monitor Current or desired state of the frequency monitor feature. If enabled, dpll device shall measure all currently available inputs for their actual input frequency.
2737
+ #
2738
+ # Known enum values are defined in {Enums::FeatureState}.
2739
+ # @return [Nl::Async::Future<void>]
2740
+ # @see Messages::DoDeviceSetRequest
2741
+ def do_device_set(**args)
2742
+ @exchange.call(:"do", Messages::DoDeviceSetRequest, nil, args)
2743
+ end
2744
+ # Get id of a pin that matches given attributes
2745
+ #
2746
+ #
2747
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2748
+ # @rbs (?module_name: ::String, ?clock_id: ::Integer, ?board_label: ::String, ?panel_label: ::String, ?package_label: ::String, ?type: ::Integer) -> ::Nl::Async::Future[Messages::DoPinIdGetReply]
2749
+ # @param [Hash] args
2750
+ # @option args [String] module_name
2751
+ # @option args [Integer] clock_id
2752
+ # @option args [String] board_label
2753
+ # @option args [String] panel_label
2754
+ # @option args [String] package_label
2755
+ # @option args [Integer] type Known enum values are defined in {Enums::PinType}.
2756
+ # @return [Nl::Async::Future<Messages::DoPinIdGetReply>]
2757
+ # @see Messages::DoPinIdGetRequest
2758
+ def do_pin_id_get(**args)
2759
+ @exchange.call(:"do", Messages::DoPinIdGetRequest, Messages::DoPinIdGetReply, args)
2760
+ end
2761
+ # Get list of pins and its attributes.
2762
+ #
2763
+ # - dump request without any attributes given - list all the pins in the
2764
+ # system
2765
+ # - dump request with target dpll - list all the pins registered with
2766
+ # a given dpll device
2767
+ # - do request with target dpll and target pin - single pin attributes
2768
+ #
2769
+ #
2770
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2771
+ # @rbs (?id: ::Integer) -> ::Nl::Async::Future[Messages::DoPinGetReply]
2772
+ # @param [Hash] args
2773
+ # @option args [Integer] id
2774
+ # @return [Nl::Async::Future<Messages::DoPinGetReply>]
2775
+ # @see Messages::DoPinGetRequest
2776
+ def do_pin_get(**args)
2777
+ @exchange.call(:"do", Messages::DoPinGetRequest, Messages::DoPinGetReply, args)
2778
+ end
2779
+ # Get list of pins and its attributes.
2780
+ #
2781
+ # - dump request without any attributes given - list all the pins in the
2782
+ # system
2783
+ # - dump request with target dpll - list all the pins registered with
2784
+ # a given dpll device
2785
+ # - do request with target dpll and target pin - single pin attributes
2786
+ #
2787
+ #
2788
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2789
+ # @rbs (?id: ::Integer) -> ::Nl::Async::Stream[Messages::DumpPinGetReply]
2790
+ # @param [Hash] args
2791
+ # @option args [Integer] id
2792
+ # @return [Nl::Async::Stream<Messages::DumpPinGetReply>]
2793
+ # @see Messages::DumpPinGetRequest
2794
+ def dump_pin_get(**args)
2795
+ @exchange.call(:"dump", Messages::DumpPinGetRequest, Messages::DumpPinGetReply, args)
2796
+ end
2797
+ # Set attributes of a target pin
2798
+ #
2799
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2800
+ # @rbs (?id: ::Integer, ?direction: ::Integer, ?frequency: ::Integer, ?prio: ::Integer, ?state: ::Integer, ?parent_device: ::Array[(AttributeSets::PinParentDevice | ::Hash[::Symbol, untyped])], ?parent_pin: ::Array[(AttributeSets::PinParentPin | ::Hash[::Symbol, untyped])], ?phase_adjust: ::Integer, ?esync_frequency: ::Integer, ?reference_sync: ::Array[(AttributeSets::ReferenceSync | ::Hash[::Symbol, untyped])]) -> ::Nl::Async::Future[void]
2801
+ # @param [Hash] args
2802
+ # @option args [Integer] id
2803
+ # @option args [Integer] direction Known enum values are defined in {Enums::PinDirection}.
2804
+ # @option args [Integer] frequency
2805
+ # @option args [Integer] prio
2806
+ # @option args [Integer] state Known enum values are defined in {Enums::PinState}.
2807
+ # @option args [Array<AttributeSets::PinParentDevice, Hash<Symbol, Object>>] parent_device
2808
+ # @option args [Array<AttributeSets::PinParentPin, Hash<Symbol, Object>>] parent_pin
2809
+ # @option args [Integer] phase_adjust
2810
+ # @option args [Integer] esync_frequency Frequency of Embedded SYNC signal. If provided, the pin is configured
2811
+ # with a SYNC signal embedded into its base clock frequency.
2812
+ # @option args [Array<AttributeSets::ReferenceSync, Hash<Symbol, Object>>] reference_sync Capable pin provides list of pins that can be bound to create a
2813
+ # reference-sync pin pair.
2814
+ # @return [Nl::Async::Future<void>]
2815
+ # @see Messages::DoPinSetRequest
2816
+ def do_pin_set(**args)
2817
+ @exchange.call(:"do", Messages::DoPinSetRequest, nil, args)
2818
+ end
2819
+ end
2820
+ # Returns the asynchronous operation facade for this family.
2821
+ # @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
2822
+ # @param [::Integer, nil] stream_capacity
2823
+ # @return [AsyncOperations]
2824
+ def async(stream_capacity: nil)
2825
+ return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
2826
+ build_async_facade(AsyncOperations, stream_capacity:)
2827
+ end
2828
+ # @rbs (*(:monitor) groups) -> self
2829
+ # @param [Array<:monitor>] groups
2830
+ # @return [self]
2831
+ def subscribe(*groups) = super
2832
+ # @rbs (*(:monitor) groups) -> self
2833
+ # @param [Array<:monitor>] groups
2834
+ # @return [self]
2835
+ def unsubscribe(*groups) = super
1010
2836
  end
1011
2837
  end; end